【strings】spfile誤修改導致資料庫無法啟動的另一種恢復方法

secooler發表於2009-11-01
如果您經常使用spfile修改系統引數,也許會有失手的時候,比如因為將sort_area_size引數修改的過大,導致系統無法使用spfile進行啟動。
一般的處理方法是利用pfile引用spfile的內容來協助資料庫的啟動,方法如下:
在pfile中引用spfile(注意這裡pfile中引用spfile的語法),然後在最後新增引數的正確內容,使用這個pfile啟動資料庫即可。
$ cat /$ORACLE_HOME/dbs/initora10g.ora
SPFILE='/oracle/app/oracle/product/10.2.0/db_1/dbs/spfileora10g.ora'
sort_area_size=65536


OK,我這裡再給大家介紹一下使用Linux的strings命令直接讀取二進位制spfile檔案的方法恢復誤修改的系統引數。
1.進入到spfile所在目錄
$ cd $ORACLE_HOME/dbs

2.使用strings命令讀取spfile同時重定向到我們要構建的pfile之中
$ strings spfileora10g.ora > initora10g.ora

3.使用vi編輯器將剛剛生成的initora10g.ora檔案修改為正確的內容

4.使用pfile啟動資料庫,完成引數修改的目的
SQL> startup pfile='/oracle/app/oracle/product/10.2.0/db_1/dbs/initora10g.ora';

5.再使用pfile生成spfile,重啟資料庫,完成整個spfile的修復過程
SQL> create spfile from pfile='/oracle/app/oracle/product/10.2.0/db_1/dbs/initora10g.ora';

小結
在spfile因誤操作導致不可用的時候,首先不要緊張。冷靜下來,首先確定一下作業系統的型別,恢復spfile的方法非常的多,關鍵是選用最順手並且最高效的方法。

-- The End --

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

相關文章