高可用性解决方案分为4种 (DG、AR、RAC、HA):
一种是oracle提供的被用方法,Standby (=9i DataGuard)
一种是AR (高级复制Advanced Replication,在以前版本叫快照snapshot)
一种是oracle并行服务器8i的OPS (9i RAC,Real Application Cluster)
一种是第三方HA解决方案(如Rose HA,故障切换时间是几分钟,也叫双机)
各自侧重点:
HA 侧重于业务的自动接管,自动接管需要几分钟时间,且长期有一组Instance闲置,浪费资源,不能容灾。
DG 侧重于容灾,独立存储,但两者数据不能做到实时同步。
RAC侧重于负载均衡,但共享存储不能容灾。
详细说明:
HA双机热备由两台计算机和一个共享存储设备构成,通过第三方软件(HA Rose等)实现切换,不需要做数据同步。
DG Data Guard 是oracle的远程复制技术,由两个多两个以上的独立的数据库构成,他们各自有各自的存储,Oracle负责他们之间的切换和数据同步,它需要在异地有一套独立的系统,两套硬件配置可以不同的系统,但是这两套系统的软件结构保持一致,包括软件的版本,目录存储结构,以及数据的同步(其实也不是实时同步的),这两套系统之间只要网络是通的就可以了,是一种异地容灾的解决方案。
RAC本地的高可用集群,RAC是多节点,每个节点一个INSTANCE,是保证应用的,只要有一个节点是正常运行的,就能连接到数据库,每个节点用来分担不同或相同的应用,以解决运算效率低下、单节点故障这样的问题,它是几台硬件相同或不相同的服务器,加一个SAN(共享的存储区域)来构成的。
各自的应用:
如是业务不要求24x7,可以考虑用dg。一台机器用于生成报表和查询;一台只用于一般的业务处理。dg主要用容灾,双机、RAC均是提供可用性,但他们实现的方法不同,数据库均放在共享设备上。
双机就是人们所说的双机热备,数据库放在共享设备上,同一时刻只能有一台主机接管,另一台待用,这种方式只能保护实例,不能保护db,而且备机长期处于闲置,对资源是一种极大的浪费!
建议应用RAC+Dataguard ,RAC保证可用性,Dataguard在RAC组独立磁盘上和另外一台主机上,保证可靠性。
如果原本是双机,建议转换为RAC;规划好应用,DML操作从一个节点跑,查询操作从另一个节点跑,通常不需要太多调优就可以利用闲置的另外一台机器了。
RAC服务器共用一套存储,同时提供服务,没有主备之分,宕一个其它的可以继续服务;双机热备,共用一套存储,一个提供服务一个备份,主机宕了切换到备份服务器提供服务;data guard 完全两套系统,存储是单独的,用日志同步。
RAC:实例层冗余;
DG :数据库层冗余;
热备:仅仅只是数据冗余。