同一个数据库实例下面的两个用户(A、B),能互相访问;
现在想通过A用户下面的链路DLK_A_B获取B用户下的同义词SEQ_B_ID(远程的一个序列,在其它用户下)的nextval以前的写法(连接到A),能正常获取:
select SEQ_B_ID.nextval@DLK_A_B from dual;今天突然执行上述语句不能正常执行,在sqlplus环境下半天没有返回?
测试过DLK_A_B(连接到A)和SEQ_B_ID(连接到B),都是正常的,没有问题于是改成了下面的写法(连接到A),就能正常获取了:
select B.SEQ_B_ID.nextval from dual;请问各位老大,是哪方面的配置或者其它问题引起select SEQ_B_ID.nextval@DLK_A_B from dual语句不能正常执行?

解决方案 »

  1.   

    同一个数据库下面没必要建dblink吧。
    select B.SEQ_B_ID.nextval from dual;这种是正确的。
    b访问这个序列的时候需要通过链路。A和B之间没有必要建链路。
      

  2.   

    楼上老大,我同意你的看法,因为一些历史问题就建了链路我现在主要是想搞清楚为什么select SEQ_B_ID.nextval@DLK_A_B from dual语句突然执行不了?谢谢
      

  3.   

    没反应?也没提示?
    查查系统表,看看link和同义词的状态。
    还有,同一个数据库下,最好别使用link,link会增加一次解析过程。