Oracle 11gR2
语法:
ASM_PREFERRED_READ_FAILURE_GROUPS = ., ...
我们先温习一下:
什么是 ASM failure group?
Oracle ASM通过failure group来提供数据的高可用性。ASM使用的镜像算法并不是镜像整个disk(和RAID不同),而是extent级的镜像 (ASM extent是由1个或多个AU组成的,详细见前几章的说明)。所以一般要求failure group使用相同容量的disk,以免分配extent时出现问题。
在normal redundancy模式下,ASM环境中每分配一个extent都会有一个primary copy和一个second copy,ASM的算法保证了second copy和primary copy一定是在不同的failure group中(比如FG1,FG2),当然FG1, FG2必须是两个物理独立的磁盘组才能保证真正的Normal冗余。 通过这个算法,ASM保证了即使一个failure group中的所有disk都损坏了,数据也是完整的。
Oracle在分配extent的时候,所有failure group中的这个将拥有相同数据的extent称为一个extent set,当Oracle将数据写入文件的时候,primary copy可能在任何一个failure group中,而second copy则在另外的failure group中 (说简单一点,就是交叉写FG1,FG2, 比如前一个extent的主镜像写在FG1,副镜像写在FG2, 下一个extent的主镜像写在FG2 , 副镜像写在FG1),当Oracle读取数据的时候,除非是primary copy不可用,否则将优先从primary copy中读取数据 (这样就会读取到几乎所有的磁盘,因为FG1,FG2上都有primary copy),通过这种写入无序,读取有序的算法,Oracle保证了数据读取尽量分布在多个disk中。
-- 未完,见下一篇 --
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/35489/viewspace-1173382/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/35489/viewspace-1173382/