几个ASM disk构成一个ASM disk group。与LVM类似,一个ASM disk就相当于LVM里的一个physical volume。与LVM不同的是,共享一个共同的故障点(例如磁盘控制器)的几个ASM disk可以组成一个failure group。一个ASM disk group可以用来存储物理数据库结构:数据文件、控制文件、redo日志和其他一些文件类型。与linux里的逻辑卷管理器(LVM)相比较,disk group上面没有再创建逻辑卷,取而代之的是,数据库中的所有文件进行了逻辑分组放在disk group上的一个目录里。ASM中不需要文件系统,这也是为何ASM相对传统的LVM更具性能优势。
Grid Infrastructure引入了ASM集群文件系统(ACFS),消除了存储通用用途文件的限制。ASM使用stripe-and-mirror-everything方式来提供最佳性能。
ASM和ACFS的使用不受集群的限制;单实例oracle同样可以通过它得到很多好处。技术上,Oracle ASM被应用为一种特殊的Oracle实例,它有自己的SGA,但没有持续的字典。在RAC中,每个集群节点有且只有一个单独的ASM实例。当启动的时候,每个实例会通过集群软件中的初始化参数在Grid Infrastructure检测到ASM磁盘组资源。每个实例将挂载这些磁盘组。通过赋予正确的权限(ASM11.2中引入了访问控制列表(ACLs))数据库可以访问它们自己的数据文件。使用ASM需要应用OMF,这意味着不同的数据库文件管理方式。RDBMS实例中的初始化参数,例如db_create_file_dest和db_create_online_dest_n,还有db_recovery_file_dest,指定了相关的文件存储在哪个磁盘组中。当需要创建一个新的文件时,OMF将以以下格式来创建:
+diskGroupName/dbUniqueName/file_type/file_type_tag.file.incarnation 给个例子:+DATA/oradb/datafile/users.293.699134381