11g rac 修改引數檔案導致資料庫無法啟動 解決方案!
阿新 • • 發佈:2019-01-06
rac中spfile預設是存在 '+DATADG/SID/spfileSID.ora'
然而一次修改錯誤的修改引數,重啟起資料庫之後報錯導致資料庫起不來了。
則可以先用各個節點上備用的pfile來啟動。
即:在任意一個節點上執行
startup pfile='$ORACLE_BASE/admin/SID/pfile/init.ora.88201323726'
資料庫啟動起來之後,再將'+DATADG/SID/spfileSID.ora' 建立一個pfile版本。
create pfile='/tmp/pfileSID>ora' from spfile='+DATADG/SID/spfileSID.ora'
建立成功之後vi 修改'/tmp/pfileSID>ora' 此檔案 將先前改錯的引數改回來。
然後再通過改正確的pfile '/tmp/pfileSID>ora' 來生成新的spfile
即:create spfile= '+DATADG/SID/spfileSID.ora' from pfile='/tmp/pfileSID>ora';
然後 關閉資料庫,刪除之前在節點上通過備份init.ora檔案創建出來的spfile.
然後 啟動資料庫 就會發現可以正常通過+DATADG/SID/spfileSID.ora引數檔案啟動了。
總結:
a: 通常讀取引數檔案順序
我們知道,如果不指定引數檔案,oracle是按照這個順序查詢檔案來啟動資料庫的:
spfileSID.ora
spfile.ora
initSID.ora
init.ora
如果這些檔案都沒有找到,啟動會失敗。
b:檢視srvctl讀取spfile位置
srvctl config database -d orcl
c:修改叢集中spfile位置
c1:在asmcmd中將spfile複製到修改後的位置
用cp命令
c2:將更改後的路徑註冊到ocr
srvctl modify database -d orcl -p '+dbdg/orcl_2/spfileorcl.ora';
然而一次修改錯誤的修改引數,重啟起資料庫之後報錯導致資料庫起不來了。
則可以先用各個節點上備用的pfile來啟動。
備用pfile位置:
'$ORACLE_BASE/admin/SID/pfile/init.ora.88201323726'
即:在任意一個節點上執行
startup pfile='$ORACLE_BASE/admin/SID/pfile/init.ora.88201323726'
資料庫啟動起來之後,再將'+DATADG/SID/spfileSID.ora' 建立一個pfile版本。
create pfile='/tmp/pfileSID>ora' from spfile='+DATADG/SID/spfileSID.ora'
建立成功之後vi 修改'/tmp/pfileSID>ora' 此檔案 將先前改錯的引數改回來。
然後再通過改正確的pfile '/tmp/pfileSID>ora' 來生成新的spfile
即:create spfile= '+DATADG/SID/spfileSID.ora' from pfile='/tmp/pfileSID>ora';
然後 關閉資料庫,刪除之前在節點上通過備份init.ora檔案創建出來的spfile.
然後 啟動資料庫 就會發現可以正常通過+DATADG/SID/spfileSID.ora引數檔案啟動了。
總結:
a: 通常讀取引數檔案順序
我們知道,如果不指定引數檔案,oracle是按照這個順序查詢檔案來啟動資料庫的:
spfileSID.ora
spfile.ora
initSID.ora
init.ora
如果這些檔案都沒有找到,啟動會失敗。
b:檢視srvctl讀取spfile位置
srvctl config database -d orcl
c:修改叢集中spfile位置
c1:在asmcmd中將spfile複製到修改後的位置
用cp命令
c2:將更改後的路徑註冊到ocr
srvctl modify database -d orcl -p '+dbdg/orcl_2/spfileorcl.ora';