查看报警日志,发现TNS-12547不定时出现,其后紧跟ORA-609报错,如下: TNS-12547: TNS:lost contact ns secondary err code: 12560 nt main err code: 0 nt secondary err code: 0 nt OS err code: 0 opiodr aborting process unknownospid (1552) as a result of ORA-609 Tue Dec 07 16:08:46 2021 造成这种异常的原因为数据库的INBOUND_CONNECT_TIMEOUT参数设置的默认时间60秒太短,导致业务访问数据库时间一旦超过默认时间,连接进程就会被kill掉,也就是opiodr aborting,ORA-609错误就会被记录到alert文件中,不过这种异常不会导致服务异常. 解决此问题的方式可以增加参数INBOUND_CONNECT_TIMEOUT值,在Sqlnet.ora、Listener.ora两个文件中分别添加: Sqlnet.ora:SQLNET.INBOUND_CONNECT_TIMEOUT=180
Listener.ora: INBOUND_CONNECT_TIMEOUT_listener_name=120 修改完成后,执行lsnrctl reload指令,不用重启监听 注意:假如INBOUND_CONNECT_TIMEOUT值设置为0 ,表示永不超时,但会导致系统资源被独占从而带来系统负载压力.
|