文档详情

Oracle GoldenGate 系列:Extract 进程的恢复原理.pdf

发布:2017-09-11约9.94千字共5页下载文档
文本预览下载声明
DDBBAA nneevveerr sslleeeepp--DDBBAA,,永永不不眠眠 FFooccuuss oonn OOrraaccllee DDaattaabbaassee,, GGooddeennGGaattee aanndd UUnniixx [[ 顶顶]] OOrraaccllee GGoollddeennGGaattee 系系列列::EExxttrraacctt 进进程程的的恢恢复复原原理理 分类: Oracle GoldenGate 2013-04-10 23:17 559人阅读 评论 (0) 收藏 举报 Oracle GoldenGateBRExtract 恢复Bounded RecoveryExtract 进程的恢复原理 EExxttrraacctt 进进程程恢恢复复原原理理 BBRR 适适用用于于 Extract 进程 (仅适用于 Oracle数据库) 使用 BR 参数可以控制 GoldenGate 的 Bounded Recovery (BR) 功能。Bounded Recovery 功能仅支持 Oracle 数 据库。Bounded Recovery 是通用 Extract 检查点工具的组件之一,可以保证当Extract 进程出于任何原因 (计划 停机或意外停机)停止后,无论在进程停止时的时间点上存在多少个未提交的事务还是这些事务持续的时间多么 久,Extract 进程都能进行高效地恢复。 Bounded Recovery 为 Extract 进程恢复到停止的时间点然后恢复正常处理所花的时间设定了一个时间上限。 注注意意 在将此参数修改为默认设 以外的其他设 时,请联系 Oracle Support 获取指导。大多数生产环境无需修 改此参数。   EExxttrraacctt 进进程程如如何何恢恢复复未未提提交交的的事事务务 当 Extract 进程在 redo log 中遇到某个事务的起点 (在 Oracle 中通常为第一个可执行的 sql 语句)时,便会 将从该事务中捕获到的所有数据缓存到内存中。即使开始该事务不包含任何数据,  Extract 进程也必须将事务缓存到内存中,因为该事务中后面的操作可能包含要捕获的数据。   当Extract 进程在 redolog 中遇到事务的 commit 记录,便会将缓存在内存中的整个事务写入trail 文件,并将其 从内存中清除。当 Extract 进程遇到事务的  rollback 记录时,便会丢弃缓存中缓存的整个事务。在 Extract 进程处理 commit 或 rollback 记录之前,都会视事务为 Open状态 (未提交或回滚的),并持续不断地收集该事务的信息。 如果 Extract 在遇到事务的 commit 或 rollback 记录之前停止,则在 Extract 进程重启后,必须对所有缓存在 内存中的信息进行恢复。此操作适用于 Extract 进程停止时所有处于 open 状态的事务。 Extract 按照如下方式执行此恢复过程: ● 如果在 Extract 进程停止时,不存在处于 open 状态的事务,则恢复操作从当前的 Extract 读取检查点开始,这是正常的恢复过程。 如果 redo log 中存在起始点非常接近于 Extract 进程停止时间点的 open事务,则 Extract进程会重新读入 redolog,从其中最早的 open 事务的起始点开始恢复。此过程需要 Extract 进程对该进程停止前已经写入 trail 或 discarded 文件的事务执行额外的工作,这一重复的工作只需要处理相对较少的数据,属于可接受的成本范围 内。这种恢复也可视为正常恢复。   ● 如果存在一个或多个 Extract 进程视为长时间运行的 open 事务,  则 Extract 进程便会通过 BoundedRecovery 进行恢复。   BBoouunnddeedd RReeccoovveerryy 的的工工作作原原理理 如果事务处于 open 状态的时间超过 BR 参数的 BRINTERVAL选项中指定的Bounded 1 Recovery 间隔,则 OGG 就视该事务为长时间运行的 open 事务。例如,如果 Bounded Recovery 间
显示全部
相似文档