ORA-00600: [OSDEP_INTERNAL]

space6212發表於2019-04-21

今天遷移資料庫完成以後,在啟動資料庫時報錯:

SQL> startup pfile=/u1/oracle/product/9.2.0/dbs/initzjtrade.ora
ORA-00600: internal error code, arguments: [OSDEP_INTERNAL], [], [], [], [], [], [], []
ORA-27302: failure occurred at: skgpwreset1
ORA-27303: additional information: invalid shared ctx
ORA-27146: post/wait initialization failed
ORA-27300: OS system dependent operation:semget failed with status: 28
ORA-27301: OS failure message: No space left on device
ORA-27302: failure occurred at: sskgpsemsper


資料庫環境是Sun OS 5.8 + oracle 9204。
在這個伺服器上,還執行著另外的例項,那個例項是正常執行的。看報錯資訊以為跟磁碟空間有關係,但檢視了空間使用情況,發現空閒空間還很多。
google了一下,發現這個錯誤與oracle引數processes或者系統的核心引數:semsys:seminfo_semmsl和semsys:seminfo_semmni相關。

文件描述如下:
SEMMSL 500 Minimum recommended value. SEMMSL should be 10 plus the largest PROCESSES parameter of any Oracle database on the system.
SEMMNS 1024 Maximum semaphores on the system. This setting is a minimum recommended value.
SEMMNS should be set to the sum of the PROCESSES parameter for each Oracle database, add the largest one twice, plus add an additional 10 for each database.

不過我感覺這個描述有一定的問題,因為目前伺服器的/etc/system裡的配置是:
set semsys:seminfo_semmni=100
set semsys:seminfo_semmsl=500

而正常執行的例項的process是550。
具體process和seminfo_semmsl以及seminfo_semmni的關係還沒有一個結論,但是解決方法還是有兩種:
1、減小process引數
2、增大seminfo_semmsl和seminfo_semmsl

由於遷移過來的庫是一個備庫,如果升級沒問題是不會用到的,因為我選擇的是減少遷移過來的資料庫的process引數,修改pfile檔案,再啟動,就OK了。

SQL> startup pfile=/u1/oracle/product/9.2.0/dbs/initzjtrade.ora
ORACLE instance started.

Total System Global Area 923765952 bytes
Fixed Size 732352 bytes
Variable Size 671088640 bytes
Database Buffers 218103808 bytes
Redo Buffers 33841152 bytes
Database mounted.
ORA-01113: file 1 needs media recovery
ORA-01110: data file 1: '/oracle/oradata/zjtrade/system01.dbf'


SQL> recover database;
ORA-00279: change 4448415969 generated at 05/01/2007 14:40:33 needed for thread 1
ORA-00289: suggestion : /archive/1_16494.dbf
ORA-00280: change 4448415969 for thread 1 is in sequence #16494

Specify log: {=suggested | filename | AUTO | CANCEL}
auto
ORA-00279: change 4450762050 generated at 05/01/2007 23:57:06 needed for thread 1
ORA-00289: suggestion : /archive/1_16496.dbf
ORA-00280: change 4450762050 for thread 1 is in sequence #16496
ORA-00278: log file '/archive/1_16495.dbf' no longer needed for this recovery


......

ORA-00279: change 4451048856 generated at 05/02/2007 00:58:25 needed for thread 1
ORA-00289: suggestion : /archive/1_16533.dbf
ORA-00280: change 4451048856 for thread 1 is in sequence #16533
ORA-00278: log file '/archive/1_16532.dbf' no longer needed for this recovery

Log applied.
Media recovery complete.
SQL> alter database open;

Database altered.

Elapsed: 00:00:04.01

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

相關文章