双机热备和rac的区别

HA:是High Availability 的首字母组合,翻译过来,可以叫做高可用,或高可用性,高可用(环境)。广义的高可用涉及到系统的各个方面,简单来说,让系统不会中断运行,就是高可用。包括软件的高可用,硬件的高可用,网络的高可用等等。具体实现的方案包括操作系统的集群,数据库的集群,硬件的冗余,网络的冗余等等。做HA方面的软件,有IBM的HACMP(很多常用AIX的人,常说的HA就指HACMP,乱啊)、SUN的Sun Cluster、HP的MC/SG等。

在 Cluster ( 集群 ) 多机系统平台上,常用的高可用性技术有两种:双机热备份和 RAC 并行服务器。
1、双机热备
在双机热备份方式下,需要共享存储,数据库系统平时只能在一台服务器 ( 例如服务器 A) 上运行,另一台服务器无法直接访问数据库,自然也无法进行负载分担。当服务器 A 由于故障失效时,由相应的操作系统软件控制,将服务器 A 管理的存储设备 ( 如硬盘 ) 转交给服务器 B 控制,同时在服务器 B 上启动另一个数据库进程,管理数据库。这种切换并启动新的数据库核心的过程一般需要几十秒到几分钟。
        这种方式的主要缺点在于:
*   由于需要重新启动数据库核心进程,无法保证数据库系统连续不间断地运行;
*   在系统切换的过程中,客户端与服务器之间的数据库连接会中断,需要重新进行数据库的连接和登录工作;
*   由于数据库系统只能在一台服务器上运行,另一台服务器无法分担系统的负载,实际上造成了客户投资的浪费。在有些系统中,为了解决双机负载分担的问题,将应用系统人为分割为两个数据库系统,分别在两台服务器上运行。这种方式在一定程度上解决了负载分担的问题,但给系统管理、统计分析等业务处理带来了很多额外的复杂性;


2、rac
在并行服务器方式下,需要共享存储,GCS、GES管理RAC实例级别一致性与锁资源。RAC主要是基于高可用,无法进行容灾,所以很多时候RAC与其他容灾套件组合,例如:RAC+DG。两台 ( 或多台 ) 服务器上各自运行一个数据库核心进程,但共同管理、操作一个数据库。客户端无论连接到哪个服务器都可以在数据库中进行操作。当服务器 A 由于故障失效时,数据库系统本身并未停止工作,连接在服务器 B 上的客户端还可以继续进行正常工作。同时,服务器 B 上也不需要再启动新的数据库服务器进程,因此也没有“切换时间”。
        对于一些特殊应用中严格要求前端应用不能中断的情况, Oracle 并行服务器还提供了一种“预连接 (pre-connect) ”方式,以这种方式连接的客户端当服务器端发生故障时,客户端与数据库服务器的连接不会中断,会被 Oracle 并行服务器软件自动转接到还在正常工作的其它服务器上,不需要重新输入用户名及口令。
        与双机热备份方式相比, Oracle Real Application Cluster 并行服务器方式有以下优点:
*   各服务器共享一个数据库,在正常运行时可以进行负载分担,无需考虑应用数据的人为分割
*   并行服务器方式对应用完全透明,在应用程序设计和开发的过程中也不需要进行特殊编程,简化了开发的复杂程度,同时今后系统扩展也无需修改应用程序
*   不需要重新启动数据库核心进程,缩短了故障造成的停机时间

你可能感兴趣的:(linux,#,运维,数据库-oracle)