通过链路取序列值有问题?

handsomeduke 2007-09-19 10:38:12
同一个数据库实例下面的两个用户(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语句不能正常执行?
...全文
139 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
handsomeduke 2007-09-21
  • 打赏
  • 举报
回复
回答楼上,确实没有任何反应,就一直是执行状态
链路和同义词单独用都是正常的

解决的方法倒是简单,重启数据库就行了,但是由于这个库有十多个应用系统在用,重启的过程也麻烦。所以就想问一下有没有比较简单处理问题的办法,免得下次出现这种问题又要重启数据库。哈哈
wffffc 2007-09-19
  • 打赏
  • 举报
回复
同义词丢了?
handsomeduke 2007-09-19
  • 打赏
  • 举报
回复
楼上老大,我同意你的看法,因为一些历史问题就建了链路

我现在主要是想搞清楚为什么select SEQ_B_ID.nextval@DLK_A_B from dual语句突然执行不了?谢谢
kinglht 2007-09-19
  • 打赏
  • 举报
回复
同一个数据库下面没必要建dblink吧。
select B.SEQ_B_ID.nextval from dual;这种是正确的。
b访问这个序列的时候需要通过链路。A和B之间没有必要建链路。
jdsnhan 2007-09-19
  • 打赏
  • 举报
回复
没反应?也没提示?
查查系统表,看看link和同义词的状态。
还有,同一个数据库下,最好别使用link,link会增加一次解析过程。

17,377

社区成员

发帖
与我相关
我的任务
社区描述
Oracle 基础和管理
社区管理员
  • 基础和管理社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧