您好,登錄后才能下訂單哦!
ASM 11R2基本知識點有哪些,針對這個問題,這篇文章詳細介紹了相對應的分析和解答,希望可以幫助更多想解決這個問題的小伙伴找到更簡單易行的方法。
1 基本概念
ASM實例一直處于started或mounted狀態,11R2其在監聽器中注冊狀態為ready,即支持遠程訪問;
啟動時將連接字符串注冊到CSS,數據庫實例啟動時由ASMB讀取以此建立同ASM的聯系,ASM使用前臺進程UFG同數據庫實例聯系;
磁盤以AU為分配單位,在創建磁盤組時指定,范圍為1-64M;
ASM文件以extent為單位,一個extent可對應若干AU,為避免管理大文件占用過量SGA,oracle采用可變大小的Extent
0-20000區間, extent = AU
20000-40000區間,extent = 4* AU
>40000,extent=16* AU
通常建議ASM extent 等于或是 DB extent的整數倍;
同一磁盤在不同RAC節點的路徑可以不一致,依靠其磁盤頭判斷是否同一磁盤;
2 鏡像與條帶
鏡像
ASM采用extent鏡像而非磁盤鏡像,若某個磁盤失敗,則區間指針可借助磁盤伙伴被重定向到區間鏡像;
在normal和high冗余策略下,ASM將主區間和區間鏡像保存于不同的故障組;
ASM的磁盤伙伴維護extent鏡像拷貝,其存于PST伙伴狀態表中;ASM基于故障組定義自動選擇磁盤伙伴,而故障組在創建磁盤組時指定;
磁盤最多可有10個active伙伴關系,drop disk會引發重置形成新的伙伴關系,PST跟蹤此操作直至rebalance完成;
過多的磁盤組嵌套可能會耗盡空間,引發ORA-15074 diskgroup requires rebalance completion;
在normal和high磁盤組中,可以為文件單獨指定冗余級別;
條帶化
將AU存于同一故障組的不同磁盤上,分為粗粒度和細粒度;
粗粒度:條帶=AU,當區間>20000時,一個extent的AU可位于不同磁盤上,提高IO吞吐量;
細粒度:條帶=128K,減少IO延遲,適用于online logfile(可單獨建立細粒度磁盤組);
文件模板決定了條帶化類型,如果創建文件時不顯示指定則選擇默認模板;
3 數據結構
分為物理元數據和虛擬元數據,
3.1 物理元數據
存于磁盤前2個AU,用于必要的ASM引導;
3.1.1 磁盤頭第1個AU的首塊,大小為4K;
磁盤名/磁盤號
磁盤組/故障組名
磁盤/AU大小
創建/加載時間
ASM/DBMS兼容性
文件目錄指針
3.1.2 AT分配表
記錄磁盤的AU使用情況,每個AU對應一個分配條目ATE(entry),多個ATE組成一個ATB(block);
當AU被某文件使用時,其ATE記錄下file no + extent no;
為分配的AU標示為free,而free extent保存于1個鏈表中以便分配,
其與虛擬元數據file directory互補,可通過alter diskgroup … check驗證其一致性;
3.1.3 FST 空閑空間表
每個ATB包含一個FST條目,描述其下free extent;
請求空間分配時,ASM通過FST跳過full ATB;
3.1.4 PST伙伴關系表
占用第2個AU,跟蹤磁盤組成員和磁盤伙伴,ASM通過其判斷磁盤組是否有足夠磁盤在線;
針對每個磁盤,PST記錄 磁盤狀態 + 伙伴個數 + 伙伴列表;
任意時間一個磁盤組只能有一個active PST,默認一個故障組包含1個PST;
PST副本: PST shadow為active PST的副本(兩者位于不同磁盤),其副本隨著active PST更新,完畢后兩者角色互換;
PST最后1個塊用于磁盤心跳,1避免磁盤組在不同集群中同時加載,類似控制文件
3.2 虛擬元數據
位于ASM文件中,分為directories和registers,前者為ASM獨立訪問的元數據文件,文件號從1開始;后者文件號從255倒計數,為保留的ASM文件;
3.2.1 File directory
包含所有ASM文件的metadata,與物理元數據的AT對應;文件號為1 ;
Incarnation number + file size + file type + redundancy level + strip level + created/modified time + file layout
ASM文件被刪除后文件號可重用,incarnation number卻不可能相同,由此保證文件的唯一性;
File layout:由區間指針組成,包括區間對應的磁盤號和 AU號,1個file directory包含60個直接區間指針 和最多300個間接區間
3.2.2 Disk directory
包含磁盤組所有信息,與PST對應但比之更詳盡,文件號為2;
3.2.3 ACD
類似redo日志,文件號3;
每個ASM實例擁有1個42M的ACD chunk,第一個塊包含打開/關閉狀態和檢查點(3秒更新1次),其余循環利用;
3.2.4 COD
類似undo,跟蹤耗時較長操作如rebalance/文件創建,文件號4;
若當前實例執行rebalance失敗,集群其他節點可重啟該操作;
其余還有template directory, alias directory以及attribute directory;
3.2.5 Staleness registry
當compatible.rdbms>=11.1且冗余類似為normal或high時才可用,文件號254;
當磁盤offline時在SR中獲取1個slot,為該磁盤每個AU分配1個bit,若offline期間發生寫操作則設置AU的bit位;
當磁盤再次online時,ASM根據slot中被更新的bit位從鏡像區間同步數據,以此完成11R2的fast mirror resync;
4 與數據庫交互
創建文件
RDBMS向ASM發送創建文件請求,ASM分配空間并將extent map返回給RDBMS,文件名格式為+<磁盤組>/<數據庫名>/<文件類型>/<file tag.file #.incarnation#>;
RDBMS初始化文件,由COD跟蹤尚未完成的文件創建;
RDBMS提交完成請求,則ASM的LGWR清除ACD,DBWR更新AT以及file directory和alias directory;若RDBMS撤銷創建請求,則ASM使用COD回滾;
刪除文件也由COD全程跟蹤并在失敗時回滾;
打開文件
RDBMS發送請求給ASM,后者將文件的extent map返回給RDBMS;11G會先發送60個直接區間,根據RDBMS請求再傳送間接區間;
讀錯誤
讀主區間遭遇錯誤時自動選擇鏡像區間,11g還可自動對主區間的壞塊進行修復;
若ASM實例不能讀取虛擬元數據則強制卸載磁盤組,若不能讀取磁盤的物理元數據則將其offline;
寫錯誤
若ASM實例收到寫錯誤則嘗試該磁盤offline,并通過PST查看伙伴磁盤狀態,若很多伙伴磁盤也offline則強制卸載磁盤組;
將消息傳給其他ASM實例,由其更新RDBMS實例;
Compatible.rdbms >=11.1時disk_repair_time指定磁盤可offline最長時間;
關于ASM 11R2基本知識點有哪些問題的解答就分享到這里了,希望以上內容可以對大家有一定的幫助,如果你還有很多疑惑沒有解開,可以關注億速云行業資訊頻道了解更多相關知識。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。