(LOCAL=NO)
TNS for HPUX: Version 11.2.0.3.0 - Production
Oracle Bequeath NT Protocol Adapter for HPUX: Version 11.2.0.3.0 - Production
TCP/IP NT Protocol Adapter for HPUX: Version 11.2.0.3.0 - Production
Time: 19-OCT-2014 20:24:16
Tracing not turned on.
Tns error struct:
ns main err code: 12537
TNS-12537: TNS:connection closed
ns secondary err code: 12560
nt main err code: 0
nt secondary err code: 0
nt OS err code: 0
opiodr aborting process unknown ospid (2734) as a result of ORA-609
Sun Oct 19 21:27:24 2014
***********************************************************************
由于ORA-609的缘故,ospid(xxxx)进程被aborting了,同时还伴随着TNS-12537的错误,连接关闭
Information in this document applies to any platform.
ORA-609意味着不能通过监听把它附加到即将到来的连接上,因此服务器进程被终止(关闭)
TNS-12537: TNS:connection closed.
Basically the dedicated process didn't have a client connection anymore to work with.
Client initiates a connection to the database so it connects to the listenerListener starts (fork) a dedicated database process that will receive this connection (session)After this dedicated process is started, the listener passes the connection from the client to this processThe server process takes the connection from the listener to continue the handshake with the clientServer process and client exchange information required for establishing a session (ASO, Two Task Common, User logon)Session is opened
In the case of the above error the connection from the client was closed somewhere between 3. and 4. So when the dedicated process tries to communicate with the client it finds that connection closed.
鉴于以上的错误,在第3步与第4步之间时,客户端连接就关闭了,此时当专有进程尝试与客户端连接时,发现连接已经关闭了
To determine the client which hit this problem we can try to match the timestamp of the error from alert log with an entry in listener.log, but this might be difficult in case of a loaded listener with many incoming connections per second.
Server sqlnet trace will not provide any information about the client.
去确定碰到问题的client,我们可以尝试去匹配alert日志中错误发生的时间戳并且在监听日志中也有相应的条目,但当加载的监听每秒有许多连接的时候是非常困难去判断的,服务器sqlnet的trace不会提供任何该客户端的信息
We can enable sqlnet server trace to catch the error (the match is done based on the ospid found in sqlnet server trace file name and the line with ORA-609 error):
client changed its mind and closed the connection immediately after initiating it client crashed firewall kills the connection some oracle timeout set on client解决方案:
Because the entry from listener.log contains only CONNECT_DATA and CID related information we need to check the client configuration for any sqlnet timeouts:
possible timeouts in sqlnet.ora in client oracle home: sqlnet.outbound_connect_time
sqlnet.recv_timeout
sqlnet.send_timeout
tcp_connect_timeout
————————————————
版权声明:,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。