案例:磁碟分割槽壞掉-oracle無備份的恢復

tian1982tian發表於2013-05-24
  今天客戶電話報: 資料庫宕掉,oracle啟不起來!
配置
 os:       linux 5U2  64位
 資料庫:oracle 11g 64位  單例項  無歸檔  無備份
 
接到事故電話後:
 1: 登上系統檢視,ps -ef | grep ora_發現有若干oracle程式
 2: sqlplus /nolog
       conn / as sysdba
       等一會報錯,說是無法 在/oracle/ora11g/....下建立xxx.aud檔案和系統只讀
 3: 磁碟檢查:
       cd /oracle
       touch xx.txt報系統只讀,沒法寫檔案
      現在初步判斷,確實是/oracle目錄掛載的/dev/sdb1分割槽確實是壞掉了。
 
 故障處理:
      怎麼辦呢,無法用conn / as sysdba登陸資料庫,進而也無法去執行shutdown    immediate和startup命令了,實在沒辦法就在作業系統上做了如下操作:
 1: kill -9 xxx程式(通常情況下不建議這樣做,此操作時有風險的)
 2: mkdir /oracle1
 3: cp -R /oracle /oracle1
 4: mount /dev/sdb2 /oracle1
 5: vi /etc/rc.local
       mount /dev/sdb2 /oracle1
       #mount /dev/sdb1 /oracle
       掛載新的路徑,遮蔽之前oracle mount資訊
 6: mv /oracle /oracle2
       mv /oracle1 /oracle
 7: 登陸: sqlplus /nolog
       conn / as sysdba
       成功登陸系統
 8: startup;
      至此,資料庫成功啟動
      由於當時的處理結果沒儲存下來,所以上面的操作結果無法看到。
      總結: 此案例就是在深刻理解oralce啟動過程和原理之後,一步步分析和判斷原因, 最終解決問題,看來操作很重要,但是原理和執行機制更重要!

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

相關文章