oracle rac高可用,Oracle RAC 高可用性体系结构与集群 单实例环境与 Oracle RAC 环境对比...

第3章 Oracle RAC 体系结构

Oracle

RAC允许多个实例访问同一个数据库。在多个服务器节点上运行的实例访问一组构成单个数据库的公共数据文件集。在单实例环境中,一个Oracle数据库仅供在服务器上运行的一个实例使用;而访问这个数据库的用户只能通过这一台服务器来连接到数据库。数据库任务能够使用的处理资源(CPU、内存等)仅限于这一台服务器上的处理资源。在Oracle

RAC环境中,可以有多个实例使用同一个数据库。这一方案向数据库用户呈现了多个处理资源。

注意:

“实例”就是一台计算机上与数据库有关的内存结构集,数据库是一个物理文件集,数据库与实例之间是一种一对多关系,在Oracle

RAC中,一个数据库可以由多个实例并发使用,一个实例只是一个数据库的部分。

构成数据库的数据文件存放在永久性存储中,它们可以平等地供所有节点进行读取和写入访问。Oracle

RAC协调和调整来自多个服务器节点的并发数据访问。因此,在集群的节点之间必须存在一种高效、可靠的高速专用网络,用于发送和接收数据。图3-1显示了单实例数据库和Oracle

RAC数据库的配置。

a4c26d1e5885305701be709a3d33442f.png

3.1 单实例环境与Oracle RAC环境的对比

与在单实例环境中类似,Oracle

RAC环境中的每个实例也有其自己的“系统全局区”(SGA)和后台进程。但是,所有数据文件和控制文件都可供所有节点同等访问,所以必须把这些文件放在一个共享磁盘子系统上。每个实例还有其自己的专用联机重做日志文件,这些联机重做日志文件只能由它所属的实例写入。但是,在实例故障恢复期间,这些文件必须可以供其他实例读取。这就要求这些联机重做日志文件驻留在一个共享磁盘子系统上,而不是位于一个节点的本地存储上,否则,这些文件会在节点崩溃时丢失。

表3-1对比了单实例组件和Oracle RAC环境中一个实例的组件。

表3-1单实例组件与Oracle RAC组件的对比

组件

单实例环境

RAC环境

SGA

实例拥有自己的SGA

每个实例拥有自己的SGA

后台进程

实例有自己的后台进程集

实例有自己的后台进程集

数据文件

仅由一个实例访问

由所有实例共享,所以必须放在共享存储中

控制文件

仅由一个实例访问

由所有实例共享,所以必须放在共享存储中

联机重做日志文件

专供一个实例写入和读取

只有一个实例可以写入。但其他实例可以在恢复和存档期间读取。如果一个实例关闭,那么其他实例的日志切换可以强制对空闲实例重做日志进行存档

存档后的重做日志

专供该实例使用

专属于该实例,但在媒介恢复期间,其他实例需要访问所需的存档日志

快闪恢复日志

仅由一个实例访问

由所有实例共享,所以必须放在共享存储中

警报日志和其他跟踪文件

专供该实例使用

专属于每个实例;其他实例永远不会读写这些文件

ORACLE HOME

同一台计算机上访问不同数据库的多个实例可以使用相同的可执行文件

与单个实例相同,但也可以放在共亨文件系统上,允许Oracle

RAC环境用户的所有实例共用一个ORACLE HOME

由于多个实例可能同时需要同一数据集,因此Oracle

RAC环境中的实例共享数据。多个实例同时访问同一数据并没有危险;但是,如果一个实例(通过插入或更新)修改某一数据,而其他实例读取该数据,或者多个实例并发修改相同数据,就会出现数据完整性问题。如果不能正确协调,这种并发读/写或写/写行为就可能会导致数据损坏或不一致的数据表示方式。单实例Oracle已经确保读取者从来不会阻塞写入者,也不允许任何“脏”读取。

Oracle

RAC确保集群内所有实例看到的数据库都是一致的。分布式锁管理器(或DLM;从9i版本开始,它称为“全局资源目录”或GRD)协调在实例之间共享的资源。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值