这节将ASM文件,并介绍其如何在磁盘组中分布的
存储在ASM 磁盘组的文件称之为ASM 文件,Oracle数据库和ASM通过ASM 文件来交互
磁盘组支持如下类型的文件
注意:Oracle可执行和 ASCII 文件,例如alert日志,trace文件等无法放在ASM 磁盘组中
ASM会自动命令ASM文件名,当然你也可以手动指定路径和名称
名称路径最前面为+号,后面跟上磁盘组名称,如+HDB_DATA
上节说到ASM Extents为分配空间的最小单位,一个区只会包含在一个磁盘中,一个区包含一个或多个AU
Oracle ASM 支持可变大小的区(Variable size extents)
上图显示出了ASM 文件在磁盘组中的分配情况
最小的长方形代表一个AU
可以看到文件的前8个extent分布在磁盘组中的各个磁盘中
ASM Striping 有2个用处
为了达到目的,ASM 通过将 ASM文件分成一个个条带(stripes) ,然后将其分散在磁盘组中磁盘中
Oracle提供2种方式的striping
fine-grained stripe 的stripes 的大小始终为128K
我们将ASM文件分成很多128 K 的chunks,每个AU也划分为每个128K的chunks,首先放入第一个磁盘的第一个extent,然后第二个磁盘的第一个extent,然后循环起来直至ASM 文件全部放置完成
可以看出这种方式将文件细分成很小的大小分散在各个磁盘中,提高了I/O的响应速度,对并发高,要求延迟小的OLTP系统有利
fine-grained stripe 的stripes 的大小为AU的大小
我们将ASM文件分解成很多块,每个大小为AU的大小,首先放入第一个磁盘的第一个extent,然后第二个磁盘的第一个extent,以此类推直至所有ASM文件放置完成
可以看出这种方式每次I/O可访问更多的数据,对对吞吐量要求较高的OLAP系统有利
模板为一个集合,里面包含冗余级别和条带化的属性值,在建立文件时可指定模板
ASM 提供默认模板供不同的文件类型使用,你可以自定义其中的属性来满足需求
下图为一些文件类型默认的模板属性值