客户方提供了一个视图给我进行查询,我在自己数据库建了一个Database Link进行链接查询。结果查询的时候发现报错:
ORA-02068: following servere error from CZDPT
ORA-00600: internal error code, arguments:...............
ORA-02063: 紧接着2 lines(起自 DBLNK_CZQB).     首先我建的链接DBLNK_CZQB是正确的,客户方提供的别的视图都能正常查阅。这次提供的视图VIEW_TEST不行,查阅了下VIEW_TEST,发现这个视图本身就是链接别的数据库创建的,也用的数据库链接CZDPT。     请问碰到这种情况,我该如何做桥梁来链接呢?急啊

解决方案 »

  1.   

    测试了下dblink嵌套的情况,没发现问题.你问问对方看是否是他们使用的dblink出现了问题
      

  2.   

    不可以的,我刚才试了下
    对方对这个视图的操作权限是基于上一个DBlink中的USER的权限的,对方在操作视图的时候view@***其实是调用他的DBlink用户权限,本身并没有这个视图的权限,你新建的DBLINK是引用的对方提供的中间那一层的用户权限,实际是没有对前一个用户的权限的,让他们把这个视图同步到上个数据库吧
      

  3.   

    没发现问题啊,我从a访问b的视图,b的视图是基于c的表.所以也是跨两个dblink,但是能正常查询
      

  4.   

    就是不行啊...我grant select on table_a to GYA ,GYA是数据库A用户然后数据库B 用户GYB,建立与A的DBlink,使用的用户是GYA建立的,名字是adata,select * from table_a@adata成功了然后数据库C 用户GBC 建立与B的DBlink,使用的用户是GYB建立的,名字是bdata,select * from table_a@bdata报错了,表或视图不存在
      

  5.   

    跨DBLINK还真的没有试过,不过之前帖子好像也是有问题的,
      

  6.   

    --101
    CREATE PUBLIC DATABASE LINK to_205 CONNECT TO tds IDENTIFIED BY wellhope USING '172.16.90.205:1521/orcl';create view ttttt_1 as
    select * from info_user@to_205;
    --从102访问101上的view
    CREATE PUBLIC DATABASE LINK to_101 CONNECT TO tds IDENTIFIED BY wellhope USING '172.16.90.101:1521/orcl';
    SQL> select count(*) from ttttt_1@to_101;
     
      COUNT(*)
    ----------
          1827
     
    SQL> 
      

  7.   

    哦,这个视图是101的,我试了一下在101上建205的视图,再建101的DBlink可以查询到,不好意思,没看清题目
      

  8.   


    是不是都要创建public链接呢?