1. 程式人生 > >SPFILE 被修改或損壞,如何快速恢復服務

SPFILE 被修改或損壞,如何快速恢復服務

ORACLE_HOME(ORACLE安裝根目錄):e:/oracle
ORACLE_HOME下有子目錄:
e:/oracle/admin(各例項管理獨立目錄).
e:/oracle/ora92(共有管理目錄等).
e:/oracle/oradata(資料等檔案目錄)

xie 的 spfile 的原始檔案(例項安裝建立時SPFILE檔案,是個備份檔案): e:/oracle/admin/xie/pfile/init.ora.83200715416 (後面的數字串是隨機的)
xie 的 啟動/執行 等狀態時實際用到的spfile: e:/ora92/database/SPFILEXIE.ORA (此檔案是不能直接編輯的,裡面內容編譯過,但內容還是可以基本讀懂的)

那麼在 啟動 時(比如輸入 startup mount 指令)提醒有些引數配置錯誤時(實際就是 e:/ora92/database/SPFILEXIE.ORA 有引數錯誤配置,但又不能直接修改)
        如何恢復到 例項安裝建立時的 引數呢?
答案是:刪除(或者重新命名)e:/ora92/database/SPFILEXIE.ORA 檔案;然後根據 e:/oracle/admin/xie/pfile/init.ora.83200715416 做一份spfile(此檔案不能直接手工拷貝,要用如下命令)

SQL> CREATE SPFILE FROM PFILE='e:/oracle/admin/xie/pfile/init.ora.83200715416';

然後重新啟動資料庫即可。


如果要修改ORALCE 例項引數配置,也可參考如上說明,方便反覆實踐.
1 關閉實列
2 先修改 e:/oracle/admin/xie/pfile/init.ora.83200715416 檔案(做好其備份後再修改)
3 刪除   e:/ora92/database/SPFILEXIE.ORA
4 建立SPFILE   SQL> CREATE SPFILE FROM PFILE='e:/oracle/admin/xie/pfile/init.ora.83200715416';
5 重新啟動實列


對spfile檔案修改的動作可以在e:/oracle/admin/xie/bdump/alert_xie.log檔案中查到
直接文字編輯SPFILE引數是否有日誌記錄,我沒有試過。