查看其它 3 个回答liuhefromoracle的回答

liuhefromoracleliuhefromoracle数据库管理员Oracle

我从Oracle数据库层RAC说一下吧,个人比较喜欢用ASM,用ASM可以解决一部分性能问题,之所以说一部分是因为ASM也只能解决"读"的问题;

由于距离产生的延迟,那么最好的办法就是不缩短距离,这个好像是废话,但是对于Oracle ASM的 redundancy来说其实是可以做到的,比如创建Oracle ASM的磁盘组的时候选择的是Normal redundancy的方式,那么磁盘组就会至少有2个failure group ,而我们可以把2个failure group里的物理盘手工的划分到不同的物理位置,一般双活都有2个机房,那么一个failure group里放一个机房的磁盘,另外一个fialure group里放置另外一个机房的磁盘,这样双活也就实现了,但是随即而来的问题就是物理距离的增加和光信号的衰减和传输的性能降低,Oracle ASM考虑到提升一部分功能,在参数里提供了asm_preferred_read_failure_groups这个参数,也就是说当做物理读的时候每一个机房里的节点(RAC节点)都可以配置自己优先读的“机房” ,这样可以保证“读”不受“距离”的影响,但是“写” 是必须要在双节点都完成的,所以对于ASM来说对于“写”也没有特别好的办法解决距离产生的延迟。 当然这个时候如果RAC的节点的使用和划分以及应用层的布置是都慎重考虑的,否则有可能会出现本来业务应该登陆节点1 而因为配置问题缺被随机分到了节点2,那这个时候反而适得其反。

IT咨询服务 · 2017-09-15
浏览4644

回答者

liuhefromoracle
数据库管理员Oracle
擅长领域: 双活灾备数据库双活

回答状态

  • 发布时间:2017-09-15
  • 关注会员:5 人
  • 回答浏览:4644
  • X社区推广