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

fanhongjie發表於2011-06-24

轉自: http://space.itpub.net/519536/viewspace-617863

如果您經常使用修改系統引數,也許會有失手的時候,比如因為將sort_area_size引數修改的過大,導致系統無法使用spfile進行啟動。
一般的處理方法是利用pfile引用spfile的內容來協助的啟動,方法如下:

[@more@]在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的命令直接讀取二進位制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的方法非常的多,關鍵是選用最順手並且最高效的方法。

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

相關文章