dblink连接到远程服务端有时会出现连接不上

2023年 8月 18日 36.7k 0

问题描述

在本地库建立dblink连接到远程另一个库后,在本地查询远程库数据时,长时间没有执行过远程查询,会出现连接不上的报错问题。

ERROR at line 1:
ORA-03113: end-of-file on communication channel
Process ID: 29522
Session ID: 15 Serial number: 447

解决方法

由于禁用连接过期检测功能,连接出现僵死。可通过配置 sqlnet.ora 的SQLNET.EXPIRE_TIME参数来检与客户端连接是否仍然有效。

SQLNET.EXPIRE_TIME

该参数表示在多长时间内(单位为:分钟)应周期性地向客户端发送探测包(probe packet)来验证连接是否仍然活动。如果在指定的时间范围内未收到客户端的响应,数据库会认为连接已经失效,并终止该连接。SQLNET.EXPIRE_TIME的默认值是0,表示禁用连接过期检测功能。如果将其设置为非零值,表示启用连接过期检测功能,并定义了探测包发送的时间间隔,建议设置为:10分钟。

修改sqlnet.ora 参数

cd /u01/app/oracle/product/11.2.0.4/db_1/network/admin
vi sqlnet.ora

在文件的最下面添加以下内容:

SQLNET.EXPIRE_TIME=10

刷新监听配置

lsnrctl reload

相关文章

Oracle如何使用授予和撤销权限的语法和示例
Awesome Project: 探索 MatrixOrigin 云原生分布式数据库
下载丨66页PDF,云和恩墨技术通讯(2024年7月刊)
社区版oceanbase安装
Oracle 导出CSV工具-sqluldr2
ETL数据集成丨快速将MySQL数据迁移至Doris数据库

发布评论