我有两个数据库HB和DSHB . 我正在尝试在DSHB模式中创建REFRESH FAST ON DEMAND物化视图,其中HB是使用dblink和以下代码的远程模式,

CREATE materialized view MV_HB_SYSTEM
BUILD IMMEDIATE
REFRESH FAST
ON DEMAND
WITH PRIMARY KEY
AS 
SELECT DELETED, SYS_NO FROM HB.HB_SYSTEM@HBLINK;

但在创作中遇到以下错误,

SQL Error: ORA-12018: following error encountered during code generation for "HB"."MV_HB_SYSTEM"
ORA-00942: table or view does not exist

但在运行查询“SELECT DELETED,SYS_NO FROM HB.HB_SYSTEM@HBLINK;”在单独的连接工作完美 .

我还使用以下代码创建了物化视图日志,CREATE实体化视图登录HB_SYSTEM;

我在一些论坛中发现需要授予物化视图日志的SELECT权限,如下所述,

GRANT SELECT ON MLOG$_<tableName> to DSHB;

其中DSHB是将访问日志的帐户(即通过db链接) .

但是当我从HB模式运行此命令时,我收到错误,指出DSHB用户或角色在HB中不可用,并且我无法在HB模式中的物化视图日志上授予SELECT . 是否可以直接从远程模式向dblink授予SELECT权限?我的意思是类似下面的HB模式查询 . 我试过但没有工作 .

GRANT SELECT ON MLOG$_<tableName> to HB.HB_SYSTEM@HBLINK;

请建议如何解决ORA-00942错误并创建REFRESH FAST ON DEMAND物化视图 .