2014-01-08 goldengate 奇葩的事I
ogg进程一致运行好好的,昨天晚上10点半左右extract进程开始不工作了,短信报警一直提醒。早上来到公司,查看了下,没有任何报错,进程也一直在运行,但是就是不抓取日志,Time Since Chkpt一直在累积增长。
GGSCI(dbrac) 26> info all
Program Status Group Lag Time Since Chkpt
MANAGER RUNNING
EXTRACT RUNNING EXTCIQ1 00:00:00 11:07:19
EXTRACT RUNNING EXTCUS1 00:00:00 11:07:27
EXTRACT RUNNING P43CIQ1 00:00:00 00:00:02
EXTRACT RUNNING P43CUS1 00:00:00 00:00:04
REPLICAT RUNNING R44XIB1 00:00:02 00:00:03
REPLICAT RUNNING R67PUB1 00:00:00 00:00:06
GGSCI(dbrac) 27> info EXTCIQ1
EXTRACT EXTCIQ1 Last Started 2013-12-22 04:43 Status RUNNING
Checkpoint Lag 00:00:00 (updated 11:07:23 ago)
Log Read Checkpoint Oracle Redo Logs
2014-01-07 22:48:20 Thread 1, Seqno 72247, RBA 85604352
Log Read Checkpoint Oracle Redo Logs
2014-01-07 22:48:28 Thread 2, Seqno 48247, RBA 8573952
使用stop EXTCIQ1,停不下来,最后报超时。使用kill extract EXTCIQ1 也没有用。使用kill -9 来直接杀进程,也没有用。无奈之下,只能联系第三方的人过来帮我们解决。在等他们来的时候,进程自己abended掉了,这下好办了,重启进程看看。注意,进程自动abended掉,ggserr.log中没有任何报错。
进程会自动恢复,去找之前的日志,由于日志已经被压缩移到其他地方了,所以我要把日志再都找回来,解压。
之后进程就运行顺利,lag也很快消除了。
GGSCI(dbrac) 1> info all
Program Status Group Lag Time Since Chkpt
MANAGER RUNNING
EXTRACT RUNNING EXTCIQ1 00:00:00 00:00:00
EXTRACT RUNNING EXTCUS1 00:00:00 00:00:00
EXTRACT RUNNING P43CIQ1 00:00:00 00:00:00
EXTRACT RUNNING P43CUS1 00:00:00 00:00:00
REPLICAT RUNNING R44XIB1 00:00:00 00:00:00
REPLICAT RUNNING R67PUB1 00:00:00 00:00:00
后来第三方的来了,猜想是不是因为晚上有长事务,一直没有commit,因此extract在此阶段没有去抓取日志,处于running状态。到了早上,事务commit了之后,extract开始工作,由于原先的日志已经被清理,因此extract无法找到其所需要的日志,导致extract abended。
可能是这个原因,但是为什么不报任何错呢,如果找不到日志文件的话,应该会在ggserr.log里报错呀,即如下所示:
2014-01-08 10:07:51 GGS ERROR 500 Oracle GoldenGate Capture for Oracle, extciq1.prm: Could not findarchived log for sequence 48225 thread 2 under alternative or defaultdestinations. SQL <SELECT name FROM gv$archived_log WHERE sequence# = :ora_seq_no AND thread# = :ora_thread AND resetlogs_id = :ora_resetlog_idAND archived = 'YES' AND deleted = 'N>. Last alternative logtried /arch2/2_48225_770651168.dbf, error retrieving redo file name forsequence 48225, archived = 1, use_alternate = 0Not able to establish initialposition for sequence 48225, rba 22784016.
2014-01-08 10:07:51 GGS ERROR 190 Oracle GoldenGate Capture for Oracle, extciq1.prm: PROCESS ABENDING.
没有报错,实在是令人费解。
第三方的拷贝了我们的相关extrail文件,回去分析,希望他们能有所收获,给我们一个解答。
---------------------------------------------------------------------------------------------------------------------------------
题外语:
最近怪事不断呀,从上个月的停机之后的一个星期开始就没有断过。哎~是因为我要去HK了么,在我去之前给我点color see see,哈哈,开玩笑的~马上就要过年了,希望不要再出什么奇葩的事情了,从今天开始我天天念一遍“南无阿弥陀佛”以及“唵嘛呢叭咪吽”六字真言,求佛祖保佑!!!