oracle asm指的是“自動儲存管理”,是一種磁碟區管理器,可自動管理磁碟組並提供有效的資料冗餘功能;它是做為單獨的Oracle實例實施和部署。 asm的優點:1、設定簡單、可最大化推動資料庫合併的儲存資源利用;2、支援BIGFILE檔案等。
本教學操作環境:Windows7系統、Oracle 10g版、Dell G3電腦。
一、ASM是什麼
ASM(Automatic Storage Management,自動儲存管理)是Oracle10g R2中為了簡化Oracle資料庫的管理而推出來的新功能,這是Oracle自己提供的捲管理器,主要用於替代作業系統所提供的LVM,它不僅支援單一實例,同時對RAC的支援也是非常好。
ASM可以自動管理磁碟組並提供有效的資料冗餘功能。使用ASM(自動儲存管理)後,資料庫管理員不再需要對 ORACLE中成千上萬的資料檔案進行管理和分類,從而簡化了DBA的工作量,可以使得工作效率大大提高。
使用 ASM,可以將儲存空間作為少量被稱為 ASM 磁碟組的儲存池進行管理。資料庫相關文件分配給 ASM 磁碟組,ASM 管理佈局和資料組織,確保實現卓越效能並防止儲存硬體故障。使用 ASM 磁碟組可以輕鬆、方便地整合存儲,並簡化先前需要 DBA 和系統管理員執行的管理任務。 ASM 為 ASM Cluster File System (ACFS) 提供底層儲存管理,後者可以集中儲存資料庫外的資料。
ASM提供了與平台無關的檔案系統、邏輯磁碟區管理以及軟體RAID服務。 ASM可以支援條帶化和磁碟鏡像,從而實現了在資料庫被載入的情況下新增或移除磁碟以及自動平衡I/O以刪除「熱點」。它還支援直接和非同步的I/O並使用Oracle9i中引入的Oracle資料管理器 API(簡化的I/O系統呼叫介面)。
ASM是做為單獨的Oracle實例實施和部署,並且它只需要有參數文件,不需要其它的任何物理文件,就可以啟動ASM實例,只有它在運行的時候,才能被其它數據存取。在Linux平台上,只有運行了OCSSD服務(Oracle安裝程式預設安裝)了才能和存取ASM。
二、使用ASM的好處
#優點:
(1)將I/ O平均分部到所有可用磁碟機上以防止產生熱點,並且最大化效能。在ASM中是DiskGroup概念與LVM卷組管理中VG的概念類似,也是將多塊實體磁碟總成一個磁碟組,一個磁碟組中的資料是均勻分佈在各個實體磁碟上的。手動新增和刪除實體磁碟時,資料會自動均衡(ReBalance);
(2) 配置更簡單,並且最大化推動資料庫合併的儲存資源利用;資料檔案都儲存在DiskGroup中(簡稱DG ),管理相對簡單。
(3) 內在支援大文件,支援BIGFILE文件。
(4) 在增量增加或刪除儲存容量後執行自動聯繫重分配,即自動ReBalance;
(5) 維護資料的冗餘副本以提高可用性;
(6) 支援10g、11g的資料儲存及RAC的共享儲存管理,相對來說11g的ASM較穩定,10g中有些BUG。
(7) 支援第三方的多路徑軟體;如powerpath(aix)、mutlipath(linux)
(8) 使用OMF(Oracle Managed Files)方式來管理檔案。
缺點:
(1) 資料庫中新增一個ASM實例,維護上需要對ASM進行管理,增加了維護成本;
# (2) ASM相對來說是個黑盒子,如果出問題,恢復起來也是個難點。
三、ASM冗餘方式
ASM使用獨特的鏡像演算法:不鏡像磁碟,而是鏡像磁碟區。結果,為了在產生故障時提供連續的保護,只需要磁碟組中的空間容量,而不需要預備一個熱備(hot spare)磁碟。不建議使用者建立不同尺寸的故障組,因為這將會導致在分配輔助盤區時產生問題。 ASM將檔案的主磁碟區指派給磁碟組中的磁碟時,它會將該磁碟區的鏡像副本指派給磁碟組中的另一磁碟。給定磁碟上的主磁碟區將在磁碟組中的某個夥伴磁碟上具有各自的鏡像磁碟區。 ASM確保主磁碟區和其鏡像副本不會駐留在相同的故障群組。磁碟組的冗餘可以有如下的形式:雙向鏡像檔(至少需要兩個故障組)的普通冗餘(預設冗餘)和使用三向鏡像(至少需要3個故障組)提供較高保護程度的高冗餘。一旦建立磁碟組,就不可以改變它的冗餘等級。為了改變磁碟組的冗餘,必須建立具有適當冗餘的另一個磁碟組,然後必須使用RMAN還原或DBMS_FILE_TRANSFER將資料檔案移至這個新建立的磁碟組。
三種不同的冗餘方式如下:
(1)外部冗餘(external redundancy)--常用
# 表示Oracle不幫你管理鏡像,功能由外部儲存系統實現,例如透過RAID技術;有效磁碟空間是所有磁碟設備空間的大小總和。
(2)預設冗餘(normal redundancy)
# 表示Oracle提供2份鏡像來保護數據,有效磁碟空間是所有磁碟裝置大小總和的1/2(使用最多)
(3)高度冗餘(high redundancy)
表示Oracle提供3份鏡像來保護數據,以提高性能和數據的安全,最少需要三塊磁碟(三個failure group );有效磁碟空間是所有磁碟設備大小總和的1/3,雖然冗餘等級高了,但是硬體的代價也最高。
四、ASM進程
ASM實例除了傳統的DBWR,LGWR,CKPT,SMON,PMON等進程還包含如下四個新後台程序:
(1) RBAL:負責協調磁碟組的重新平衡活動(負責磁碟組均衡)
(2) ARB0-ARBn:在同一時刻可以存在許多此類進程,它們分別名為ARB0、ARB1,以此類推,執行實際的重新平衡分配單元移動程序。
(3) GMON:用於ASM磁碟組監控
(4) O0nn 01-10:這組程序建立到ASM實例的連接,某些長時間操作例如建立資料文件,RDBMS會透過這些進程向ASM發送訊息
ASMB與ASM 實例的前台進程連接,週期性的檢查兩個instance的健康狀況。每個資料庫實例同時只能與一個ASM實例連接,因此資料庫只會有一個ASMB後台程序。如一個節點上有多個資料庫實例,它們只能共用一個ASM實例。
RBAL用來進行全域調用,以開啟某個磁碟組內的磁碟。 ASMB程序與該節點的CSS守護程序進行通信,並接收來自ASM實例的檔案區間映射資訊。 ASMB也負責為ASM實例提供I/O統計資料
CSS叢集同步服務。要使用ASM,必須確保已經執行了CSS叢集同步服務,CSS負責ASM實例和資料庫實例之間的同步。
注意:
ASM實例必須先於資料庫執行個體啟動,和資料庫執行個體同步運行,遲於資料庫執行個體關閉。 ASM 實例和資料庫實例的關係可以是1:1,也可以是1:n。如果是1:n,最好為ASM 安裝單獨的ASM_HOME。
五、##ASM支援檔案型別
ASM
支援datafile,logfiles,control files,archivelogs,RMAN backup sets等自動的資料庫檔案管理。
一般來說,一個採用ASM單一實例資料庫由兩個DG組成。一個是datadg,另外一個是fradg。 Datadg主要是存放資料文件,而fradg(flash recovery area)則存放archivelog文件,control文件和備份文件等。
六、ASM實例與資料庫實例對應關係
#七、 Cluster ASM 架構 |
#八、相關視圖 ######################################################################### ###########視圖名稱###################X$######基底表名####### |
描述 |
#V$ASM_DISKGROUP |
#X $KFGRP |
實作磁碟發現disk discovery和列出磁碟組 |
V$ASM_DISKGROUP_STAT |
X$KFGRP_STAT |
顯示disk group狀態 |
V$ASM_DISK |
X$KFDSK, X$KFKID |
#實作磁碟發現disk discovery和列出磁碟以及這些磁碟的使用度量資訊 |
#V$ASM_DISK_STAT |
X$KFDSK_STAT,X$KFKID |
#列出磁碟和其使用度量資訊 |
V$ASM_FILE |
X$KFFIL |
列出ASM檔案也包含了元資料資訊 |
V$ASM_ALIAS |
X$KFALS |
列出了ASM的別名,檔案與目錄 |
#V$ASM_TEMPLATE |
||
X$KFTMTA | 列出可用的模板和其屬性 | V$ASM_CLIENT |
#X$KFNCL | 列出連結到ASM的DB實例 | V$ASM_OPERATION |
X$KFGMG | #列出rebalancing重平衡運算 | |
## |
X$KFKLIB |
#可用的ASMLIB路徑 |
# |
X$KFDPARTNER |
#列出Disk-partners關係 |
|
X$KFFXP |
#所有ASM檔案的extent map |
|
X$KFDAT |
#所有ASM Disk的extent清單 |
X$KFBH | #描述ASM cache | |
X$KFCCE | #ASM block的鍊錶 | #### ###V$ASM_ATTRIBUTE(new in 11g)############X$KFENV(new in 11g)############Asm屬性,此X$基表格也顯示一些隱藏屬性##################V$ASM_DISK_IOSTAT(new in 11g)############X$KFNSDSKIOST(new in 11g)############I/O統計資訊################## ############X $KFDFS(new in 11g)############ ################## ############X $KFDDD(new in 11g)############ ################## ############X $KFGBRB(new in 11g)############ ################## ############X $KFMDGRP(new in 11g)############ #### |
|
X$KFCLLE(new in 11g) |
|
|
X$KFVOL(new in 11g) |
|
|
X$KFVOLSTAT(new in 11g) |
|
|
X$KFVOFS(new in 11g) |
|
|
X$KFVOFSV(new in 11g) |
|
推薦教學:《Oracle教學》
以上是什麼是oracle asm的詳細內容。更多資訊請關注PHP中文網其他相關文章!