查看复制进程scn

查看复制进程scn

1 目的

工作中出现一个场景,已经运行很久的一套系统,由于某张表数据异常缺失,未查明原因。通知我重新做一次数据初始化。

细细思考了一下,重新初始化其中一张表,同时又要保持与其他表的数据一致性,只有SCN 来控制才能实现了。

在重新初始化的过程,应包含以下几个步骤:

  1. 停止replicat,并清空目标库中的相关数据。
  2. 查看对应replicat的SCN,这个SCN 是在源库生成初始化数据的关键。只能初始化该SCN之前的数据。
  3. 源库生成基于SCN的中间割接数据。
  4. 启动初始化进程(配置数据抽取参数等)
  5. 数据初始化完成后,启动数据应用进程。

其他都不是问题,只有查看replicat 的SCN 以前没有做过。经过度娘,和实际操作,将操作内容整理。

2 查看replicat的SCN

主要有两种方式:

  1. 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来查看。

  2. 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 (xxxx) 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

Author: halberd.lee

Created: 2020-03-17 Tue 02:38

Validate

原文地址:https://www.cnblogs.com/halberd-lee/p/12508319.html