ogg BR – BOUNDED RECOVERY 测试案例
首先,我们来看两个OGG同步中可能的问题: l oracle在线日志包含已提交的和未提交的事务,但OGG只会将已提交的事务写入到队列文件。因此,针对未提交的事务,特别是未提交的长事务,OGG会怎样处理呢? l 有些长事务是在批处理作业中,需要几个小时才能执行完成,比如晚上跑批的作业。OGG在解析过程中,会从这些事务一执行就开始读取在线日志,但这些事务可能会持续很久,
这期间,在线日志可能会切换到归档日志,同时这期间也会有其它事务在执行和提交,如果长事务一直未提交,归档日志又因为定期的rman备份而删除,OGG将如何处理? 针对以上情况,OGG有2种处理方式,
第一种就是使用正常恢复归档的方式,即恢复OGG需要的所有归档日志,可能是从长事务开始的那个归档开始,
这样OGG将从事务开始的检查点开始解析; 第二种方式就是使用Bounded Recovery的方式,下面的内容将讨论这种方式。 简单来说,BR(Bounded Recovery )默认的设置是4小时,即每4小时OGG抽取进程会做一个检查点,在每个检查点的时间点上,
OGG会检查长事务,并将超过4小时的长事务的状态写入到磁盘(如果没有达到4小时,则此事务不会被BR写入),
默认保存在OGG安装目录的BR目录下。在每个BR的间隔点,这个操作会一直持续,直到事务提交,或事务回滚。 下面的示例中,我们设置BRINTERVAL为20分钟: BR BRINTERVAL 20M 下面是针对BR的官方文档描述: 使用磁盘持久保存数据,用于恢复长事务,让抽取进程可以确保捕获性能(虽然只有在极端情况下才会发生捕获延迟)。
如果抽取进程停止时,有些事务的开始时间远在这个时间点之前,那么系统需要占用大量的日志空间,也有可能这些日
志文件不在磁盘上或已被删除。而且,重新从一个很早的日志文件开始读取事务,这种做法是不可接受的,因为这些
日志文件中的其它事务已经被解析并被写入到队列文件。 如果通过持久化数据能恢复这些长事务的状态,那么就可以消除这个往返读取的动作。极端的情况下,如果有多个长事务,
如果每个事务都要求从起点重新读取,那么OGG的捕获性能将大大降低。 在本示例中,我们将BR的间隔设置为20分钟,然后执行一个insert语句,但不提交。
此时,抽取进程会从在线日志的某个点开始读取,在线日志的序号为:#。 然后我们切换几组日志,备份并删除序号为14878的日志文件。我们可以看到每隔20分钟,BR checkpoint就会执行,
此时,长事务的状态信息及数据就会被写入到磁盘上。即使磁盘上没有对应的归档日志文件,抽取进程也不会再去读取这些日志,
而是直接从磁盘上保存的BR数据中进行恢复,如果事务提交,则OGG会直接将BR目录下的数据写入到队列中。 测试步骤如下: 执行下面的INSERT语句,但不提交,用于测试长事务的场景: SQL> insert into myobjects select object_id,object_name,object_type from dba_objects;
rows created. 通过infor ext1检查当前读取的在线日志序号,本测试中是14878 GGSCI > info ext1 EXTRACT EXT1 Last Started -- : Status RUNNING
Checkpoint Lag :: (updated :: ago)
Process ID
Log Read Checkpoint Oracle Redo Logs
-- :: Seqno , RBA
SCN 0.9137531 () 使用SEND EXTRACT SHOWTRANS查看是否有事务是打开状态: GGSCI > send ext1 showtrans Sending SHOWTRANS request to EXTRACT EXT1 …
Oldest redo log file necessary to restart Extract is:
Redo Log Sequence Number , RBA
————————————————————
XID: 10.16.
Items:
Extract: EXT1
Redo Thread:
Start Time: --:::
SCN: 0.9137521 ()
Redo Seq:
Redo RBA:
Status: Running INFO EXTRACT SHOWCH会显示抽取进程检查点的更多信息,
包括当前事务(日志)中的读取点,写入队列文件的位置等。
下面的示例中,第一个检查点是抽取进程启动时的读取点:,接着是最早未提交事务的读取点:序号14878,SCN:,
最后是抽取进程当前的日志读取检查点,序号仍然是14878,但SCN是9137612,说明在这个未提交的事务之后,DB已经有一些其它操作。 GGSCI > info ext1 showch EXTRACT EXT1 Last Started -- : Status RUNNING
Checkpoint Lag :: (updated :: ago)
Process ID
Log Read Checkpoint Oracle Redo Logs
-- :: Seqno , RBA
SCN 0.9137612 () Current Checkpoint Detail:
Read Checkpoint #
Oracle Redo Log Startup Checkpoint (starting position in the data source):
第一个检查点是抽取进程启动时的读取点
Thread #: 1
Sequence #:
RBA:
Timestamp: -- ::33.000000
SCN: 0.9129707 ()
Redo File: /u01/app/oracle/fast_recovery_area/GGATE1/archivelog/2014_06_21/o1_mf_1_14861_9tbo7pys_.arc Recovery Checkpoint (position of oldest unprocessed transaction in the data source):
接着是最早未提交事务的读取点:序号14878,SCN:9137521
Thread #:
Sequence #:
RBA:
Timestamp: -- ::14.000000
SCN: 0.9137521 ()
Redo File: /u01/app/oracle/oradata/ggate1/redo03.log Current Checkpoint (position of last record read in the data source):
最后是抽取进程当前的日志读取检查点,序号仍然是14878,但SCN是9137612,说明在这个未提交的事务之后,DB已经有一些其它操作
Thread #:
Sequence #:
RBA:
Timestamp: -- ::41.000000
SCN: 0.9137612 ()
Redo File: /u01/app/oracle/oradata/ggate1/redo03.log Write Checkpoint #
GGS Log Trail
Current Checkpoint (current write position):
Sequence #:
RBA:
Timestamp: -- ::44.414364
Extract Trail: ./dirdat/zz
Trail Type: RMTTRAIL 大约20分钟之后,我们继续使用showch,看看与前面的命令相比,输出有哪些差异:
可以看到,当前读取的在线日志序号已经变为14884(以前是14878)。
但恢复检查点仍然没有变化,与上一个命令执行结果相同。 GGSCI > info ext1 showch EXTRACT EXT1 Last Started -- : Status RUNNING
Checkpoint Lag :: (updated :: ago)
Process ID
Log Read Checkpoint Oracle Redo Logs
-- :: Seqno , RBA
SCN 0.9139491 () Current Checkpoint Detail:
Read Checkpoint #
Oracle Redo Log Startup Checkpoint (starting position in the data source):
Thread #:
Sequence #:
RBA:
Timestamp: -- ::33.000000
SCN: 0.9129707 ()
Redo File: /u01/app/oracle/fast_recovery_area/GGATE1/archivelog/2014_06_21/o1_mf_1_14861_9tbo7pys_.arc Recovery Checkpoint (position of oldest unprocessed transaction in the data source):
Thread #:
Sequence #:
RBA:
Timestamp: -- ::14.000000
SCN: 0.9137521 ()
Redo File: /u01/app/oracle/oradata/ggate1/redo03.log Current Checkpoint (position of last record read in the data source):
Thread #:
Sequence #:
RBA:
Timestamp: -- ::34.000000
SCN: 0.9139491 ()
Redo File: /u01/app/oracle/oradata/ggate1/redo03.log 通过上面的命令,我们看到了BR检查点的相关信息,前面我们把BR间隔从默认4小时改为20分钟,因此,每隔20分钟
(本示例中是::,:,:...),长事务当前的状态信息会被抽取进程写入到磁盘上的BR目录。
因此,我们看到在18:27的BR间隔时间点,BR将在线日志14881的信息持久到磁盘上,如果这个时候extract有错误或重启,
extract不再需要从早于14881序号的redo或归档里读取数据。 BR Previous Recovery Checkpoint:
Thread #:
Sequence #:
RBA:
Timestamp: -- ::35.982719
SCN: Not available
Redo File: BR Begin Recovery Checkpoint:
Thread #:
Sequence #:
RBA:
Timestamp: -- ::14.000000
SCN: 0.9137521 ()
Redo File: BR End Recovery Checkpoint:
Thread #:
Sequence #:
RBA:
Timestamp: -- ::38.000000
SCN: 0.9138688 ()
Redo File: 在BR目录中我们可以看到抽取进程ext1生成的一些文件:
GGSCI > info ext1 EXTRACT EXT1 Last Started -- : Status RUNNING
Checkpoint Lag :: (updated :: ago)
Process ID
Log Read Checkpoint Oracle Redo Logs
-- :: Seqno , RBA
SCN 0.9139583 () GGSCI > shell ls -l ./BR/EXT1
total
-rw-r—– oracle oinstall Jun : CP.EXT1.
drwxr-x— oracle oinstall Jun : stale 此时,如果我们删除14878的归档日志会怎样呢?因为BR检查点已经将包含长事务的日志序号为14878的信息写入到磁盘,
extract进程将不再需要这些旧的归档文件。为了测试这个功能,我们将14878归档备份之后删除,
记住,这个序号是长事务开始时的序号,在抽取进程检查点日志中有记录。 RMAN> backup archivelog sequence delete input; Starting backup at -JUN-
using target database control file instead of recovery catalog
allocated channel: ORA_DISK_1
channel ORA_DISK_1: SID= device type=DISK
channel ORA_DISK_1: starting archived log backup set
channel ORA_DISK_1: specifying archived log(s) in backup set
input archived log thread= sequence= RECID= STAMP=
channel ORA_DISK_1: starting piece at -JUN-
channel ORA_DISK_1: finished piece at -JUN-
piece handle=/u01/app/oracle/fast_recovery_area/GGATE1/backupset/2014_06_21/o1_mf_annnn_TAG20140621T234659_9tcb7msp_.bkp tag=TAG20140621T234659 comment=NONE
channel ORA_DISK_1: backup set complete, elapsed time: ::
channel ORA_DISK_1: deleting archived log(s)
archived log file name=/u01/app/oracle/fast_recovery_area/GGATE1/archivelog/2014_06_21/o1_mf_1_14878_9tbpowlm_.arc RECID= STAMP=
Finished backup at -JUN- 好,我们现在来提交这个交易。 SQL> insert into myobjects
select object_id,object_name,object_type from dba_objects;
rows created. SQL> commit;
Commit complete. 在抽取进程ext1的日志报告中,可以看到有长事务的信息、BR检查点的信息,而且每隔20分钟,
BR检查点写入的redo日志序号是在增长的,即OGG抽取进程每20分钟会将当前日志序号写入,同时在OGG日志报告中体现出来。 -- :: WARNING OGG- Long Running Transaction: XID 10.16., Items , Extract EXT1, Redo Thread , SCN 0.9137521 (), Redo Seq #, R
edo RBA .
-- :: INFO OGG- The previous message, ‘WARNING OGG-′, repeated times.
-- :: INFO OGG- BOUNDED RECOVERY: CHECKPOINT: for object pool : p23540_extr: start=SeqNo: , RBA: , SCN: 0.9137521 (), Timest
amp: -- ::14.000000, end=SeqNo: , RBA: , SCN: 0.9138688 (), Timestamp: -- ::38.000000, Thread: .
-- :: INFO OGG- BOUNDED RECOVERY: CHECKPOINT: for object pool : p23540_extr: start=SeqNo: , RBA: , SCN: 0.9139983 (), Timest
amp: -- ::47.000000, Thread: , end=SeqNo: , RBA: , SCN: 0.9139983 (), Timestamp: -- ::47.000000, Thread: .
-- :: INFO OGG- BOUNDED RECOVERY: CHECKPOINT: for object pool : p23540_extr: start=SeqNo: , RBA: , SCN: 0.9141399 (), Timest
amp: -- ::56.000000, Thread: , end=SeqNo: , RBA: , SCN: 0.9141399 (), Timestamp: -- ::56.000000, Thread: .
首先,我们来看两个OGG同步中可能的问题: l oracle在线日志包含已提交的和未提交的事务,但OGG只会将已提交的事务写入到队列文件。因此,针对未提交的事务,特别是未提交的长事务,OGG会怎样处理呢? l 有些长事务是在批处理作业中,需要几个小时才能执行完成,比如晚上跑批的作业。OGG在解析过程中,会从这些事务一执行就开始读取在线日志,但这些事务可能会持续很久,
这期间,在线日志可能会切换到归档日志,同时这期间也会有其它事务在执行和提交,如果长事务一直未提交,归档日志又因为定期的rman备份而删除,OGG将如何处理? 针对以上情况,OGG有2种处理方式,
第一种就是使用正常恢复归档的方式,即恢复OGG需要的所有归档日志,可能是从长事务开始的那个归档开始,
这样OGG将从事务开始的检查点开始解析; 第二种方式就是使用Bounded Recovery的方式,下面的内容将讨论这种方式。 简单来说,BR(Bounded Recovery )默认的设置是4小时,即每4小时OGG抽取进程会做一个检查点,在每个检查点的时间点上,
OGG会检查长事务,并将超过4小时的长事务的状态写入到磁盘(如果没有达到4小时,则此事务不会被BR写入),
默认保存在OGG安装目录的BR目录下。在每个BR的间隔点,这个操作会一直持续,直到事务提交,或事务回滚。 下面的示例中,我们设置BRINTERVAL为20分钟: BR BRINTERVAL 20M 下面是针对BR的官方文档描述: 使用磁盘持久保存数据,用于恢复长事务,让抽取进程可以确保捕获性能(虽然只有在极端情况下才会发生捕获延迟)。
如果抽取进程停止时,有些事务的开始时间远在这个时间点之前,那么系统需要占用大量的日志空间,也有可能这些日
志文件不在磁盘上或已被删除。而且,重新从一个很早的日志文件开始读取事务,这种做法是不可接受的,因为这些
日志文件中的其它事务已经被解析并被写入到队列文件。 如果通过持久化数据能恢复这些长事务的状态,那么就可以消除这个往返读取的动作。极端的情况下,如果有多个长事务,
如果每个事务都要求从起点重新读取,那么OGG的捕获性能将大大降低。 在本示例中,我们将BR的间隔设置为20分钟,然后执行一个insert语句,但不提交。
此时,抽取进程会从在线日志的某个点开始读取,在线日志的序号为:#14878。 然后我们切换几组日志,备份并删除序号为14878的日志文件。我们可以看到每隔20分钟,BR checkpoint就会执行,
此时,长事务的状态信息及数据就会被写入到磁盘上。即使磁盘上没有对应的归档日志文件,抽取进程也不会再去读取这些日志,
而是直接从磁盘上保存的BR数据中进行恢复,如果事务提交,则OGG会直接将BR目录下的数据写入到队列中。 测试步骤如下: 执行下面的INSERT语句,但不提交,用于测试长事务的场景: SQL> insert into myobjects select object_id,object_name,object_type from dba_objects;
75372 rows created. 通过infor ext1检查当前读取的在线日志序号,本测试中是14878 GGSCI 2> info ext1 EXTRACT EXT1 Last Started 2014-06-21 18:07 Status RUNNING
Checkpoint Lag 00:00:00 (updated 00:00:08 ago)
Process ID 15190
Log Read Checkpoint Oracle Redo Logs
2014-06-21 18:10:21 Seqno 14878, RBA 5936128
SCN 0.9137531 (9137531) 使用SEND EXTRACT SHOWTRANS查看是否有事务是打开状态: GGSCI 4> send ext1 showtrans Sending SHOWTRANS request to EXTRACT EXT1 …
Oldest redo log file necessary to restart Extract is:
Redo Log Sequence Number 14878, RBA 116752
————————————————————
XID: 10.16.1533
Items: 75372
Extract: EXT1
Redo Thread: 1
Start Time: 2014-06-21:18:10:14
SCN: 0.9137521 (9137521)
Redo Seq: 14878
Redo RBA: 116752
Status: Running INFO EXTRACT SHOWCH会显示抽取进程检查点的更多信息,
包括当前事务(日志)中的读取点,写入队列文件的位置等。
下面的示例中,第一个检查点是抽取进程启动时的读取点:14861,接着是最早未提交事务的读取点:序号14878,SCN:9137521,
最后是抽取进程当前的日志读取检查点,序号仍然是14878,但SCN是9137612,说明在这个未提交的事务之后,DB已经有一些其它操作。 GGSCI 5> info ext1 showch EXTRACT EXT1 Last Started 2014-06-21 18:07 Status RUNNING
Checkpoint Lag 00:00:00 (updated 00:00:06 ago)
Process ID 15190
Log Read Checkpoint Oracle Redo Logs
2014-06-21 18:11:41 Seqno 14878, RBA 5977088
SCN 0.9137612 (9137612) Current Checkpoint Detail:
Read Checkpoint #1
Oracle Redo Log Startup Checkpoint (starting position in the data source):
第一个检查点是抽取进程启动时的读取点
Thread #: 1
Sequence #: 14861
RBA: 5918224
Timestamp: 2014-06-21 16:49:33.000000
SCN: 0.9129707 (9129707)
Redo File: /u01/app/oracle/fast_recovery_area/GGATE1/archivelog/2014_06_21/o1_mf_1_14861_9tbo7pys_.arc Recovery Checkpoint (position of oldest unprocessed transaction in the data source):
接着是最早未提交事务的读取点:序号14878,SCN:9137521
Thread #: 1
Sequence #: 14878
RBA: 116752
Timestamp: 2014-06-21 18:10:14.000000
SCN: 0.9137521 (9137521)
Redo File: /u01/app/oracle/oradata/ggate1/redo03.log Current Checkpoint (position of last record read in the data source):
最后是抽取进程当前的日志读取检查点,序号仍然是14878,但SCN是9137612,说明在这个未提交的事务之后,DB已经有一些其它操作
Thread #: 1
Sequence #: 14878
RBA: 5977088
Timestamp: 2014-06-21 18:11:41.000000
SCN: 0.9137612 (9137612)
Redo File: /u01/app/oracle/oradata/ggate1/redo03.log Write Checkpoint #1
GGS Log Trail
Current Checkpoint (current write position):
Sequence #: 3
RBA: 8130790
Timestamp: 2014-06-21 18:11:44.414364
Extract Trail: ./dirdat/zz
Trail Type: RMTTRAIL 大约20分钟之后,我们继续使用showch,看看与前面的命令相比,输出有哪些差异:
可以看到,当前读取的在线日志序号已经变为14884(以前是14878)。
但恢复检查点仍然没有变化,与上一个命令执行结果相同。 GGSCI 2> info ext1 showch EXTRACT EXT1 Last Started 2014-06-21 18:07 Status RUNNING
Checkpoint Lag 00:00:00 (updated 00:00:04 ago)
Process ID 15190
Log Read Checkpoint Oracle Redo Logs
2014-06-21 18:40:34 Seqno 14884, RBA 72704
SCN 0.9139491 (9139491) Current Checkpoint Detail:
Read Checkpoint #1
Oracle Redo Log Startup Checkpoint (starting position in the data source):
Thread #: 1
Sequence #: 14861
RBA: 5918224
Timestamp: 2014-06-21 16:49:33.000000
SCN: 0.9129707 (9129707)
Redo File: /u01/app/oracle/fast_recovery_area/GGATE1/archivelog/2014_06_21/o1_mf_1_14861_9tbo7pys_.arc Recovery Checkpoint (position of oldest unprocessed transaction in the data source):
Thread #: 1
Sequence #: 14878
RBA: 116752
Timestamp: 2014-06-21 18:10:14.000000
SCN: 0.9137521 (9137521)
Redo File: /u01/app/oracle/oradata/ggate1/redo03.log Current Checkpoint (position of last record read in the data source):
Thread #: 1
Sequence #: 14884
RBA: 72704
Timestamp: 2014-06-21 18:40:34.000000
SCN: 0.9139491 (9139491)
Redo File: /u01/app/oracle/oradata/ggate1/redo03.log 通过上面的命令,我们看到了BR检查点的相关信息,前面我们把BR间隔从默认4小时改为20分钟,因此,每隔20分钟
(本示例中是:18:07,18:27,18:47...),长事务当前的状态信息会被抽取进程写入到磁盘上的BR目录。
因此,我们看到在18:27的BR间隔时间点,BR将在线日志14881的信息持久到磁盘上,如果这个时候extract有错误或重启,
extract不再需要从早于14881序号的redo或归档里读取数据。 BR Previous Recovery Checkpoint:
Thread #: 0
Sequence #: 0
RBA: 0
Timestamp: 2014-06-21 18:07:35.982719
SCN: Not available
Redo File: BR Begin Recovery Checkpoint:
Thread #: 0
Sequence #: 14878
RBA: 116752
Timestamp: 2014-06-21 18:10:14.000000
SCN: 0.9137521 (9137521)
Redo File: BR End Recovery Checkpoint:
Thread #: 1
Sequence #: 14881
RBA: 139776
Timestamp: 2014-06-21 18:27:38.000000
SCN: 0.9138688 (9138688)
Redo File: 在BR目录中我们可以看到抽取进程ext1生成的一些文件:
GGSCI 4> info ext1 EXTRACT EXT1 Last Started 2014-06-21 18:07 Status RUNNING
Checkpoint Lag 00:00:00 (updated 00:00:06 ago)
Process ID 15190
Log Read Checkpoint Oracle Redo Logs
2014-06-21 18:41:35 Seqno 14884, RBA 131072
SCN 0.9139583 (9139583) GGSCI 3> shell ls -l ./BR/EXT1
total 20
-rw-r—– 1 oracle oinstall 65536 Jun 21 18:27 CP.EXT1.000000015
drwxr-x— 2 oracle oinstall 4096 Jun 19 17:07 stale 此时,如果我们删除14878的归档日志会怎样呢?因为BR检查点已经将包含长事务的日志序号为14878的信息写入到磁盘,
extract进程将不再需要这些旧的归档文件。为了测试这个功能,我们将14878归档备份之后删除,
记住,这个序号是长事务开始时的序号,在抽取进程检查点日志中有记录。 RMAN> backup archivelog sequence 14878 delete input; Starting backup at 21-JUN-14
using target database control file instead of recovery catalog
allocated channel: ORA_DISK_1
channel ORA_DISK_1: SID=24 device type=DISK
channel ORA_DISK_1: starting archived log backup set
channel ORA_DISK_1: specifying archived log(s) in backup set
input archived log thread=1 sequence=14878 RECID=30497 STAMP=850846396
channel ORA_DISK_1: starting piece 1 at 21-JUN-14
channel ORA_DISK_1: finished piece 1 at 21-JUN-14
piece handle=/u01/app/oracle/fast_recovery_area/GGATE1/backupset/2014_06_21/o1_mf_annnn_TAG20140621T234659_9tcb7msp_.bkp tag=TAG20140621T234659 comment=NONE
channel ORA_DISK_1: backup set complete, elapsed time: 00:00:01
channel ORA_DISK_1: deleting archived log(s)
archived log file name=/u01/app/oracle/fast_recovery_area/GGATE1/archivelog/2014_06_21/o1_mf_1_14878_9tbpowlm_.arc RECID=30497 STAMP=850846396
Finished backup at 21-JUN-14 好,我们现在来提交这个交易。 SQL> insert into myobjects
2 select object_id,object_name,object_type from dba_objects;
75372 rows created. SQL> commit;
Commit complete. 在抽取进程ext1的日志报告中,可以看到有长事务的信息、BR检查点的信息,而且每隔20分钟,
BR检查点写入的redo日志序号是在增长的,即OGG抽取进程每20分钟会将当前日志序号写入,同时在OGG日志报告中体现出来。 2014-06-21 18:17:42 WARNING OGG-01027 Long Running Transaction: XID 10.16.1533, Items 75372, Extract EXT1, Redo Thread 1, SCN 0.9137521 (9137521), Redo Seq #14878, R
edo RBA 116752.
2014-06-21 18:27:41 INFO OGG-01971 The previous message, ‘WARNING OGG-01027′, repeated 1 times.
2014-06-21 18:27:41 INFO OGG-01738 BOUNDED RECOVERY: CHECKPOINT: for object pool 1: p23540_extr: start=SeqNo: 14878, RBA: 116752, SCN: 0.9137521 (9137521), Timest
amp: 2014-06-21 18:10:14.000000, end=SeqNo: 14881, RBA: 139776, SCN: 0.9138688 (9138688), Timestamp: 2014-06-21 18:27:38.000000, Thread: 1.
2014-06-21 18:47:50 INFO OGG-01738 BOUNDED RECOVERY: CHECKPOINT: for object pool 1: p23540_extr: start=SeqNo: 14885, RBA: 144912, SCN: 0.9139983 (9139983), Timest
amp: 2014-06-21 18:47:47.000000, Thread: 1, end=SeqNo: 14885, RBA: 145408, SCN: 0.9139983 (9139983), Timestamp: 2014-06-21 18:47:47.000000, Thread: 1.
2014-06-21 19:07:59 INFO OGG-01738 BOUNDED RECOVERY: CHECKPOINT: for object pool 1: p23540_extr: start=SeqNo: 14889, RBA: 176144, SCN: 0.9141399 (9141399), Timest
amp: 2014-06-21 19:07:56.000000, Thread: 1, end=SeqNo: 14889, RBA: 176640, SCN: 0.9141399 (9141399), Timestamp: 2014-06-21 19:07:56.000000, Thread: 1.
最后,记住一点:如果使用BR默认的4小时,则当前磁盘上至少要保存过去8小时的归档日志,以便满足任何长事务的要求,
当然,在实际生产环境中,往往要求保存的时间会更长。下面的图示中
aaarticlea/png;base64,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" alt="" />
T27, T45开始于BR N-1之前,会在BR N这个检查点上记录状态;而T801是在BR N-1之后开始,在BR N检查点时,由于不满足BR interval的时间要求,因此不会被记录到BR N这个检查点上,而是会记录在BR N+1这个检查点上。
一旦在BR N和BR N+1这个时间范围内,extract当掉,则T801的所有信息丢失,重启extract之后,将会从T801开始的时间点解析日志。
ogg BR – BOUNDED RECOVERY 测试案例的更多相关文章
- ogg BR – BOUNDED RECOVERY
BR – BOUNDED RECOVERY 适用于 Extract 进程(仅适用于 Oracle数据库) 使用 BR 参数可以控制 GoldenGate 的 Bounded Recovery (BR) ...
- KingbaseES R6 集群repmgr.conf参数'recovery'测试案例(一)
KingbaseES R6集群repmgr.conf参数'recovery'测试案例(一) 案例说明: 在KingbaseES R6集群中,主库节点出现宕机(如重启或关机),会产生主备切换,但是当主库 ...
- GoldenGate BR(bounded Recovery)简单说明
背景 Oracle数据库的在线日志包含已提交的和未提交的事务,但OGG只会将已提交的事务写入到队列文件.因此,针对未提交的事务,特别是未提交的长事务,OGG会怎样处理呢? 有些长事务是在批处理作业中, ...
- KingbaseES R6 集群repmgr.conf参数'recovery'测试案例(三)
案例三:测试'recovery = manual' 1.查看集群节点状态信息: [kingbase@node1 bin]$ ./repmgr cluster show ID | Name | Role ...
- KingbaseES R6 集群repmgr.conf参数'recovery'测试案例(二)
案例二:测试'recovery = automatic' 1.查看集群节点状态信息: [kingbase@node1 bin]$ ./repmgr cluster show ID | Name | R ...
- GoldenGate 之 Bounded Recovery说明
首先,我们来看两个OGG同步中可能的问题: l oracle在线日志包含已提交的和未提交的事务,但OGG只会将已提交的事务写入到队列文件.因此,针对未提交的事务,特别是未提交的长事务,OGG会怎样处理 ...
- nginx整合tomcat集群并做session共享----测试案例
最近出于好奇心,研究了一下tomcat集群配置,并整合nginx,实现负载均衡,session共享,写篇记录,防止遗忘.---------菜鸡的自我修炼. 说明:博主采用一个web项目同时部署到两台t ...
- Storm自带测试案例的运行
之前Storm安装之后,也知道了Storm的一些相关概念,那么怎么样才可以运行一个例子对Storm流式计算有一个感性的认识呢,那么下面来运行一个Storm安装目录自带的测试案例,我们的Storm安装在 ...
- 编写优美的GTest测试案例
http://www.cnblogs.com/coderzh/archive/2010/01/09/beautiful-testcase.html 使用gtest也有很长一段时间了,这期间也积累了一些 ...
随机推荐
- 微信小程序 JS 获取View 和 屏幕相关属性(高度、宽度等等)
wx.getSystemInfo({success: function (res) {thisWidth = res.windowWidth;}}); that.setData({view_Width ...
- WPF:Hyperlink如何绑定数据
<TextBlock> <Hyperlink> <Run Text="{Binding PCFolderPath, Mode=OneWay}"/> ...
- Spring Boot 特性以及代码模板实例
SpringBoot工程 参数解析 HTTP Method Request / Response / Session Error/重定向 Logger IoC AOP/Aspect 1:Sprin ...
- Python __init__.py文件的作用
我们经常在python的模块目录中会看到 "__init__.py" 这个文件,那么它到底有什么作用呢? 1. 模块包(module package)标识 如果你是使用pytho ...
- TURN Server Windows 安装程序
有了OfficeSIP TURN Server 安装包,记录一下. http://www.onlinedown.net/soft/94746.htm 开源代码(C#)和应用地址:https://sou ...
- [20181105]再论12c set feedback only.txt
[20181105]再论12c set feedback only.txt --//前一阵子的测试,链接:http://blog.itpub.net/267265/viewspace-2216290/ ...
- sql server 计算两个时间 相差的 几天几时几分几秒
CAST ( CAST ( DATEDIFF ( ss, StartTime, ConcludeTime ) / ( 60 * 60 * 24 ) AS INT ) AS VARCHAR ) + '天 ...
- Powershell测试端口状态
function Test-Port { Param([string]$ComputerName,$port = 5985,$timeout = 1000) try { $tcpclient = Ne ...
- django数据查询之聚合查询和分组查询
<1> aggregate(*args,**kwargs): 通过对QuerySet进行计算,返回一个聚合值的字典.aggregate()中每一个参数都指定一个包含在字典中的返回值.即在查 ...
- ElementUI在IE11下兼容性修改
1.在项目里面使用了axios.js来发送http请求,在IE下报错Promise未定义,解决办法: 到http://bluebirdjs.com/docs/getting-started.html ...