Oracle ASM实例详解:后台进程与磁盘管理

需积分: 20 13 下载量 184 浏览量 更新于2024-08-15 收藏 978KB PPT 举报
"Oracle ASM(自动存储管理)是Oracle 10g及后续版本引入的一种集成存储解决方案,它结合了文件系统和裸设备的优势,提供高效、灵活的数据存储和管理。ASM实例由ASM实例和ASM磁盘组两部分构成,旨在简化数据库的存储管理并提升性能。" 在Oracle ASM中,ASM实例主要负责以下功能: 1. RBAL (Rebalance) 进程:协调磁盘组内的数据重新分布,确保数据在磁盘间的平衡,这在添加或移除磁盘后进行,以保持数据的均匀分布和最佳性能。 2. ARBn 进程:执行实际的rebalance工作,可以并发运行,加速数据迁移过程。 3. GMON (Global Monitor) 进程:监控磁盘组内的元数据维护,确保ASM实例能够准确跟踪存储的状态。 对于使用ASM存储的数据库实例,有两个特定的进程: 1. RBAL 进程:负责打开磁盘组,通过DBWn进程将数据写入到相应的磁盘,实现数据库与ASM的交互。 2. ASMB (ASM Buffer) 进程:在首次访问ASM文件时启动,它作为前台进程连接到ASM实例,建立起数据库实例与ASM实例之间的通信通道。通过GROUP Services,数据库实例能获知ASM实例管理的磁盘组信息,并通过RBAL进程进行磁盘的打开和数据写入。 在ASM之前,存储管理通常涉及文件系统或裸设备。文件系统虽然易于管理但性能较低,而裸设备性能高但管理复杂。Oracle ASM克服了这些缺点,它允许直接读写存储,类似裸设备操作,同时提供了文件系统的一些特性,如文件命名、动态扩展和收缩文件大小。 ASM磁盘组是ASM的核心组成部分,它可以包含多个磁盘,每个磁盘又可以包含多个文件。ASM文件分布在磁盘组的所有磁盘上,实现文件级别的条带化,提高I/O性能。ASM磁盘组支持多种冗余级别,确保数据安全性,并能在线进行磁盘更换、添加或删除,自动执行rebalance操作。 ASM磁盘组中的基本单位是分配单元(AU),通常大小为1MB,Oracle数据块固定在AU中,不跨多个AU。每个AU由多个物理磁盘块组成,是ASM进行扩展和收缩的基本单位。磁盘组可以包含多个数据库文件,实现存储资源的有效利用。 ASM实例则管理与ASM文件相关的元数据,为数据库实例访问和读写ASM文件提供必要信息。通过ASM,数据库实例可以直接打开ASM磁盘,无需经过操作系统文件系统,从而提高效率和性能。ASM的跨平台兼容性和统一的管理方式使其成为数据库存储管理的理想选择。