1. 程式人生 > >Oracle啟動過程中碰到的一些問題

Oracle啟動過程中碰到的一些問題

在Linux虛擬機器中裝好Oracle之後,就一直沒有管這臺虛機。最近因為專案需要,就想到這臺機器了,但是Oracle怎麼也啟動不了,具體表現如下:

SQL> startup
ORA-48108: invalid value given for the diagnostic_dest init.ora parameter
ORA-48140: the specified ADR Base directory does not exist [/home/oracle/102/dbs/<ORACLE_BASE>]
ORA-48187: specified directory does not exist
Linux Error: 2: No such file or directory
Additional information: 1
SQL>
然後檢視$ORACLE_HOME/dbs下的init檔案(我的SID名為oracleSid),即initoracleSid.ora,發現該檔案中的<ORACLE_BASE>沒有更改過來,當然啟動不了了,修改本檔案裡的所有<ORACLE_BASE>為絕對路徑。

結合網上其他技術大拿的經驗,刪除diagnostic_dest這行記錄。

然後再啟動資料庫

SQL> startup nomount

SQL> alert database mount

此時出錯,ORA-00205: error in identifying control file, check alert log for more info

還是檢視$ORACLE_HOME/dbs/initoracleSid.ora中的內容,發現control_files = (ora_control1, ora_control2)有問題,修改為control_files = ("/u01/oradata/orcl/control01.ctl", "/u01/flash_recovery_area/orcl/control02.ctl")

注:上面的control_files以機器上實際路徑為準。

然後再啟動Oracle,即可以了。

第二,在上面的過程中,還可能會碰到如ORA-09925: Unable to create audit trail file這樣的問題,均於<ORACLE_BASE>有關,修改之即可。

另外,在解決上述問題過程中,還出現了像如下一樣的錯誤:

SQL> conn sys
SQL> show parameter 
SP2-0640: Not connected
SQL> conn / as sysdba
ERROR:
ORA-09925: Message 9925 not found;  product=RDBMS; facility=ORA
Linux-x86_64 Error: 30: Read-only file system
Additional information: 9925
ORA-01075: you are currently logged on

SQL> 

如果出現上面的問題,無法手動停止Oracle,於是找到pmon程序,然後再kill之,即可關停Oracle.

PS:操作時沒有留下太多的記錄,只好憑記意及網上其他人碰到的同樣問題來寫本日誌了。