Oracle常見(jiàn)問(wèn)題 ORA-609 進(jìn)程被終止
查看報(bào)警日志,發(fā)現(xiàn)TNS-12547不定時(shí)出現(xiàn),其后緊跟ORA-609報(bào)錯(cuò),如下:
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
造成這種異常的原因?yàn)閿?shù)據(jù)庫(kù)的INBOUND_CONNECT_TIMEOUT參數(shù)設(shè)置的默認(rèn)時(shí)間60秒太短,導(dǎo)致業(yè)務(wù)訪問(wèn)數(shù)據(jù)庫(kù)時(shí)間一旦超過(guò)默認(rèn)時(shí)間,連接進(jìn)程就會(huì)被kill掉,也就是opiodr aborting,ORA-609錯(cuò)誤就會(huì)被記錄到alert文件中,不過(guò)這種異常不會(huì)導(dǎo)致服務(wù)異常.
解決此問(wèn)題的方式可以增加參數(shù)INBOUND_CONNECT_TIMEOUT值,在Sqlnet.ora、Listener.ora兩個(gè)文件中分別添加:
Sqlnet.ora:SQLNET.INBOUND_CONNECT_TIMEOUT=180
Listener.ora: INBOUND_CONNECT_TIMEOUT_listener_name=120
修改完成后,執(zhí)行l(wèi)snrctl reload指令,不用重啟監(jiān)聽(tīng)
注意:假如INBOUND_CONNECT_TIMEOUT值設(shè)置為0 ,表示永不超時(shí),但會(huì)導(dǎo)致系統(tǒng)資源被獨(dú)占從而帶來(lái)系統(tǒng)負(fù)載壓力.
