關閉資料庫出現ORA-21779錯誤

yangtingkun發表於2011-07-07

客戶的資料庫在關閉的時候出現了錯誤。

 

 

環境RAC 10204 FOR HP,用sqlplus關閉其中一個節點,錯誤如下:

SQL> shutdown immediate
Database closed.
Database dismounted.
ORA-03113: end-of-file on communication channel
SQL> shutdown immediate
ORA-24324: service handle not initialized
ORA-01041: internal error. hostdef extension doesn't exist
SQL> startup nomount;
ORA-24324: service handle not initialized
ORA-01041: internal error. hostdef extension doesn't exist

看到這個ORA-1041的錯誤,第一反映就是sqlplus的狀態不正常了,這個錯誤在windows環境下的sqlplus經常出現,很可能重啟幾次資料庫,就出現了這個錯誤。

而一旦這個錯誤出現,那麼唯一的辦法就是退出sqlplus,然後重新啟動sqlplus,一般問題也就隨之解決。這個問題也是如此,退出sqlplus並重新進入後,啟動資料庫,問題消失,導致問題的原因還是sqlplus的狀態不正常。不過對於hp平臺的到是第一次遇到。

不過前面的ORA-3113錯誤就不太正常了,而sqlplus的狀態不正常,多半就是由於出現了ORA-3113錯誤所致。根據經驗,前臺出現ORA-3113錯誤,後臺alert中不是ORA-600就是ORA-7445錯誤,於是查詢了一下告警日誌,結果發現了ORA-21779錯誤:

Mon Jun 27 09:01:34 2011
Shutting down instance: further logons disabled
Mon Jun 27 09:01:37 2011
Stopping background process QMNC
Mon Jun 27 09:01:37 2011
Stopping background process CJQ0
Mon Jun 27 09:01:39 2011
Stopping background process MMNL
Mon Jun 27 09:01:40 2011
Stopping background process MMON
Mon Jun 27 09:01:41 2011
Shutting down instance (immediate)
License high water mark = 298
Mon Jun 27 09:01:41 2011
Stopping Job queue slave processes, flags = 7
Mon Jun 27 09:01:41 2011
Job queue slave processes stopped
Mon Jun 27 09:01:43 2011
ALTER DATABASE CLOSE NORMAL
Mon Jun 27 09:01:44 2011
SMON: disabling tx recovery
SMON: disabling cache recovery
Mon Jun 27 09:01:46 2011
Shutting down archive processes
Archiving is disabled
Mon Jun 27 09:01:51 2011
ARCH shutting down
ARC1: Archival stopped
Mon Jun 27 09:01:56 2011
ARCH shutting down
ARC0: Archival stopped
Mon Jun 27 09:01:57 2011
Thread 1 closed at log sequence 25992
Successful close of redo thread 1
Mon Jun 27 09:02:05 2011
Completed: ALTER DATABASE CLOSE NORMAL
Mon Jun 27 09:02:06 2011
ALTER DATABASE DISMOUNT
Completed: ALTER DATABASE DISMOUNT
ARCH: Archival disabled due to shutdown: 1089
Shutting down archive processes
Archiving is disabled
Archive process shutdown avoided: 0 active
ARCH: Archival disabled due to shutdown: 1089
Shutting down archive processes
Archiving is disabled
Archive process shutdown avoided: 0 active
Mon Jun 27 09:02:07 2011
Errors in file /oracle10g/admin/B1ACDB/bdump/b1acdb1_smon_17049.trc:
ORA-21779: duration not active
Mon Jun 27 09:02:07 2011
SMON: terminating instance due to error 21779
Mon Jun 27 09:02:07 2011
System state dump is made for local instance
System State dumped to trace file /oracle10g/admin/B1ACDB/bdump/b1acdb1_diag_16982.trc

除了出現一個ORA-21779錯誤以外,並無其他異常之處,檢查smon程式的trace檔案,同樣沒有發現異常的地方,檔案中關於這個錯誤只有3行記錄:

*** 2011-06-27 09:02:07.422
ORA-21779: duration not active
ksuitm: waiting up to [5] seconds before killing DIAG

metalink中記錄一些和這個錯誤相關的bug,但是都和當前問題不太一致。

根據錯誤分析,可能是使用者或資料庫正在執行的某些功能,由於資料庫的關閉而報錯,這個問題如果不是頻繁出現,屬於可以忽略的錯誤,Oracle官方文件對於這個錯誤的描述為:

ORA-21779: duration not active
Cause: User is trying to use a duration that has been terminated.
Action: User should avoid performing such operation.

 

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/4227/viewspace-701651/,如需轉載,請註明出處,否則將追究法律責任。

相關文章