查看复制进程scn
Table of Contents
1 目的
工作中出现一个场景,已经运行很久的一套系统,由于某张表数据异常缺失,未查明原因。通知我重新做一次数据初始化。
细细思考了一下,重新初始化其中一张表,同时又要保持与其他表的数据一致性,只有SCN 来控制才能实现了。
在重新初始化的过程,应包含以下几个步骤:
- 停止replicat,并清空目标库中的相关数据。
- 查看对应replicat的SCN,这个SCN 是在源库生成初始化数据的关键。只能初始化该SCN之前的数据。
- 源库生成基于SCN的中间割接数据。
- 启动初始化进程(配置数据抽取参数等)
- 数据初始化完成后,启动数据应用进程。
其他都不是问题,只有查看replicat 的SCN 以前没有做过。经过度娘,和实际操作,将操作内容整理。
2 查看replicat的SCN
主要有两种方式:
-
ggsci> info <replicat group> , showch
info gsxt_rep showch REPLICAT GSXT_REP Last Started 2020-03-16 21:25 Status STOPPED Checkpoint Lag 00:00:00 (updated 00:03:17 ago) Log Read Checkpoint File ./dirdat/xm000007 2020-03-16 21:40:08.715836 RBA 625467 CSN state information: CRC: D5-14-6-B1 Latest CSN: 14064580200613 Latest TXN: 10.16.281070 Latest CSN of finished TXNs: 14064580200613 =========> 这里就是replicat 完成事务的最后的SCN Completed TXNs: 10.16.281070
但是不是所有的replicat 都可以通过这种方式找到SCN。如果没有显示的话, 只能使用logdump来查看。
- logdump
具体使用方法如下:
GGSCI (xxxx) 2> info repxm REPLICAT SZREP2 Last Started 2015-01-14 16:19 Status STOPPED Checkpoint Lag 00:00:00 (updated 00:06:02 ago) Log Read Checkpoint File ./dirdat/we000851 2015-01-14 16:19:14.721032 RBA 1700798 GGSCI (szgjj1) 3> exit $ ./logdump ...... Logdump 1 >open ./dirdat/xm000008 Current LogTrail is s/dirdat/xm000008 Logdump 2 >position 1700798 Reading forward from RBA 1700798 Logdump 3 >ggstoken detail Logdump 4 >position reverse Reading in reverse from RBA 1700798 Logdump 5 >n ===========================> 翻页,如果一次n命令没有找到SCN,则再次翻页查看。 2020/03/16 16:19:14.721.032 Insert Len 405 RBA 1700295 Name: SZHFSXMB.AF_DTL_PER After Image: Partition 4 G e 0000 000a 0000 3333 3031 3230 3030 0001 000a 0000 | ……33012000…… 3333 3031 3230 3030 0002 0011 0000 000d 3135 3031 | 33012000……..1501 3134 3033 3237 3531 3400 0300 1100 0000 0d31 3530 | 140327514……..150 3131 3430 3332 3735 3134 0004 0008 0000 3230 3135 | 1140327514……2015 3031 0005 0004 0000 3039 0006 0010 0000 000c 3030 | 01……09……..00 3030 3030 3631 3430 3431 0007 000e 0000 000a 3130 | 0000614041……..10 3131 3036 3130 3439 0008 000b 0000 0007 3031 3234 | 11061049……..0124 Logdump 6 >n GGS tokens: TokenID x52 ‘R‘ ORAROWID Info x00 Length 20 4141 4150 4868 4141 5a41 4142 5274 5841 4156 0001 | AAAPHhAAZAABRtXAAV.. TokenID x4c ‘L‘ LOGCSN Info x00 Length 11 3135 3139 3235 3337 3630 34 | 15192537604 =====> 这个15192537604就是最后一次应用的事务的SCN TokenID x36 ‘6‘ TRANID Info x00 Length 12 3130 2e31 382e 3739 3632 3335 | 10.18.796235