首页 > 其他 > 详细

MV做成时,发生ORA-12018与ORA-00942错误

时间:2014-03-05 08:29:51      阅读:912      评论:0      收藏:0      [点我收藏+]



先吐槽一下,不知道开发的人怎么想的。非要在不DBLINK关系的用户间,做一个MV。


其实,发生上面的问题的原因是很简单的,听完他们的想法,之后1分钟就搞定了。

开发组现在的机器上有一个DBLINK。两边都已经设定了。现在的想法是想把主表一侧的另一个

用户(u01.test01)的表,作为主表,做一个MV。


但这时就有一个问题,就是这个用户不在这个DBLINK中。

需要给它授权,开发组的人中把下面的权限受给DBLINK的用户(u02)了。

grant select on u01.test01 to u02;


其实,正常做成MV时,应该把使用的表(test01)及与其相关的log表的权限都受给

DBLINK用户(u02)。


解决方法:

就是把log表的权限也给了DBLINK用户(u02)。


検証結果:

--解决方法的命令执行前

SQL> create materialized view mv04 refresh fast as select * from test02.tab04@cn11;

create materialized view mv04 refresh fast as select * from test02.tab04@cn11

                                                                  *

行1でエラーが発生しました。:

ORA-12018: "CN31TEST"."MV04"のコード生成中に次のエラーが発生しました。

ORA-00942:表またはビューが存在しません。


--解决方法实施后

SQL> create materialized view mv04 refresh fast as select * from test02.tab04@cn11;


マテリアライズドビューが作成されました。


MV做成时,发生ORA-12018与ORA-00942错误,布布扣,bubuko.com

MV做成时,发生ORA-12018与ORA-00942错误

原文:http://8373068.blog.51cto.com/8363068/1367475

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!