自动存储管理 (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)。
● 镜像 — 若是硬件镜像不可用,则能够容易地创建软件镜像。