暂无图片
分享
枫叶
2021-07-07
运行存储过程,调用dblink,报错ORA-02050:ORA-03135;ORA-02063

A库(11.2.0.4,单实例,linux6.5)应用程序定时执行存储过程,该存储过程会调用dblink,链接到B库(11.2.0.4 RAC AIX);
该存储过程,dblink到B库,有时候通,有时候不通;
通的时候,执行就几秒;不通时,900多秒后,报错;
ORA-03135: connection lost contact
ORA-02063: preceding line from GSDB
mos查询后,修改了A库的open_links参数,默认值为4,改成了20;
B库的open_links还是默认值4;
但是,定时执行该存储过程,还是如上图所示,时通,时不通;
如果手工执行该存储过程,则正常,执行好多次,从来都不报错;
开发也修改了存储过程,加上了执行完成后,关闭dblink的语句;
11.png
17.png

收藏
分享
4条回答
默认
最新
枫叶
升级问题到: 紧急故障
暂无图片 评论
暂无图片 有用 0
cqiwen

这个要排查很多方面。比如:
1,你的网络稳定性,是否连接时断时续
2,你显式关闭dblink是怎样关的,确定关掉了吗?在源端还是在目标端关的呢?
3,目标端设置的IDLE_TIME是多少

暂无图片 评论
暂无图片 有用 0
枫叶

1,常ping对端服务器,没有丢包现象;网络正常;

2,显式关闭dblink,写在存储过程中了;

3,目标端设置的IDLE_TIME是unlimited;

SQLNET.EXPIRE_TIME参数设置为1,自动执行存储过程正常了;
之前将该参数设置为15,10,都没有效果;最后调整成1分钟了;就正常了;
估计还是防火墙那边有策略调整,可能取消的长连接之类;

暂无图片 评论
暂无图片 有用 3
枫叶
问题已关闭: 问题已经得到解决
暂无图片 评论
暂无图片 有用 0
回答交流
提交
问题信息
请登录之后查看
邀请回答
暂无人订阅该标签,敬请期待~~
暂无图片墨值悬赏