ORA-609 进程被终止
更新时间: 2022-01-15 16:50
查看报警日志,发现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
Listener.ora: INBOUND_CONNECT_TIMEOUT_listener_name=120
修改完成后,执行lsnrctl reload指令,不用重启监听
注意:假如INBOUND_CONNECT_TIMEOUT值设置为0 ,表示永不超时,但会导致系统资源被独占从而带来系统负载压力.