调用 DBMS_MVIEW.REFRESH 获取其他模式的物化视图的权限

Privilege to call DBMS_MVIEW.REFRESH for a materialized view of an other schema

我目前正在尝试使用其他模式 (MYSCHEMA_DML) 刷新模式 MYSCHEMA 的物化视图。当我尝试调用

BEGIN DBMS_MVIEW.REFRESH('MYSCHEMA.MV_MYVIEW');END;

我的输出中出现以下错误:

ORA-06512: à "SYS.DBMS_SNAPSHOT_KKXRCA", ligne 3020
ORA-06512: à "SYS.DBMS_SNAPSHOT_KKXRCA", ligne 2432
ORA-06512: à "SYS.DBMS_SNAPSHOT_KKXRCA", ligne 88
ORA-06512: à "SYS.DBMS_SNAPSHOT_KKXRCA", ligne 253
ORA-06512: à "SYS.DBMS_SNAPSHOT_KKXRCA", ligne 2413
ORA-06512: à "SYS.DBMS_SNAPSHOT_KKXRCA", ligne 2976
ORA-06512: à "SYS.DBMS_SNAPSHOT_KKXRCA", ligne 3263
ORA-06512: à "SYS.DBMS_SNAPSHOT_KKXRCA", ligne 3295
ORA-06512: à "SYS.DBMS_SNAPSHOT", ligne 16
ORA-06512: à ligne 1
01031. 00000 -  "insufficient privileges"
*Cause:    An attempt was made to perform a database operation without
           the necessary privileges.
*Action:   Ask your database administrator or designated security
           administrator to grant you the necessary privileges

我的用户对该视图具有以下权限:

显然,这还不够 :( 我做了一些研究,我发现为进行刷新而添加的唯一权限似乎是

GRANT ALTER ANY MATERIALIZED VIEW to MYSCHEMA_DML;

这似乎有点过分了。我可以授予我的用户任何其他权限以刷新我的视图吗?

问题已解决,感谢@MarmiteBomber:

我已经在我的第一个模式 MYSCHEMA 中创建了一个过程

create or replace procedure REFRESH_MV_MYVIEW
 as
 begin
 DBMS_MVIEW.REFRESH('MYSCHEMA.MV_MYVIEW');
 end;

然后为 MYSCHEMA2 授予执行权限。

但是。由于物化视图的查询在另一个模式上进行 select,我不得不明确地向用户 MYSCHEMA 授予 SELECT(他只有一个角色的权限)