Oracle数据库数据恢复、性能优化

找回密码
注册
搜索
热搜: 活动 交友 discuz
发新帖

164

积分

0

好友

16

主题
1#
发表于 2012-3-9 17:57:49 | 查看: 10157| 回复: 3
t3-2 二台rac一段时间二节点都会报下面12547错误,请问大师是什么原因?这是致命的么?还是可以忽略...

Thread 2 advanced to log sequence 85231 (LGWR switch)
  Current log# 4 seq# 85231 mem# 0: +ORADATA/tjmchis/onlinelog/group_4.258.770934465
  Current log# 4 seq# 85231 mem# 1: +ORAARCH/tjmchis/onlinelog/group_4.98801.770934467
Mon Feb 20 15:31:01 2012
Archived Log entry 154207 added for thread 2 sequence 85230 ID 0xf6470f0 dest 1:
Mon Feb 20 15:31:02 2012
LNS: Standby redo logfile selected for thread 2 sequence 85231 for destination LOG_ARCHIVE_DEST_2
Mon Feb 20 15:32:52 2012

***********************************************************************
Fatal NI connect error 12547, connecting to:
(LOCAL=NO)
  VERSION INFORMATION:
TNS for Solaris: Version 11.2.0.2.0 - Production
Oracle Bequeath NT Protocol Adapter for Solaris: Version 11.2.0.2.0 - Production
TCP/IP NT Protocol Adapter for Solaris: Version 11.2.0.2.0 - Production
  Time: 20-2月 -2012 15:32:52
  Tracing not turned on.
  Tns error struct:
    ns main err code: 12547
   
TNS-12547: TNS: 丢失连接
    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 (9614) as a result of ORA-609
Mon Feb 20 15:35:50 2012
Thread 2 advanced to log sequence 85232 (LGWR switch)
  Current log# 6 seq# 85232 mem# 0: +ORADATA/tjmchis/onlinelog/group_6.362.770935443
  Current log# 6 seq# 85232 mem# 1: +ORAARCH/tjmchis/onlinelog/group_6.98787.770935445
Mon Feb 20 15:35:51 2012
Archived Log entry 154209 added for thread 2 sequence 85231 ID 0xf6470f0 dest 1:
Mon Feb 20 15:35:51 2012
LNS: Standby redo logfile selected for thread 2 sequence 85232 for destination LOG_ARCHIVE_DEST_2
Mon Feb 20 15:40:11 2012
Thread 2 advanced to log sequence 85233 (LGWR switch)
  Current log# 3 seq# 85233 mem# 0: +ORADATA/tjmchis/onlinelog/group_3.265.770934461
  Current log# 3 seq# 85233 mem# 1: +ORAARCH/tjmchis/onlinelog/group_3.98800.770934463
2#
发表于 2012-3-9 18:18:33
Fatal NI connect error 12547, connecting to         一般不影响应用的话 可以忽略该错误

回复 只看该作者 道具 举报

3#
发表于 2012-3-9 21:14:13
ODM Fingding:
  1. ORA-609 TNS-12537 and TNS-12547 in 11g Alert.log

  2. Applies to:
  3. Oracle Net Services - Version: 11.1.0.6.0 to 11.2.0.3 - Release: 11.1 to 11.2
  4. Information in this document applies to any platform.
  5. Checked for relevance on 15-NOV-2011.
  6. The issue documented here is limited in scope to 11g and newer instances.
  7. Symptoms
  8. The following errors are intermittently posted to the alert.log of an 11g database.

  9. TNS-12547: TNS: Lost contact
  10. ORA-609 Opiodr Aborting Process Unknown Ospid <nnnn>


  11. TNS-12537: TNS: Connection closed
  12. ORA-609 Opiodr Aborting Process Unknown Ospid


  13. The ORA-609 might be accompanied by either the TNS-12537 or the TNS-12547 and may also include this text:

  14. ORA-00609: could not attach to incoming connection

  15. Changes
  16. This is likely a new installation of the 11g database.  
  17. Cause
  18. The ORA-609 error is thrown when a client connection of any kind failed to complete or aborted the connection process before the connection/authentication process was complete.

  19. Very often, this connection abort is due to a timeout.  Beginning with 10gR2, a default value for inbound connect timeout has been set at 60 seconds.  This time limit is often inadequate for the entire connection process to complete.   

  20. We have also discovered that the ORA-609 occurs frequently in installations where the database is monitored by DB Console and the Enterprise Manager agent (emagent).   After the DB Console is started and as a matter of routine, the emagent will repeatedly try to connect to the target instances.  We can see frequent emagent connections in the listener.log without error.  However, on occasion it may have failed to complete the connection process at the database so an ORA-609 is thrown.  The emagent will simply retry the connection and may be successful on the subsequent try.  (Provided there is no real fault occurring at the listener or database).  This temporary failure to connect will not be reported back to DB Console and there will be no indication, except for the ORA-609, that a fault occurred.

  21. Solution

  22. It can be somewhat challenging  to determine the origin of the client that is causing the error.

  23. For that reason, we often recommend increasing the values for INBOUND_CONNECT_TIMEOUT at both listener and server side sqlnet.ora file as a preventive measure.  If the problem  is due to connection timeouts, an increase in the following parameters should eliminate or reduce the occurrence of the ORA-609s.
  24. e.g.

  25. Sqlnet.ora: SQLNET.INBOUND_CONNECT_TIMEOUT=180
  26. Listener.ora: INBOUND_CONNECT_TIMEOUT_listener_name=120

  27. These settings are in seconds.  Again, the default is 60.

  28. If the issue persists and inbound connect does not have any effect, the following steps are intended to help locate  the client that may be causing the errors.
  29. 1)  Suppress the TNS errors in the alert.log by setting the following listener.ora file parameter:

  30. DIAG_ADR_ENABLED_listener_name=OFF

  31. This will cause the TNS errors to be posted to the ORACLE_HOME/network/log/sqlnet.log file that is local to the database and may yield useful information about the client's address.

  32. For example, here's a snippet from a server side sqlnet.log where client address info was posted:

  33. Production Time: 15-FEB-2010 07:15:01

  34. Fatal NI connect error 12537, connecting to:
  35. (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(Host=yourhost)(Port=1521))(CONNECT_DATA=(SID=PROD1DR)(CID=(PROGRAM=sqlplus)(HOST=client_host)(USER=client))))


  36. Observe the PROGRAM and HOST fields on the last line.  This is where the connection originated.
  37. Be sure to match timestamps in the sqlnet.log with the timestamps of the alert.log errors.  Once you've located the offending client, you can enable client tracing to try and determine the cause:

  38. TRACE_LEVEL_CLIENT=16
  39. TRACE_DIRECTORY_CLIENT=<dir location>
  40. TRACE_TIMESTAMP_CLIENT=TRUE
  41. DIAG_ADR_ENABLED=off   <<<<<11g or newer client requirement

  42. If you need assistance with client or server tracing, please open an SR with Global Customer Support.


  43. 2)  Check the listener.log for client connections that were logged at timestamps that match the ORA-609 timestamps as they appear in the alert.log.  The client information is recorded in each listener.log entry.  Since this error occurs AFTER the listener has handled the connection, do not expect to see errors in the listener.log.

  44. Here's an example snippet of an incoming client connection that was posted to the listener.log:


  45. 20-JAN-2009 17:08:45 (CONNECT_DATA=(SID=orcl)(CID=(PROGRAM=D:\oracle\product\10.1.0\Db_1\perl\5.6.1\bin\MSWin32-x86\perl.exe)(HOST=myclient)

  46. Note that the exact timestamp, program name and client host will often be recorded.  Again, once you've located the offending client, enable tracing (see above) to try to capture the connection failure.

  47. 3)  Enable server side Oracle Net tracing and capture the TNS error along with the incoming connection.
  48. Match the PID that accompanies the ORA-609 to the server trace label.  e.g.

  49. ORA-609 : opiodr aborting process unknown ospid (4799_1)  *Note the PID

  50. This PID would correspond to server trace labeled:  svr_4799.trc.  Check the server trace for either TNS error (the 609 will not appear) and try to locate the originating client address.  If assistance is needed for this investigation, please open an SR with Oracle Support.

  51. See below for instuctions on enabling Oracle Net server tracing.

  52. The following details the discovery of the source of an ORA-609 for a real case:
  53. The alert.log reports the following messages intermittently but frequently:

  54. Mon Nov 16 22:39:22 2009
  55. ORA-609 : opiodr aborting process unknown ospid (nnnn)

  56. Enabled Oracle Net server tracing:

  57. TRACE_LEVEL_SERVER=16
  58. TRACE_DIRECTORY_SERVER=<dir location>
  59. TRACE_TIMESTAMP_SERVER=TRUE
  60. DIAG_ADR_ENABLED=off

  61. Reloaded listener and wait for error to appear again.:


  62. ORA-609 : opiodr aborting process unknown ospid (5233_1)

  63. Note that the server trace file set that corresponded to this event was named svr_5233*.trc.
  64. Of course the timestamps of the alert.log event and the server trace creation matched as well.

  65. A review of the server trace showed only an EOF failure and the  TNS-12537 error:


  66. Read unexpected EOF ERROR
  67. nserror: nsres: id=0, op=68, ns=12537

  68. In this particular case, there was no information about the client in the trace. This is atypical for a server trace.   It may be that the client aborted before all the client information was posted to the file.  However, there was post in the listener.log for an emagent connection that was established at the same point in time.

  69. Here's an excerpt from a listener.log entry where an emagent establishes a connection:

  70. PROGRAM=D:\oracle\product\10.1.0\Db_1\bin\emagent.exe)

  71. Checked the EM Agent traces and logs and discovered the following entry:

  72. Fatal NI connect error 12547, connecting to:
  73. (LOCAL=NO)

  74. VERSION INFORMATION:
  75. TNS for Solaris: Version 11.1.0.7.0 - Production
  76. Oracle Bequeath NT Protocol Adapter for Solaris: Version 11.1.0.7.0 - Production
  77. TCP/IP NT Protocol Adapter for Solaris: Version 11.1.0.7.0 - Production
  78. Time: 16-NOV-2009 22:39:22

  79. ****Tracing to file: /backup/sid_traces/sqlnetlog/svr_5233.trc

  80. Tns error struct:

  81. ns main err code: 12547
  82. TNS-12547: TNS:lost contact
  83. ns secondary err code: 12560
  84. nt main err code: 0
  85. nt secondary err code: 0
  86. nt OS err code: 0

  87. ****Note the name of the server trace which contains the PID:  svr_5233.trc
  88. Also, the timestamp of the agent event matches the timestamp of the alert.log error.



  89. Check the following locations for EM Agent traces. If working with support on this issue and the EM Agent is suspected, upload ALL files under:

  90. $ORACLE_HOME/sysman/log/emagent.trc < Single node agent trace location
  91. $ORACLE_HOME/host/sysman/log/emagent.trc < RAC agent trace location



  92. It was determined that in this case, the emagent was aborting the connection before it was complete and then simply reconnecting and succeeding on the subsequent try.  No errors were reported in the listener log or listener trace. No errors were returned to the DB Console.  There was no apparent outage of any kind.  No action was taken to correct the ORA-609 in this case.  It was decided that the message was informational and completely benign.



  93. Please review the following documents for more information about timeouts and tracing:

  94. Note 119706.1 Troubleshooting Guide TNS-12535 or ORA-12535 or ORA-12170
  95. Errors

  96. Note 345197.1 Connections that Used to Work in Oracle 10.1 Now
  97. Intermittently Fail with ORA-3113,ORA-3106 or ORA-3136 from
  98. 10.2 Onwards

  99. Note 405755.1 Files Needed for Troubleshooting an EM 10G Service Request
  100. if an RDA is not Available

  101. Note 395525.1 How to Enable Oracle SQLNet Client , Server , Listener ,
  102. Kerberos and External procedure Tracing from Net Manager

  103. Note 454927.1 Using and Disabling the Automatic Diagnostic Repository
  104. (ADR) with Oracle Net for 11g

  105. It has been reported that the following 11g DNS issue can cause the error to get thrown because of the delay in establishing a connection.


  106. Document: 561429.1 DNS Issue: Connections To Oracle 11g are Slow or Delayed


  107. References
  108. NOTE:119706.1 - Troubleshooting Guide TNS-12535 or ORA-12535 or ORA-12170 Errors
  109. NOTE:345197.1 - Connections that Used to Work in Oracle 10gR1 Now Intermittently Fail with ORA-3113,ORA-3106 or ORA-3136 from 10.2 Onwards
  110. NOTE:395525.1 - How to Enable Oracle SQLNet Client , Server , Listener , Kerberos and External procedure Tracing from Net Manager
  111. NOTE:405755.1 - Files Needed for Troubleshooting an EM 10G Service Request if an RDA is not Available
  112. NOTE:454927.1 - Using and Disabling the Automatic Diagnostic Repository (ADR) with Oracle Net for 11g
  113. NOTE:1121357.1 - Troubleshooting Guide ORA-609 : Opiodr aborting process unknown ospid
复制代码

回复 只看该作者 道具 举报

4#
发表于 2012-3-9 21:15:04
如果要深究该问题的话 需要做一个 SQL NET TRACE

在sqlnet.ora 中加入 trace level 设置:

TRACE_LEVEL_SERVER=16
TRACE_DIRECTORY_SERVER=<dir location>
TRACE_TIMESTAMP_SERVER=TRUE
DIAG_ADR_ENABLED=off

观察 SQL NET TRACE的日志

回复 只看该作者 道具 举报

您需要登录后才可以回帖 登录 | 注册

QQ|手机版|Archiver|Oracle数据库数据恢复、性能优化

GMT+8, 2024-12-24 00:10 , Processed in 0.050716 second(s), 22 queries .

Powered by Discuz! X2.5

© 2001-2012 Comsenz Inc.

回顶部
TEL/電話+86 13764045638
Email service@parnassusdata.com
QQ 47079569