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最長時間;
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/25462274/viewspace-2148902/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- C++基本知識點C++
- 執行緒基本知識點執行緒
- 圖片的基本知識點
- react-native基本知識點(4/4)React
- canvas畫布基本知識點總結Canvas
- git基本知識Git
- Uboot基本知識boot
- DAX 基本知識
- 1、基本知識
- javaweb基本知識JavaWeb
- shell基本知識
- js 基本知識JS
- MySQL基本知識點梳理和查詢優化MySql優化
- ASM 翻譯系列第十三彈:ASM 高階知識 - Forcing the issueASM
- 影像的基本知識
- Vagrant (一) - 基本知識
- TypeScript基本知識點整理(看完絕對入門---真的!!)TypeScript
- 知識點
- Javascript物件的基本知識JavaScript物件
- python入門基本知識Python
- Vuejs基本知識(九)【路由】VueJS路由
- 磁碟的基本知識和基本命令
- CSS基本知識點——帶你走進CSS的新世界CSS
- 混合知識點
- Promise知識點Promise
- Laravel 知識點Laravel
- MySQL知識點MySql
- 知識點——terms
- Redis知識點Redis
- JavaWeb知識點JavaWeb
- rabbitmq 知識點MQ
- SQL知識點(+)SQL
- 前端知識點前端
- Android 知識點Android
- ajax知識點
- 通用知識點
- Weex 知識點
- PLC程式設計—基本知識C程式程式設計
- MySQL資料庫基本知識MySql資料庫