当前位置:  数据库>oracle

ORA-609 错误分析及解决方法

    来源: 互联网  发布时间:2017-06-12

    本文导语: 某个客户数据库在巡检的时候发现alert日志里不定期会出现ORA-609错误,大致内容如下: *********************************************************************** Fatal NI connect error 12537, connecting to: (LOCAL=NO)   VERSION INFORMATION:TNS for HPUX: Version 11.2.0.3.0 ...

某个客户数据库在巡检的时候发现alert日志里不定期会出现ORA-609错误,大致内容如下:

***********************************************************************

Fatal NI connect error 12537, connecting to:
 (LOCAL=NO)


  VERSION INFORMATION:
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的错误,连接关闭

去MOS搜了一圈,正好有篇文档是针对这个错误的,下面是描述:

适用于:

Oracle Net Services - Version 11.2.0.1 to 11.2.0.3 [Release 11.2]
Information in this document applies to any platform.

症状:

alert日志出现以上类似的内容(略)

变化:

Changes in database server load, client connect descriptor, changes in network infrastructure (firewall configuration).

原因:

首先,这个“opiodr aborting process unknown ospid (2734) as a result of ORA-609”消息仅仅是说明了由于ORA-609,使Oracle数据库专用进程被关闭了

来看一段描述:

ORA-609 means  "could not attach to incoming connection" so the database process was 'aborted' (closed) because it couldn't attach to the incoming connection passed to it by the listener.

ORA-609意味着不能通过监听把它附加到即将到来的连接上,因此服务器进程被终止(关闭)

The reason for this is found in the sqlnet error stack, in our case is:
  TNS-12537: TNS:connection closed.
Basically the dedicated process didn't have a client connection anymore to work with.

客户端连接有6个步骤:

Client initiates a connection to the database so it connects to the listener
Listener 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 process
The server process takes the connection from the listener to continue the handshake with the client
Server 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):

还可以启用sqlnet server的trace中抓取到ORA-609错误,匹配成功基于sqlnet server trace文件名和ORA-609错误信息中的ospid


nscon: doing connect handshake...
    nscon: recving a packet
    nsprecv: entry
    nsprecv: reading from transport...
    nttrd: entry
    nttrd: exit
    ntt2err: entry
    ntt2err: Read unexpected EOF ERROR on 15   


    
 
 

您可能感兴趣的文章:

  • 出现ORA-01401和ORA-01008错误?
  • Eclipse连接Oracle数据库的ORA-00604 ORA-12705错误
  • oracle ORA-01114、ORA-27067错误解决方法
  • Oracle不能删除表 ORA-00604 ORA-01422 错误
  • ORA-12514及ORA-28547错误解决方案
  • plsql连接oracle数据库报ora 12154错误解决方法
  • oracle 11g导出数据时报ORA 1455错误的处理方法
  • Oracle 数据库闪回功能设置出现ORA-19809和ORA-19804错误
  • 为什么我读取数据库时出现:ORA-00600: 内部错误代码,参数: [ttcgcshnd-1], [0], [],错误?
  • ORACLE出现错误1033和错误ORA-00600的解决方法
  • Linux 下数据库oracle出现ORA-27102错误的解决办法
  • PHP连接Oracle错误ORA-24324服务句柄未初始化的解决方法
  • Orcle的package中访问其它Schema的表报错ORA-00942解决方法
  • oracle远程连接服务器出现 ORA-12170 TNS:连接超时 解决办法
  • 解决报错ora-32035的方法分析
  • 基于ORA-12170 TNS 连接超时解决办法详解
  • 安装oracle出现error:ora-01031:insufficient privilleges的解决
  • zilong28提问:Tomcat3.2报错内容是Error occurs when connecting DB: ORA-00020: maximum number of processes(59) exceeded 我应该如何解决,先谢了
  • ORA-28002 Oracle 11g存在密码过期问题解决方案
  • Oracle ORA-22908(NULL表值的参考)异常分析与解决方法
  • 如何解决ORA-01843与NLS_DATE_FORMAT问题
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • 如何得到带有ora的行的下一行
  • 如何配置 linux 下 oracle 的 listener .ora 和
  • 浅析如何在tnsnames.ora中配置监听
  • [Oracle] 浅析令人抓狂的ORA-01555问题
  • aq.executeQuery: ORA-00020: maximum number of processes (59) exceeded
  • ORA-00947:Not enough values (没有足够的值)的深入分析
  • solaris10 安装 ora9.2.0.1 时报错
  • 在UNIX下,我的ORA817该怎么样才可以自己启动呀?
  • 谁能帮忙解释一下: ORA-01000 : maximun open cursors exceeded
  • 关于Oracle游标的问题(ORA-01000: maximum open cursors exceeded)
  • 我在Linux7。3下面装了一个Oracle8i,但是现在启动不起来了,总是报错ORA-01031: insufficient privileges
  • oracle报错(ORA-00600)问题处理
  • Oracle 10g之ORA-32004问题
  • 在客户端配置TNS测试报错ORA-12170:TNS:连接超时


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,