检查点早在Oracle 8之前的时候就有了,到现在12c
Oracle已经有了各种各样的检查点,并且可以自我调整优化检查点。
检查点可以理解只是一个events,它存在的根本意义在于缩短恢复时间。
OGG中进程检查点
1. Capture
>>>>Read
Checkpoint:
Startup
Checkpoint,Recovery Checkpoint,Current Checkpoint
Capture Startup Checkpoint记录着什么时间点启动的进程和对应的redo位置。
Capture Recovery
Checkpoint记录着当前DB中最早未提交事务的位置,用于Capture进程崩溃恢复,当然进程恢复如果存在长事务也可以使用BR结合未使用的archive
logs+redo logs类似于DB-FAST-MTTR(10G以后Oracle推出了SelfTune
Checkpoint)。
Capture Current
Checkpoint记录着当前Capture进程获取DB事务最新位置即对应的Timestamp/RBA/Trailseqno,如果剥去LAG不算,等于DB当前时间点。
>>>>Write
Checkpoint:
Current
Checkpoint
Capture Current Checkpoint记录了写到哪个Trail文件中,写到什么时间点以及对应的RBA地址。
2. Data Pump
>>>>Read
Checkpoint:
Startup
Checkpoint,Current Checkpoint
Data Pump Startup
Checkpoint记录着什么时间点启动的进程以及对应Trail文件和响应的RBA地址。
Data Pump Current
Checkpoint记录着进程当前获取Trail文件事务的最新记录,即对应的Timestamp/RBA/Trailseqno。
>>>>Write
Checkpoint:
Current
Checkpoint
Data Pump Current
Checkpoint记录着进程投递Trail文件到远端的物理位置,以及即对应的Timestamp/RBA/Trailseqno。
3. Replicat
>>>>Read
Checkpoint:
Startup
Checkpoint,Current Checkpoint
Replicat Startup
Checkpoint记录着什么时间点启动的进程以及对应Trail文件和响应的RBA地址。
Replicat Current
Checkpoint记录着当前读取Trail文件的Timestamp/RBA/Trailseqno,Apply
Transaction到DB中。
检查点可以存储在DB中,也可以存储在OS上。检查点存储在DB中可以和和实际事务作为一个事务提交,可以从数据表中找到更多的信息,检查点存储在OS上(默认存储在dirchk下),可以有效的提高性能,数据库崩溃后检查点信息不会丢失。
当然除了进程有对应的检查点意外,还有一些地方也存在检查点,例如Bounded
Recovery 可以把一些长事务暂时存储到磁盘中便与进程缩短恢复时间。
手动调整检查点
1. 手动调整Capture进程开始工作点
变更-进程从2015-03-10
12:12:12开始抽取事务。
GGSCI
(tianbaobao.ht8888.ht3) 20>alter extract, begin
2015-03-10 12:12:12
变更-进程从Oracle数据库SCN为778899时开始抽取事务。
GGSCI
(tianbaobao.ht8888.ht3) 21>alter extract ext_001,
scn 778899
2. 手动调整Capture进程写入Trail文件Sequence号
变更-Capture进程写Trail文件到当前Sequence+1中,RBA从0开始。
GGSCI
(tianbaobao.ht8888.ht3) 74> alter ext_001
etrollover
2015-02-15 15:26:33
INFO
OGG-01520 Rollover performed.
For each affected output trail of Version 10 or higher format,
after starting the source extract, issue ALTER EXTSEQNO for that
trail's reader (either pump EXTRACT or REPLICAT) to move the
reader's scan to the new trail file; it will not
happen automatically.EXTRACT altered.
3. 手动调整Data Pump进程读Trail文件检查点位置
GGSCI
(tianbaobao.ht8888.ht3) 82> alter dpe_001, extseqno
5, extrba 0
EXTRACT altered.
4. 手动调整Data
Pump进程写Trail文件检查点位置,当前Sequence+1中,RBA从0开始。
GGSCI
(tianbaobao.ht8888.ht3) 2> alter extract dpe_001
etrollover
2015-02-15 16:37:29
INFO
OGG-01520 Rollover performed.
For each affected output trail of Version 10 or higher format,
after starting the source extract, issue ALTER EXTSEQNO for that
trail's reader (either pump EXTRACT or REPLICAT) to move the
reader's scan to the new trail file; it will not
happen automatically.EXTRACT altered.
5. 手动调整Replicat进程读Trail文件检查点位置
GGSCI
(TIANBAOBAO-PC-SERVER as ogg@dbtarget) 23> alter
rep_001, extseqno 5, extrba 0
REPLICAT altered.