一、 ASM(自動存儲管理)的來由:
ASM是Oracle 10g R2中為了簡化Oracle數據庫的管理而推出來的一項新功能,這是Oracle自己提供的卷管理器,主要用於替代操作系統所提供的LVM,它不僅支持單實例,同時對RAC的支持也是非常好。ASM可以自動管理磁盤組並提供有效的數據冗余功能。使用ASM(自動存儲管理)后,數據庫管理員不再需要對ORACLE中成千上萬的數據文件進行管理和分類,從而簡化了DBA的工作量,可以使得工作效率大大提高。
二、 什么是ASM
ASM它提供了以平台無關的文件系統、邏輯卷管理以及軟RAID服務。ASM可以支持條帶化和磁盤鏡像,從而實現了在數據庫被加載的情況下添加或移除磁盤以及自動平衡I/O以刪除“熱點”。它還支持直接和異步的I/O並使用Oracle9i中引入的Oracle數據管理器API(簡化的I/O系統調用接口)。
ASM是做為單獨的Oracle實例實施和部署,並且它只需要有參數文件,不需要其它的任何物理文件,就可以啟動ASM實例,只有它在運行的時候,才能被其它數據訪問。在Linux平台上,只有運行了OCSSD服務(Oracle安裝程序默認安裝)了才能和訪問ASM。
三、 使用ASM的好處:
1、 將I/O平均分部到所有可用磁盤驅動器上以防止產生熱點,並且最大化性能。
2、 配置更簡單,並且最大化推動數據庫合並的存儲資源利用。
3、 內在的支持大文件
4、 在增量增加或刪除存儲容量后執行自動聯系重分配
5、 維護數據的冗余副本以提高可用性。
6、 支持10g,11g的數據存儲及RAC的共享存儲管理
7、 支持第三方的多路徑軟件
8、 使用OMF方式來管理文件
四、 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等進程還包含如下四個新后台進程:
RBAL:負責協調磁盤組的重新平衡活動(負責磁盤組均衡)
ARB0-ARBn:在同一時刻可以存在許多此類進程,它們分別名為ARB0、ARB1,以此類推,執行實際的重新平衡分配單元移動進程。
GMON:用於ASM磁盤組監控
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支持datafile,logfiles,control files,archivelogs,RMAN backup sets等自動的數據庫文件管理
七、 ASM實例和數據庫實例對應關系