自動存儲管理 (ASM) 是 Oracle 資料庫 10g/11g 的一個特性,它為資料庫管理者提供了一個簡單的存儲管理界面,并且該界面在所有伺服器和存儲平台上都是一緻的。作為專門為 Oracle 資料庫檔案建立的垂直內建檔案系統和卷管理器,ASM 提供了異步 I/O 的性能以及檔案系統的易管理性。ASM 提供了可節省 DBA 時間的功能,以及管理動态資料庫環境的靈活性,并且提高了效率
假設您要在資料庫中使用 10 個磁盤。利用 ASM,您不需要在 OS 端建立任何東西,該特性将把一組實體磁盤集合成一個邏輯實體(稱為磁盤組)。磁盤組類似于一個分段(和可選鏡像)檔案系統,但具有重要的差異:它不是一個用于存儲使用者檔案的通用檔案系統,并且它不進行緩沖。由于後面的原因,磁盤組提供了直接作為原始裝置來通路這個空間,并仍提供檔案系統的便利性和靈活性的好處。
邏輯卷管理器一般使用一個函數(如散列函數)來将塊的邏輯位址映射到實體塊。計算使用 CPU 周期。此外,當增加一個新的磁盤(或 RAID-5 磁盤組)時,這種典型的分段函數需要重新定位整個資料集中的每一位。
相比而言,ASM 使用一個特殊的 Oracle 例程來解決從檔案區到實體磁盤塊的映射問題。這種設計除了定位檔案區非常快速之外,還在增加或删除磁盤時有所幫助,因為檔案區的位置不需要調整。這個特殊的 ASM 例程類似于其它的檔案系統,必須運作此例程,ASM 才能工作,并且使用者不能進行修改。一個 ASM 例程可以在同一台伺服器上支援許多 Oracle 資料庫例程。
這個特殊的例程隻是一個例程,不是使用者可以在其中建立對象的資料庫。所有關于磁盤的中繼資料都存儲在磁盤組本身中,使得它們能夠盡可能地自我描述。
那麼概括地說,ASM 的優點是什麼?
● 磁盤增加 — 增加磁盤變得非常容易。無需停機時間,并且檔案區域自動重新配置設定。
● I/O 配置設定 — I/O 自動分布在所有可用的磁盤上,無需人工幹預,進而減少了熱點出現的可能性。
● 帶區寬度 — 在重做日志檔案中分段可以細分(128K,以獲得更快的傳輸速率),對于資料檔案,帶區則略大一些(1MB,以一次性傳輸大量的資料塊)。
● 緩沖 — ASM 檔案系統不進行緩沖,直接進行輸入/輸出。
● 核心化的異步 I/O — 實作核心化的異步 I/O 無需特殊的設定,并且無需使用原始或第三方的檔案系統(如 Veritas Quick I/O)。
● 鏡像 — 如果硬體鏡像不可用,則可以容易地建立軟體鏡像。