一.Alert log 說明
在Oracle 11.2.0.2 的數據庫中alert log發現大量如下log:
Fatal NI connect error 12537, connectingto:
(LOCAL=NO)
VERSION INFORMATION:
TNS for HPUX: Version 11.2.0.2.0 - Production
Oracle Bequeath NT Protocol Adapter for HPUX: Version 11.2.0.2.0 -Production
TCP/IP NT Protocol Adapter for HPUX: Version 11.2.0.2.0 - Production
Time: 11-SEP-2011 17:03:56
Tracing not turned on.
Tnserror struct:
nsmain 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 (29942) as a result of ORA-609
Sun Sep 11 17:05:23 2011
Tue Sep 13 17:56:37 2011
opiodr aborting processunknown ospid (924) as a result of ORA-28
Tue Sep 13 17:56:38 2011
opiodr aborting process unknownospid (1951) as a result of ORA-28
Tue Sep 13 17:56:40 2011
opiodr aborting process unknown ospid(1983) as a result of ORA-28
Tue Sep 13 17:56:42 2011
opiodr aborting process unknown ospid(11149) as a result of ORA-28
Tue Sep 13 17:56:43 2011
opiodr aborting process unknown ospid(17662) as a result of ORA-28
Tue Sep 13 17:58:06 2011
opidcl aborting process unknown ospid(9702) as a result of ORA-604
二.問題分析:
2.1 opiodr aborting process unknown ospid (924) as a resultof ORA-28
在Oracle 11.1.0.6 和 11.1.0.7 的版本中,存在一個bug:6377339。 其會在alert log 顯示如下信息:
ORA-28 : opiodr aborting process unknown ospid (21016_3086862016)
這樣的提示信息會讓我們產生疑惑. 所以在Oracle 11.2 版本中對這個bug進行修復,修復之后的提示信息變成了:
opidcl abortingprocess unknown ospid (32110) as a result of ORA-28
opiodr aborting process信息僅僅是一個消息,它是Oracle 11g里新添加的一個消息,用來記錄進程的異常退出。
該消息一般用來記錄有權限的用戶kill 的session信息。
示例:
"opiodr aborting process unknown ospid(28342) as a result of ORA-28"
解釋:
"unknown" => means it is not abackground or shadow process that is killed
"ospid (28342)" => this is the OS pid of the process which opiodris aborting
"as a result of" => this precedes the error message which is thereason for opiodr to kill the process
"ORA-28" => this is the reason that opiodr killed the process. Inthis case, it is ora-28.
參考:
"opiodr abortingprocess" Messages in Alert.Log [ID 1230858.1]
Bug 6377339 - Misleading alertlog message for "opiodr aborting" [ID 6377339.8]
2.2 opiodr aborting process unknown ospid (29942) as a resultof ORA-609
這里表示進程ospid (29942) 因為ORA-609的錯誤而被kill。導致這個錯誤的原因有2種:
(1) Bug9856585 - "audit network by access does not audit ora-12650"
該bug 存在Oracle 11.1 到 11.2 的版本中,官網對這個bug的說明如下:
The Bug9856585 is going to be fix bythe Oracle RDBMS Development team, it is currently in Work in Progress Status.
(2)在啟動 EM Console后報該錯誤,該問題存在Oracle 10.1到11.2.可能是nscd 進程引起。解決方法是重啟這個進程。
用超級用戶(root)用戶執行以下步驟進行重啟:
1. Stop nscd daemon:
# service nscd stop
2. Verify if any rogue processes is still running:
# ps -ef|grep nscd
If any process is found, kill the roguenscd process
# kill -9 <nscd_pid>
3. Start nscd daemon:
# service nscd start
4. As the OS user who has installed theAgent, start the Agent:
cd <AGENT_HOME>/bin
emctl start agent
參考:
Audit Network Does Not Work When notSuccessful in Oracle 11gR2 [ID 1241325.1]
Grid Control Agent 10.2 Crashes with CoreDump if 'nscd' daemon is Hung on Linux OS [ID 430200.1]
Lsnrctl Status is Failing and Alert.logShows TNS-12537 and ORA-609 [ID 950135.1]
2.3 opidcl aborting process unknown ospid (9702) asa result of ORA-604
根據2.1 中的說明,這里的信息時記錄了ospid(9702) 進程因為ORA-604的錯誤而被中斷了。 該消息僅用來記錄進程異常退出的信息,是Oracle 11g中新增加的消息。
三.小結:
在Oracle 11g中,新增了一個新的消息機制,會在alert log中記錄異常退出的進程。
其消息格式示例如下:
"opiodr aborting process unknown ospid(28342) as a result of ORA-28"
解釋:
"unknown" => means it is not abackground or shadow process that is killed
"ospid (28342)" => this is the OS pid of the process which opiodris aborting
"as a result of" => this precedes the error message which is thereason for opiodr to kill the process
"ORA-28" => this is the reason that opiodr killed the process. Inthis case, it is ora-28.
這個是Oracle 11.2 以后的格式,在11.2 之前的格式:
ORA-28 : opiodr aborting process unknownospid (21016_3086862016)
這種格式因為會讓人迷惑,因此該格式被稱為Bug 6377339,並在11.2中修改了這個格式。
Alert log中的"opiodr aborting processunknown ospid (28342) as a result of ORA-28"消息僅僅是一個記錄信息。最后的ORA-XX的信息代表導致進程異常退出的原因。
-------------------------------------------------------------------------------------------------------
版權所有,文章允許轉載,但必須以鏈接方式注明源地址,否則追究法律責任!
Skype: tianlesoftware
QQ: tianlesoftware@gmail.com
Email: tianlesoftware@gmail.com
Blog: http://www.tianlesoftware.com
Weibo: http://weibo.com/tianlesoftware
Twitter: http://twitter.com/tianlesoftware
Facebook: http://www.facebook.com/tianlesoftware
Linkedin: http://cn.linkedin.com/in/tianlesoftware
-------加群需要在備注說明Oracle表空間和數據文件的關系,否則拒絕申請----
DBA1 群:62697716(滿); DBA2 群:62697977(滿) DBA3 群:62697850(滿)
DBA 超級群:63306533(滿); DBA4 群:83829929 DBA5群: 142216823
DBA6 群:158654907 DBA7 群:172855474 DBA總群:104207940
