1.单实例数据库和 RAC

单节点数据库,如果实例宕机了,如果一个业务链接在实例上面,那么这个业务就中断了。这个时候系统就不具有可用性了,那么这个时候单节点的可用性是很差的。
对于RAC来说,和单实例一样,还是一份数据文件,都是相同的存储上面放着oracle的文件,但是是由三个实例共用同一份数据文件。这样的好处是在三个实例之间做了冗余,在上面三个实例当中任意两个坏了业务都可以链接到剩下的一个实例,都可以正常的工作。RAC提供了在实例级别的冗余。
RAC不能够解决在数据的安全,尽管有多个实例,但是只有一份数据文件,这样只要数据文件损坏了,那么整个数据库就损坏了。
2.什么是RAC

一般每个实例都放在不同的服务器上面,这样可以起到冗余作用。所有的数据库文件都放在共享存储上面,但是还有一些文件放在每个实例自己的本地的磁盘上面,比如参数文件,每一个实例都可以有自己的参数文件,这个参数文件既可以放在本地也可以放在共享存储上面,多个实例都使用同一个参数文件。
在RAC里面,最重要的就是实例和实例之间的交互,即使是分离的实例,但是读取的数据是相同的,RAC不是分布式的系统,因为它只有一个存储,分布式系统是指数据发布在不同的数据库上面,然后通过中间件来协调做查询。RAC还是一台数据库,多个实例。
3.RAC架构

对于RAC来说至少有两套物理上不同的网络,私有网络是专门用来实例之间的数据交互。如果私有网络,所有的数据都在一个网络下面,那么那么就会对数据造成影响,严重的影响RAC的性能了。实例之间数据之间传递使用私有网络和对外服务提供的网络之间是物理分开的。所以RAC至少有两套网络,一个是实例之间的数据的传递,另外一个是公有网络,是对外提供服务的,外面的业务是提供公有网络的IP链接到数据库的。
4.RAC如何容错的

5.好处
- 实现负载均衡(Load Balance)是Oracle RAC最重要的特性之一,其功能是把负载平均分配
2.Oracle RAC同时具备HA(High Availiablity)和LB(Load Balance)的特性。其高可用性的基础就是 Failover(故障转移)。它指的是集群中任何一个节点的故障都不会影响用户的 正常使用,连接到故障节点的用户都会被自动转移到正常节点,从用户的角度,不会感觉到这种切换。