之前配置了好几套RAC的ogg都没出现问题,今天配置的时候出现问题,记录如下:
database version:11.2.0.3 RAC
OGG version: 11.2.1.0.1
前面的配置就略过了,在配置extract进程的时候出现如下问题:
GGSCI (postmallrac1) 5> add extract ext01, tranlog, threads 2, begin now
EXTRACT added.
GGSCI (postmallrac1) 6> add exttrail /vol1/ogg/dirdat/tt, extract ext01, megabytes 100
EXTTRAIL added.
然后开启该extract进程
GGSCI (postmallrac1) 9> start ext01
Sending START request to MANAGER ...
EXTRACT EXT01 starting
GGSCI (postmallrac1) 14> info all
Program Status Group Lag at Chkpt Time Since Chkpt
MANAGER RUNNING
EXTRACT RUNNING EXT01 00:00:00 00:00:02
GGSCI (postmallrac1) 15> info ext01
EXTRACT EXT01 Last Started 2013-03-23 15:28 Status RUNNING
Checkpoint Lag 00:00:00 (updated 00:00:08 ago)
Log Read Checkpoint Oracle Redo Logs
2013-03-23 15:28:37 Thread 1, Seqno 38, RBA 4722176
SCN 1.1326614712 (5621582008)
Log Read Checkpoint Oracle Redo Logs
2013-03-23 15:26:19 Thread 2, Seqno 0, RBA 0
SCN 0.0 (0)
其中thread 2无法识别instance 2的redo log,而且thread 1虽然识别到了redo log,但是也没法写入到trail文件中。
仔细检查各项配置,均未发现问题,看来只能强制为thread 2 指定其相应的redo log。
先在数据库里查出instance 2的current redo log的sequence为8,然后停掉该extract,为thread 2指定redo
GGSCI (postmallrac1) 5> stop ext01
Sending STOP request to EXTRACT EXT01 ...
还停不掉,只好在os上 kill掉该进程,然后再修改thread 2的redo
GGSCI (postmallrac1) 1> info all
Program Status Group Lag at Chkpt Time Since Chkpt
MANAGER RUNNING
EXTRACT STOPPED EXT01 00:41:33 00:03:43
GGSCI (postmallrac1) 2> alter extract ext01, tranlog, extseqno 8, thread 2;
EXTRACT altered.
开启该进程
GGSCI (postmallrac1) 4> start ext01
Sending START request to MANAGER ...
EXTRACT EXT01 starting
GGSCI (postmallrac1) 10> info all
Program Status Group Lag at Chkpt Time Since Chkpt
MANAGER RUNNING
EXTRACT RUNNING EXT01 00:00:05 00:00:09
GGSCI (postmallrac1) 11> info ext01
EXTRACT EXT01 Last Started 2013-03-23 16:16 Status RUNNING
Checkpoint Lag 00:00:01 (updated 00:00:05 ago)
Log Read Checkpoint Oracle Redo Logs
2013-03-23 16:17:15 Thread 1, Seqno 38, RBA 11322880
SCN 1.1326625322 (5621592618)
Log Read Checkpoint Oracle Redo Logs
2013-03-23 00:17:14 Thread 2, Seqno 8, RBA 12943872
SCN 1.1326625321 (5621592617)
从上可以发现,start后,其Lag已经下降至几秒,然后thread 2也已经能正确识别相应实例的redo log并进行解析。
然后在两个instance分别修改需要同步的表的数据,在target端发现已经能够正常同步了。
小结:
1、可以用alter语句来为extract进程来指定要解析的日志,甚至是RBA。