oracle資料庫一次TB級ERP(ASM RAC)庫的恢複案例

來源:互聯網
上載者:User

首先是客戶在rac其中一個節點add disk時,發現在另外節點未添加成功,後面又反覆折騰add,甚至dd 盤頭進行了add。
最為致命的一個動作是強制add disk,其實在該步驟之前這幾個disk已經add過一次,且完成了reblance,但是drop disk
卻並未成功,最後客戶嘗試強制添加,如下:

SQL> ALTER DISKGROUP xxxx ADD  DISK 'ORCL:VOL1_xxx' SIZE 2097152M  FORCE ,
'ORCL:VOL2_xxx' SIZE 2097152M  FORCE ,
'ORCL:VOL3_xxx' SIZE 2097152M  FORCE
........
ORA-15186: ASMLIB error function = [asm_open],  error = [1],  mesg = [Operation not permitted]
Tue Feb 18 06:09:32 2014
SQL> alter diskgroup xxx MOUNT
NOTE: cache registered group xxx number=1 incarn=0x6c42d680
.......
Tue Feb 18 06:09:32 2014
NOTE: Hbeat: instance not first (grp 1)
Tue Feb 18 06:09:32 2014
NOTE: cache dismounting group 1/0x6C42D680 (xxx)
NOTE: dbwr not being msg'd to dismount
Tue Feb 18 06:09:32 2014
NOTE: PST enabling heartbeating (grp 1)
Tue Feb 18 06:09:32 2014
ERROR: diskgroup xxx was not mounted
Tue Feb 18 06:10:22 2014
ORA-15186: ASMLIB error function = [asm_open],  error = [1],  mesg = [Operation not permitted]
Tue Feb 18 06:10:22 2014
.........


最後導致磁碟組都無法mount,當然資料庫肯定也無法成功open,會報如下類似的錯誤;


Tue Feb 18 05:53:57 2014
Errors in file /opt/oracle/admin/xxx/bdump/xxx_lmon_17095.trc:
ORA-00202: control file: '+xxx/xxx/controlfile/current.256.743166671'
ORA-15078: ASM diskgroup was forcibly dismounted
Tue Feb 18 05:53:58 2014
Errors in file /opt/oracle/admin/xxx/bdump/hxxx_lmon_17095.trc:
ORA-00204: error in reading (block 35, # blocks 1) of control file
ORA-00202: control file: '+xxx/xxx/controlfile/current.256.743166671'
ORA-15078: ASM diskgroup was forcibly dismounted
Tue Feb 18 05:53:58 2014
LMON: terminating instance due to error 204
Tue Feb 18 05:53:58 2014

首先利用kfed 讀取相關的disk,發現asm的相關中繼資料基本上都不存在了,因為前面的add disk force其實相當於是吧
diskgroup 重建了一次,其中最為關鍵的file directory中繼資料沒了。這是非常麻煩的一件事。
在恢複的過程中,我們甚至嘗試了Oracle DUL,發現file directory完全丟失的情況下,dul根本無法正常工作。當然,
我們利用老熊的ODU成功的恢複了該庫。ODU目前有這樣的一個強悍功能,可以進行scan asm disk,然後將所有資料檔案
的AU分配資訊掃描出並記錄到一個檔案asm_fileext_meta.odu 中,然後可以自動的將AU進行拼接,也就形成了一個完整
的資料檔案,大致的文法如下:


extract asm file 1  to /xxxxx/system01.dbf
extract asm file 2  to /xxxxx/undotbs1_01.dbf
extract asm file 3  to /xxxxx/sysaux01.dbf

備忘:

1.   第一次使用抽取檔案的方式進行了恢複,由於資料字典損壞嚴重,導致資料庫open後問題不斷(其中還修複了
大量的block,因為部分block是空的,空塊是因為部分disk完成了reblance,部分沒有,導致抽取的資料字典不完整),
因此我們又重新抽取了一次資料,並重建庫匯入,前後花費了大量的人力,當然這也是我第一次利用ODU
恢複ERP庫,並完美的解決問題。 這裡必須贊一個!

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.