暂无图片
暂无图片
1
暂无图片
暂无图片
暂无图片
Oracle高级课程教材-ORACLE-DataGuard.pdf
169
19页
12次
2023-12-30
5墨值下载
栢图教育 Oracle 高级课程电子教材
DataUGuard 架构
人为错误、硬件故障、软件故障网络故障以及火灾、台风、地震等巨大灾难都会危及生产系统的数据库。
此时企业的运营将受到巨大的影响,数据保护和数据的可用性的重要性显而易见。DataGuard 用来保护 Oracle
的数据,可以提供最高级别的数据保护和可用性。DataGuard Oracle 内核自带的一项功能,DataGuard Oracle
的其他高可用性技术结合在一起——典型的有 RACRMANOracle 闪回技术等。
DataGuard 是通过冗余数据来提供数据保护的,DataGuard 通过日志同步机制保证冗余数据和主数据之间的
同步,这种同步可以是实时、延时,同步、异步多种形式。DataGuard 常用于异地容灾和小企业的高可用性方案
虽然可以在 standby 机器上执行只读查询,从而分散 Primary 数据库的性能压力,但是 DataGuard 决不是性能解
决方案。
1 DataGuard 概述
DataGuard 环境中,至少会有两个数据库,一个数据库处于open状态,对外提供服务,这个数据库叫做Primary
database。第二个数据库处于恢复状态,叫 standby database。运行时DataGuard 遵循一个简单的原则:传
输重做数据redo然后应用重做数据。主库对外提供服务,用户在主库上进行操作,操作记录被记录在联机
日志和归档日志中,日志数据中包含了恢复数据库事务需要的所有信息,这些日志通过网络传递给一个或者多
个备库 standby这些日志会在备库上重演,从而实现主库和备库的数据同步。如果因为网络中断或者备库断电
导致数据同步中断,DataGuard 还会自动重新同步备库,当主库意外中断后,一个或者多个备库可以立即被使用,
就是把备库强制切换为主库继续对外服务,从而恢复正常的处理,这时数据损失程度和配置的数据保护级别有
关系。如果可预见因素是关闭主库的,比如软硬件升级,可以把备库切换为主库继续对外服务,减少了服务停
止的时间,并且数据不会丢失primary standby 只是一个角色的概念并不固定在某个数据库中。DataGuard
的工作原理见下图:
主数据库 备用数据库
Oracle实例(内存中) Oracle实例(内存中)
传输重做数据
Oracle数据
文件
恢复数据
3
1
恢复数据
Oracle数据
文件
2
自动中断处理
4
1——生成重做数据时,重做传输服务将重做数据从主库传输到备库;
2——应用服务器验证重做数据并更新备库数据文件。
3——独立于 DataGuard数据库写进程更新主库数据文件。
4——在网络中断或者备库停止后,DataGuard 使用已经在主库上生成的归档自动重新同步备库。
在此基础上,Oracle DataGuard 对这个过程进一步的优化设计,使得日志的传递、恢复工作更加自动化
能化。并且提供一系列参数命令,简 DBA 工作。
综上所述,DataGuard 架构有三个关键点:在主库上产生的日志产生的日志传送给备库、备库重演这些日
志。整个 DataGuard 就是围绕这三个关键点展开的。所以 DataGuard 按照功能分成三部分:
日志发送服务(Redo Send
栢图教育 Oracle 高级课程电子教材
日志接收服务(Redo Receive
日志应用服务(Redo Apply
2 日志发送服务
日志发送服务又叫做 DataGuard 重做传输服务Redo Transport Service)协调从主库到备库的重做数据传输
过程。主库运行过程中,会源源不断的产 redo 日志,这些日志需要发送到备库。这个过程可以由主库的 LGWR
或者 ARCH 进程完成,不同的归档目的地可以使用不同的方法,但是对于一个目的地只能使用一种方法。选择
哪个进程对于数据保护能力和系统可用性有很大的区别。
2.1 ARCH 进程传
使用 ARCH 进程传递日志的过程,如图所示:
主库不断产生 redo 日志,这些日志被 LGWR 进程写到联机日志
当一组联机日志被写满后,会发生日志切换,并且会触发本地归档也就是图中 ARCH0 会完成本地归
档,本地归档时采用“LOG_ARCHIVE_DEST_1='LOCATION=/path'”这种方式定义的。
完成本地归档后,联机日志就可以被覆盖使用了。
ARCH1 进程通过 Net 把归档日志发送给备库的 RFS 进程,也就是图中的远程归档。
备库端的 RFS 进程把接收到的日志写入到归档日志。
备库端的 MRP 进程(Redo Apply)或者 LSPSQL Apply)将备库上应用这些日志,进而同步数据
使用 ARCH 进程传递的最大问题在于,主库只有在发生归档的时候才会发送日志到备库。如果主库异常宕
机,联机日志中的 redo 内容就会丢失无法同步到备库,因此使用 ARCH 进程无法避免数据丢失的问题。要想避
免数据丢失,就必须使用 LGWR,使用 LGWR 又有同步和异步两种方式。
在缺省方式下,主库使用的就是 ARCH 进程,不需要特别的指定。比如下面这个配置的例子。
LOG_ARCHIVE_DEST_2='SERVICE=ST'
of 19
5墨值下载
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文档的来源(墨天轮),文档链接,文档作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论

关注
最新上传
暂无内容,敬请期待...
下载排行榜
Top250 周榜 月榜