知道了上面的这个概念,我们再来看这个参数 ASM_PREFERRED_READ_FAILURE_GROUPS 。显然实现 Normal 冗余后,数据库的写入必须是写两份都完成,才算写成功(例子中就是写如了FG1, 也写入了FG2, 交叉写入primary copy 和 second copy) 。 我们的RAC节点如果都是在本地机房,那么在读取的时候,优先读取primary copy , 那么可以读到FG1,FG2 上更多的磁盘,提高了读取速度, 但是如果我们的RAC是Extended Cluster (节点在不同的几个远距离SITE) , 那么远端读取数据的代价就较大了,且占用了带宽,这时候我们可以设置本地的实例只读取本地的磁盘组, 这个参数是在11g版本引入的 。 比如3节点RAC , 1,2 在深圳,3节点在广州 :
alter system set ASM_PREFERRED_READ_FAILURE_GROUPS='DATA.FG01' sid='ORCL1';
alter system set ASM_PREFERRED_READ_FAILURE_GROUPS='DATA.FG01' sid='ORCL2';
alter system set ASM_PREFERRED_READ_FAILURE_GROUPS='DATA.FG02' sid='ORCL3';
设置后,可以通过如下语句分别在两个site对应FG查看READ情况,是否各自读取自己的FG :
select instname, failgroup, sum(reads), sum(writes) from v$asm_disk_iostat group by instname,failgroup order by 1,2;
-- END --
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/35489/viewspace-1173383/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/35489/viewspace-1173383/