查看报警日志,发现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 ,表示永不超时,但会导致系统资源被独占从而带来系统负载压力.
用户必须遵守《计算机软件保护条例(2013修订)》第十七条:为了学习和研究软件内含的设计思想和原理,通过安装、显示、传输或者存储软件等方式使用软件的,可以不经软件著作权人许可,不向其支付报酬。鉴于此条例,用户从本平台下载的全部源码(软件)教程仅限学习研究,未经版权归属者授权不得商用,若因商用引起的版权纠纷,一切责任均由使用者自行承担,本平台所属公司及其雇员不承担任何法律责任。
暗黑源码库 » TNS-12547: TNS:lost contact