精品国产一级在线观看,国产成人综合久久精品亚洲,免费一级欧美大片在线观看

深入內(nèi)核:從Oracle ASM自動備份頭塊到ASMFD

責任編輯:yyuan

2016-03-14 17:39:45

摘自:比特網(wǎng)

  張樂奕

  云和恩墨副總經(jīng)理 Oracle ACE 總監(jiān)

  ITPUB Oracle數(shù)據(jù)庫管理版版主、Oracle高可用版版主、ACOUG聯(lián)合創(chuàng)始人

  在 Oracle 10.2.0.5 之前,ASM 磁盤的頭塊并沒有自己的備份,因此一旦頭塊損壞,如果沒有以前 kfed read 備份出來的信息,也就沒有辦法使用 kfed merge來作頭塊恢復,特別是如果一個磁盤組中所有的磁盤頭塊都出現(xiàn)問題(比如被人為地創(chuàng)建了 PV ),恢復 ASM 磁盤頭塊的操作就會非常麻煩。

  但是從 Oracle 10.2.0.5 之后,ASM 磁盤的頭塊會自動備份在另外一個塊中,這實際上是 Oracle 11g 出現(xiàn)的功能,不過經(jīng)過測試,在 Oracle 10.2.0.5 版本中,這個備份也是存在的。

  正是因為存在這個備份,所以 Oracle 10.2.0.5 之后的 kfed 程序才有了新的 repair 命令,該命令將備份塊直接覆蓋到磁盤頭塊,完成修復工作。

  在 Oracle 10.2.0.4 中,如果嘗試執(zhí)行 kfed repair ,則會報錯說命令行參數(shù)不正確,此報錯說明并不存在 repair 命令:

  但是在 Oracle 10.2.0.5 中,執(zhí)行 kfed repair ,則會說無法打開文件空,而這正說明 repair 命令是存在的,報錯是因為還需要明確指定要修復哪塊磁盤:

  那么這個備份塊具體存在哪里呢?在 Solaris 下的測試,我們使用truss來進行跟蹤。

  在 trace 文件中,找到下面這段,可以明確地看到 kfed 程序從第 510 個塊中讀出 4096 字節(jié),然后再寫回到第 0 個塊中。

  同樣如果是在 Linux 下用裸設(shè)備作為 ASM 磁盤,并且用 strace 進行 repair 命令的跟蹤,也可以得到類似結(jié)果。

  那么通過 kfed 命令再來驗證一下這兩個塊是否都標志為頭塊。驗證結(jié)果表示塊類型都為 DISKHEAD 。

  那么下一個疑問是,在 11gR2 以后,ASM 磁盤組的 AU Size 可以指定不同的大小,是不是不同的 AU Size 下的磁盤頭塊備份都是在第 510個 塊呢?還是用 truss 來跟蹤一下,這里的 vdisk3 屬于一個 AU Size=8M 的磁盤組,此時repair命令需要明確指定 aus,否則會報 KFED-00320 錯誤。

  在 trace 文件中,可以發(fā)現(xiàn)已經(jīng)不再是去讀第 510 個塊,而是改為讀第 4094 個塊。

  用 kfed 驗證第 4094 個塊,確實標志為 DISKHEAD。

  那么也就是 AU 1M 的磁盤組頭塊備份在第 510 個塊上,而 AU 8M 的磁盤組頭塊備份在第 4094 個塊上,備份塊的存儲位置有規(guī)律嗎?有的,始終保存在第 2個AU 的倒數(shù)第 2 個塊上。下面來驗證這個觀點。

  對于默認的磁盤組, AU Size=1M ,每個 AU 中可以存儲 256 個塊,塊號為 0-255 。第 1 個 AU 存儲 256 個塊,第 2 個 AU 最后 1 個塊號為 255,倒數(shù)第 2 個塊號是 254,也就是整體的第 510 個塊(從第 1 個 AU 的第 1 個塊往后算起)。

  對于 AU Size=8M 的磁盤組,每個 AU 可以存儲 2048 個塊,塊號為 0-2047 。第 1 個 AU 存儲 2048 個塊,第 2 個 AU 最后 1 個塊號為 2047 ,倒數(shù)第 2 個塊號是 2046 ,也就是整體的第 4094 個塊(從第 1 個 AU 的第 1 個塊往后算起)。

  對于其它 AU Size 磁盤組的驗證,看到文章的朋友有興趣可以自己做一下。

  結(jié)論:

  從 Oracle 10.2.0.5 開始, ASM 磁盤已經(jīng)開始自動將頭塊進行備份,備份塊的位置在第 2 個 AU 的倒數(shù)第 2 個塊上(對于默認 1M 的 AU 來說,是第 510 個塊),如果頭塊損壞,可以用 kfed repair 命令來修復。因此對于選用 ASM 存儲作為生產(chǎn)環(huán)境的用戶來說,盡快升級到 10.2.0.5 是明智的選擇。

  在 Oracle 12c 中,Oracle更是推出了 ASMFD 新特性,防止ASM磁盤收到意外的傷害,具體請參考文章:Oracle 12c ASM 防火防盜新特性揭秘 

鏈接已復制,快去分享吧

企業(yè)網(wǎng)版權(quán)所有?2010-2024 京ICP備09108050號-6京公網(wǎng)安備 11010502049343號

  • <menuitem id="jw4sk"></menuitem>

    1. <form id="jw4sk"><tbody id="jw4sk"><dfn id="jw4sk"></dfn></tbody></form>
      主站蜘蛛池模板: 东台市| 思南县| 庐江县| 扎兰屯市| 黔江区| 扎赉特旗| 彭州市| 盐池县| 邢台县| 闽清县| 新余市| 富阳市| 五寨县| 嵩明县| 腾冲县| 翁源县| 万载县| 邯郸县| 电白县| 泊头市| 昭通市| 张家口市| 县级市| 利川市| 兰州市| 鞍山市| 湛江市| 马关县| 区。| 威宁| 青浦区| 余江县| 周口市| 田林县| 高州市| 五常市| 弥渡县| 常熟市| 若尔盖县| 临安市| 榆中县|