oracle 11gR2 srvctl 命令啟動資料庫不成功處理總結

paulyibinyi發表於2011-04-18

客戶所在主機415號下午19點鐘後做相關維護,需要關閉資料庫,維護主機任務完成後,用srvctl start database命令啟動資料庫不成功,用sqlplus方式資料庫能正常開啟,雖然資料庫能開啟,但ora.db.db資源offline,導致db service_name起不來,監聽不到,外面應用連線失敗。

問題報錯如下:

CRS-2640: Required resource ‘ora.paulyitest.dg’ is missing

現把此次分析處理過程總結如下:


我在2011-03-24針對db 資料庫,建立paulyitest磁碟組來做測試,建立diskgroup方法是用命令方式建立,刪除diskgroup方法也是命令方式刪除。

正常,沒有與paulyitest 磁碟組相關報錯資訊。

$ORACLE_HOME/log/nfzhdb下的日誌

srvctl start database也是報

  CRS-2640: Required resource ‘ora.paulyitest.dg’ is missing

正常,沒有與paulyitest 磁碟組相關報錯資訊。

圖形工具檢查

paulyitest 磁碟組不存在

asm例項引數

asm_diskgroups 引數

引數下面也沒有paulyitest磁碟組

啟動資料庫方式去掉丟失的磁碟組

srvctl modify database -d DB -a “DGsystem,dgrecover”

srvctl disable diskgroup -g paulyitest

  srvctl remove diskgroup -g paulyitest –f

 

srvctl start database –d DB

啟動成功,檢視監聽狀態可以監聽到db服務,外面應用連線成功。

    刪除磁碟組引起監聽不到資料庫service_name問題第一次遇到,好在及時發現問題和迅速解決問題,沒有給生產帶來什麼影響,這是經驗和教訓,所以針對這個問題,提出以下兩點建議:

1.  oracle 11gR2版本,建議新增與刪除磁碟組用asmca圖形工具來做。

2.  命令方式,建議參考以下解決方法:

第一:建立磁碟組

節點1建立

create diskgroup dgtest EXTERNAL REDUNDANCY ‘/dev/rhdisk1’ size 200G;

節點2載入

alter diskgroup dgtest mount;

如果節點2不載入,會在節點2日誌中報相關這個磁碟組中資料檔案不存在的錯誤資訊。

第二:刪除磁碟組

節點2 解除安裝

Alter diskgroup dgtest dismount;

節點1刪除

       DROP DISKGROUP dgtest INCLUDING CONTENTS;

再用srvctl 命令做以下操作       

srvctl modify database -d MYDB -a “DATA1_DG”;

  -a 後面輸入保留要的DG資訊

srvctl disable diskgroup -g dgtest;

      srvctl remove diskgroup -g dgtest –f;

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

相關文章