extract进程 oracle,Oracle GoldenGate 系列:Extract 进程的恢复原理

Bounded Recovery 示例

下图显示的时间轴上,随着时间的推进,一系列的事务开始处理。该图清晰地演示了长时间运行的事务如何以特定的时间间隔持久化(写入或存留)到磁盘,然后在发生故障后进行恢复,它可以帮助我们理解本例中所使用的相关术语:

●持久化对象是指缓存中已在 Bounded Recovery 检查点过程中持久化的任何对象。通常情况下,此对象就是事务的状态或数据,不过缓存中还应包含一些Extract 进程专用对象。这些对象统称为持久化对象。

● 最早的非持久化对象是指当前 Bounded Recovery 检查点之前最近的一个 BR 间隔内,缓存中最早的 open对象。通常情况下,该对象就是该时间间隔内最早的 open 事务。Bounded Recovery 重新开始时,运行时处理就是从最早的非持久化对象的起始位置开始恢复的,在一般的事务处理中,该位置就是该事务在 redo log 中的起始位置。

1c74eced6544e035a3becb4023ac9a71.png

在本例中,Bounded Recovery 间隔为4小时。如果 open 事务开始的时间点距离当前的 Bounded Recovery 检查点超过一个 Bounded Recovery 间隔,则该事务就会在当前的 Bounded Recovery 检查点被持久化。

在 BR 检查点 n 处:

● 有 5 个处于 open 状态的事务: T(27), T(45), T(801), T(950), T(1024)。所有其他的事务均已提交或回滚。这些事务都从其起始点开始延时间轴不断运行。

●运行的时间超过一个 Bounded Recovery 间隔的事务有:T(27) 和 T(45),在BR 检查点 n 处,这些事务都会被持久化(写入)磁盘。

●最早的非持久化对象是 T(801)。该事务不符合持久化到磁盘的条件,因为其运行的时间还没有超过一个 Bounded Recovery 间隔。作为最早的非持久化对象,T(801) 在日志中的起点位置存储在BR 检查点 n的检查点文件中。如果 Extract 进程在 BR 检查点 n 之后意外停止,则该进程将恢复到该日志位置,然后才能重新开始读取解析日志的内容。如果在BR 检查点 n之前的 BoundedRecovery 间隔中没有最早的非持久化的对象,则 Extract 进程就会从当前 Bounded Recovery 检查点的日志位置重新开始读取日志。

在 BR 检查点 n+1 处:

● T(45) 在前一个BoundedRecovery间隔内已经变脏(发生过更新) ,因此该事务将写入到一个新的持久化对象文件中。旧的持久化对象文件将在 BR 检查点 n+1完成后删除。

● 如果 Extract 进程在写 BR 检查点 n+1时或在 BR 检查点 n 和 BR 检查点 n+1 之间的任意Bounded Recovery 检查点间隔内失败,则 Extract 进程将从上一个有效的 BR 检查点 n 开始进行恢复。BR 检查点 n重新开始的位置就是最早的非持久化事务T(801). 的起点。因此,在最坏情况下,Extract 进程的恢复停止的时间点所需的时间不会超过两个 Bounded Recovery 间隔,在本例中,恢复的最长时间不会超过 8 小时。

在 BR 检查点n+3000 处:

● 系统已经运行了很长时间了。T(27) 和 T(45) 是仅存的持久化事务。T(801) 和 T(950) 已在 BR Checkpoint n+2999 之前的某个时间点提交并写入trail文件。现在仅存的非持久化 open 事务为 T(208412) 和T(208863) 。

● BR Checkpoint n+3000已写完。

● 在 BRCheckpoint n+3000 之后的 BR 间隔内,发生了电源故障。

● 新 Extract 进程恢复到BRCheckpoint n+3000。 (27) 和 T(45) 从包含BRCheckpoint n 的状态的持久化检查点文件还原出来。日志读取从 T(208412) 的起点开始恢复。

转载请注明作者出处及原文链接:http://blog.csdn.net/xiangsir/article/details/87854840b1331709591d260c1c78e86d0c51c18.png

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值