暂无图片
dblink超时问题
我来答
分享
cqiwen
2021-04-22
dblink超时问题

oracle数据库日志中偶尔报错:

Thu Apr 22 13:53:18 2021
Error 2396 trapped in 2PC on transaction 11.20.4427509. Cleaning up.
Error stack returned to user:
ORA-02396: 超出最大空闲时间, 请重新连接
ORA-02063: 紧接着 line (起自 LINK_EHOO)

注:(1)link_ehoo是配置的一个public dblink。其大概内容为:(DESCRIPTION =(ADDRESS_LIST =(ADDRESS =(PROTOCOL = TCP)(HOST = XXXXXX)(PORT = 1521)))(CONNECT_DATA =(SERVICE_NAME = orcl)))

(2)我检查目标数据库上user_profile中的 IDLE_TIME 是 UNLIMITED。
我直接连接到目标数据库(不通过dblink)不会出现过几分钟连接就断开的情况。

我在其它oracle主机上配置相同的dblink,做查询后,如果几分钟内不再使用这个dblink进行查询,等几分钟后再用到dblink查询时,客户端就无响应,过很长时间才会收到提示,说超出最大空闲时间。

问:有没有专门设置dblink超时的参数?

我来答
添加附件
收藏
分享
问题补充
5条回答
默认
最新
侯志清

可以尝试启动DCD
sqlnet.ora文件中添加sqlnet.timeout=xMin

暂无图片 评论
暂无图片 有用 0
打赏 0
cqiwen

在sqlnet.ora中也尝试过的,没有作用。
我想问下有没有可能是其它什么原因导致的dblink连接卡死呢?

暂无图片 评论
暂无图片 有用 0
打赏 0
付才魁

查查是否和防火墙有关

暂无图片 评论
暂无图片 有用 0
打赏 0
cqiwen

用的是阿里云ECS服务器。如果是防火墙问题,为什么我直接远程连接到数据库没有问题呢?只有dblink在几分钟不操作后,再次访问就会卡住

暂无图片 评论
暂无图片 有用 0
打赏 0
侯志清

可以测试每次执行了DBLINK后执行rollback 或者commit。 等几分钟后再次执行看看。最大可能是防火墙会中断非活动的TCP连接。

暂无图片 评论
暂无图片 有用 0
打赏 0
回答交流
Markdown


请输入正文
提交
相关推荐
创建远程数据库调度程序作业有什么要求?
回答 2
已采纳
A
库高速缓存和 数据缓冲区有 什么区别?
回答 2
已采纳
buffer偏重于写,而cache偏重于读,感觉有一些类似;缓冲:缓解冲击,缓存:临时存储缓冲区:高速设备与低速设备缓冲区域,性能差异缓存区:一个数据存放位置,比如内存中开辟一个区域存放数据,当执行程
Oracle 用 forall 批量处理时候,不支持远程dblink ,有什么办法?
回答 1
具体报什么错呢?好像没听说不支持DBLINK吧。
SUSE15安装oracle21c,报错Error in invoking target……
回答 3
compatlibpthreadnonshared包到哪里可以下载?
物化视图可以定时刷新吗?
回答 1
你可以在以下篇文章中查看有关创建物化视图时指定刷新参数的各个细粒度解释,这应该可以解答你的问题,链接见下:https://docs.oracle.com/cd/E1188201/server.112/
现在用rpm方式安装Oracle,默认的安装路径是/opt下,但df -h又看不到/opt目录,但能cd /opt进去,这是为什么?
回答 3
df不能看到/opt,使用为他是用的/空间df看到的是/opt,说明你分配了opt独占空间,不占用/的空间。具体建议你还需要看看linux基础知识!
oracle的存储过程在什么情况下,可以省略declare?
回答 3
已采纳
使用declare或begin关键字开头的叫匿名块,每次使用均需要进行编译,不能存储在数据库中且不能被其他PL/SQL调用。而存储过程,存储函数,触发器等叫命名块,一经编译后面就可直接调用,且可以存储
Oracle 数据库很慢,怎么处理?
回答 8
1查看资源情况,看是CPU内存还是IO问题 2导出AWR,进一步分析,是突发业务引起负载太高还是存在慢SQL引起负载高 4针对性优化
unity连接不上Oracle,但是plsq数据库能连接,怎么处理?
回答 1
连接不上错误要发出来,才能分析
Oracle 19c rac 修改max_string_size参数报错ORA-02097
回答 4
可以了谢谢