国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

asm?磁盤頭損壞修復過程

IT那活兒 / 3354人閱讀
asm?磁盤頭損壞修復過程

點擊上方“IT那活兒”公眾號,關注后了解更多內容,不管IT什么活兒,干就完了!!! 

1

正常運行的一套雙節點RAC,現在有需求,需要重啟一下實例,停止實例在啟動實例時,報磁盤組不能掛載。如下:
警告日志顯示有磁盤丟失。
asmdg 查看磁盤組是正常掛載的。
嘗試重新掛載 ora_data 磁盤組。報錯磁盤組不完整。
檢查磁盤組的3塊磁盤,都存在,而且使用ASMFD 不存在權限問題。
檢查磁盤頭狀態,發現DATA1 和DATA2 為CANDIDATE ,到這里基本可以判斷磁盤頭損壞。
可以使用kfed 確認,INVALID 代表不是ASM 磁盤。
從版本10.2.0.5開始ASM 會對disk header做一個額外的備份。即第二AU 的倒數第二個block中備份了一份KFBTYP_DISKHEAD。這個ASM Disk header的作用是當真的KFBTYP_DISKHEAD被意外覆蓋或損壞時可以使用Oracle 工具 KFED使用repair選項來修復Disk header。
計算方法:AU中包含的備份塊block num 等于[AU_SIZE/block_size]*2-2因為第一個塊從0計數]。
可以計算結果為:
  • 1M AU在510

  • 2M AU在1022

  • 4M AU在2046

  • 8M AU在4094

  • 16M AU在8190

  • 32M AU在16382

  • 64M AU在32766

可以通過kfed 命令檢查備份塊信息,可以看到正常讀取到了磁盤頭信息:
kfed read /dev/sdi blkn=2046 | egrep kfbh.type|ausize|dsknum|dskname|grpname|fgname|blksize

2

嘗試恢復asm 磁盤頭
確定損壞磁盤的備份信息:
kfed read /dev/sdi blkn=2046 | egrep 
ausize|
dsknum|dskname|grpname|fgname|blksize
kfed read /dev/sdj blkn=2046 | egrep
ausize|dsknum|dskname|grpname|fgname|blksize
從備份數據塊備份磁盤信息,多做備份還是很必要的,也可以使用dd 備份磁盤的前50M。
kfed read /dev/sdi blkn=2046 >sdi.diskhead
kfed read /dev/sdj blkn=2046 >sdj.diskhead
恢復和檢查asm 磁盤頭信息,恢復時需要指定ausz ,否則非默認AU 會報錯。
kfed repair /dev/sdi aus=4194304
kfed read /dev/sdi | egrep ausize|dsknum|dskname|grpname|fgname|blksize

kfed repair /dev/sdj aus=4194304
kfed read /dev/sdj | egrep ausize|dsknum|dskname|grpname|fgname|blksize
在次嘗試掛載磁盤組,成功掛載。
alter diskgroup ora_data mount;

啟動數據庫一切正常。
startup
保險起見,重啟集群檢查數據庫是否可以正常自動啟動。
srvctl stop database -db orcl
節點1:
crsctl stop crs
reboot
節點2:
crsctl stop crs
reboot
備注:如果kfed repair 修復不成功,也可以嘗試使用kefd merge 恢復之前備份的文件。
kfed merge /dev/sdi aus=4194304 sdi.diskhead
kfed merge /dev/sdj aus=4194304 sdj.d
iskhead
此方法只使用于磁盤前4k 損壞,如果是整個磁盤被格式化并寫入數據,此方法無效。還是只能使用備份恢復整個數據庫。

參考MOS 文檔:
How To Restore/Repair/Fix An Overwritten (KFBTYP_INVALID) ASM Disk Header (First 4K) 10.2.0.5, 11.1.0.7, 11.2 And Onwards (Doc ID 1088867.1)
 
END



本文作者:陸亞堯

本文來源:IT那活兒(上海新炬王翦團隊)

文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。

轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/129492.html

相關文章

  • Redis持久化存儲詳解(一)

    摘要:主要是原因根據資料提示,可以能使由于如下原因文本協議的兼容性好前面我們提及到了文件是進行二進制加密,可能不同版本之間會出現不兼容的情況,采用文本協議可以加避免該問題。 為什么要做持久化存儲? 持久化存儲是將 Redis 存儲在內存中的數據存儲在硬盤中,實現數據的永久保存。我們都知道 Redis 是一個基于內存的 nosql 數據庫,內存存儲很容易造成數據的丟失,因為當服務器關機等一些異...

    wenshi11019 評論0 收藏0
  • Java動態追蹤技術探究

    摘要:對于人類來說,字節碼文件的可讀性遠遠沒有代碼高。盡管如此,還是有一些杰出的程序員們創造出了可以用來直接編輯字節碼的框架,提供接口可以讓我們方便地操作字節碼文件,進行注入修改類的方法,動態創造一個新的類等等操作。 引子 在遙遠的希艾斯星球爪哇國塞沃城中,兩名年輕的程序員正在為一件事情苦惱,程序出問題了,一時看不出問題出在哪里,于是有了以下對話: Debug一下吧。 線上機器,沒開Debu...

    BlackFlagBin 評論0 收藏0

發表評論

0條評論

IT那活兒

|高級講師

TA的文章

閱讀更多
最新活動
閱讀需要支付1元查看
<