简答题 13.  RAC、OPS、DG和OGG的区别?
【正确答案】RAC和DG是高可用体系中的常用的两种工具,每个工具既可以独立应用,也可以相互配合使用。但是它们各自的侧重点不同,适用场景也不同。
   RAC是OPS(Oracle Parallel Server)的后继版本,继承了OPS的概念,但是RAC是全新的,Cache机制和OPS完全不同。RAC解决了OPS中两个节点同时写同一个BLOCK引起的冲突问题。从产品上来说RAC和OPS是完全不同的产品,但是也可以认为是相同产品的不同版本。
   RAC是本地的高可用集群,每个节点用来分担不同或相同的应用,以解决运算效率低下、单点故障这样的问题,它是几台硬件相同或不相同的服务器加一个共享存储来构成的。RAC的强项在于解决单点故障和负载均衡,所以,RAC方案常用于7*24的核心系统,但RAC方案中的数据只有一份,尽管可以通过RAID等机制避免存储故障,但是数据本身是没有冗余的,因此需要加强备份。
   DG是Oracle的远程复制技术,它有物理和逻辑之分,但是总的来说,它需要在异地有一套独立的系统,是一种异地容灾的解决方案。DG通过冗余数据的方式来提供数据保护,通过日志同步机制保证冗余数据和主库之间的同步,这种同步可以是实时、延时、同步或异步等多种形式。DG常用于异地容灾和小企业的高可用性方案,可以在备库上执行只读地查询操作,从而分散主库的性能压力。
   OGG软件是一种基于日志的结构化数据复制备份软件,它通过解析源数据库在线日志或归档日志获得数据的增量变化,再将这些变化应用到目标数据库,从而实现源数据库与目标数据库的同步。OGG可以实现一对一、广播(一对多)、聚合(多对一)、双向复制、层叠、点对点、级联等多种灵活的拓扑结构,可以实现只复制某几个表的功能。
   Oracle高可用性产品比较见下表。
   
Oracle高可用性产品比较
   
【答案解析】