自動存儲管理 (ASM) 是 Oracle 數據庫 10g/11g 的一個特性,它爲數據庫管理員提供了一個簡單的存儲管理界面,而且該界面在全部服務器和存儲平臺上都是一致的。做爲專門爲 Oracle 數據庫文件建立的垂直集成文件系統和卷管理器,ASM 提供了異步 I/O 的性能以及文件系統的易管理性。ASM 提供了可節省 DBA 時間的功能,以及管理動態數據庫環境的靈活性,而且提升了效率數據庫
假設您要在數據庫中使用 10 個磁盤。利用 ASM,您不須要在 OS 端建立任何東西,該特性將把一組物理磁盤集合成一個邏輯實體(稱爲磁盤組)。磁盤組相似於一個分段(和可選鏡像)文件系統,但具備重要的差別:它不是一個用於存儲用戶文件的通用文件系統,而且它不進行緩衝。因爲後面的緣由,磁盤組提供了直接做爲原始設備來訪問這個空間,並仍提供文件系統的便利性和靈活性的好處。服務器
邏輯卷管理器通常使用一個函數(如散列函數)來將塊的邏輯地址映射到物理塊。計算使用 CPU 週期。此外,當增長一個新的磁盤(或 RAID-5 磁盤組)時,這種典型的分段函數須要從新定位整個數據集中的每一位。oracle
相比而言,ASM 使用一個特殊的 Oracle 例程來解決從文件區到物理磁盤塊的映射問題。這種設計除了定位文件區很是快速以外,還在增長或刪除磁盤時有所幫助,由於文件區的位置不須要調整。這個特殊的 ASM 例程相似於其它的文件系統,必須運行此例程,ASM 才能工做,而且用戶不能進行修改。一個 ASM 例程能夠在同一臺服務器上支持許多 Oracle數據庫例程。異步
這個特殊的例程只是一個例程,不是用戶能夠在其中建立對象的數據庫。全部關於磁盤的元數據都存儲在磁盤組自己中,使得它們可以儘量地自我描述。函數
那麼歸納地說,ASM 的優勢是什麼?性能
● 磁盤增長 — 增長磁盤變得很是容易。無需停機時間,而且文件區域自動從新分配。ui
● I/O 分配 — I/O 自動分佈在全部可用的磁盤上,無需人工干預,從而減小了熱點出現的可能性。設計
● 帶區寬度 — 在重作日誌文件中分段能夠細分(128K,以得到更快的傳輸速率),對於數據文件,帶區則略大一些(1MB,以一次性傳輸大量的數據塊)。日誌
● 緩衝 — ASM 文件系統不進行緩衝,直接進行輸入/輸出。對象
● 核心化的異步 I/O — 實現核心化的異步 I/O 無需特殊的設置,而且無需使用原始或第三方的文件系統(如 Veritas Quick I/O)。
● 鏡像 — 若是硬件鏡像不可用,則能夠容易地創建軟件鏡像。