Oracle数据库高可用--DG+RAC

一.DG的概念和原理

Oracle Data Guard是Oracle数据库的一种高可用性解决方案,它通过在主数据库和一个或多个辅助数据库之间自动复制和同步数据,来实现数据库的持续可用性和灾难恢复能力。

以下是Oracle Data Guard的工作原理:

  1. 主数据库(Primary Database):主数据库是应用程序连接和执行事务的数据库。在主数据库中进行的所有更改都会被记录在归档日志中。

  2. 辅助数据库(StandBy database):辅助数据库是通过复制主数据库的归档日志来保持与主数据库同步的数据库。辅助数据库可以是物理备库或逻辑备库。

物理备份
主数据库将归档日志传输给辅助数据库。这可以通过物理方式(通过网络传输二进制归档日志)进行

DG保护模式:
模式数据丢失风险传输特点
最大保护零数据丢失同步只有备考确认收到日志,主库才进行下一步操作
最大可用零数据丢失同步与最大保护不同,最大可用在日志传输超时和备库收到日志后都会进行下一步操作
最大性能有少量数据丢失风险异步主数据库不等待备用数据库确认

LGWR进程:将日志写入写入在线日志中,

LNSN进程:将在线日志传输到备库

ARcn:对在线日志进行归档

RFS进程:远程接数据,连接备库的日志

MRP进程:将日志应用恢复到备用数据库

业务中主库一般用作更新,备库一般用作读,查询操作。

二.RAC原理

Oracle RAC(Real Application Clusters)是一种高可用性和可伸缩性的数据库解决方案,它基于共享磁盘架构,允许多个服务器共享同一个数据库实例。以下是Oracle RAC的工作原理:

  1. 共享存储:Oracle RAC使用共享存储,将数据库文件存储在共享的磁盘阵列上。这使得多个服务器可以同时访问和修改数据库文件。

  2. 共享缓存:Oracle RAC使用共享缓存(Shared Cache),也称为共享SGA(System Global Area),来缓存数据和SQL语句。每个服务器都可以访问并更新共享缓存,这样可以提高性能和并发能力。

  3. 共享连接:Oracle RAC使用公共网络连接来提供对数据库的访问。客户端可以通过网络连接到任意一个服务器节点,然后通过Oracle Clusterware将请求路由到运行数据库实例的节点。

  4. 数据库实例:Oracle RAC包含多个数据库实例,每个实例都运行在独立的服务器上。每个实例都有自己的SGA和后台进程,但它们共享同一个数据库。

  5. 数据共享:共享存储和共享缓存使得所有的数据库实例都可以访问相同的数据。当一个实例修改数据时,其他实例可以立即看到这些修改。

  6. 数据同步:Oracle RAC使用高速的内部网络来保持所有数据库实例之间的数据同步。当一个实例修改数据时,这些修改会被写入共享存储,并通过内部网络传播到其他实例,以确保数据的一致性。

  7. 故障转移:如果一个数据库实例故障,Oracle Clusterware会检测到这个故障,并将数据库会话和工作负载迁移到其他正常运行的实例上,实现高可用性和容错能力。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值