关于DB_LINK的相关的一个程序异常

场景

1、三个数据库用户NSTCSA1482NSTCSA1481NSTCSA1483,两个用户使用的是DB_LINK建立联系。

2NSTCSA1481用户理解成业务子系统用到的其中一个用户,在此用户下有一些存储过程通过DBLINK使用到NSTCSA1482用户下的对象(如:表、函数、过程)。

3NSTCSA1482用户同样也有对象使用NSTCSA1481上的内容。

4、这样系统正常一段时间后因为有其它业务要求,需要用NSTCSA1483替代掉NSTCSA1482,也就是说NSTCSA1481DBLINK连接应该改成了NSTCSA1483,这样问题就出现了。

4、异常信息如下:

异常信息

 

问题解决

1、此问题刚一出现我们的直接反应就是数据库那块有什么缓存之类的东西。

2、因为不允许重启数据库,尝试把此DBLINK删除掉,再次触发此应用,这时异常信息变为缺少DBLINK

3、重建DBLINK,异常信息还和以前一致,这时分析可能与DBLINK相关的对象有关系。

4、尝试重新编译与此DB_LINK相关的函数和过程,至此问题解决。

 

总结

1、修改DBLINK时需要重新编译与些DBLINK相关的过程/函数。

2、至于数据库重启后是否直接就恢复正常,并没有再做与此相关的工作。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值