OGG目的端的checkpoint table被drop的修复方法

參考自:OGG Replicat Failed Due To Check_point Table beingTruncated (文档 ID 1319832.1)

1.首先,start repfull报错:

GGSCI (localhost.localdomain) 8> view report repfull

***********************************************************************
Oracle GoldenGate Delivery for Oracle
Version 11.2.1.0.20 18227972 OGGCORE_11.2.1.0.0OGGBP_PLATFORMS_140304.2209_FBO
Linux, x64, 64bit (optimized), Oracle 10g on Mar 5 2014 02:20:23 Copyright (C) 1995, 2014, Oracle and/or its affiliates. All rights reserved. Starting at 2015-06-11 08:49:51
*********************************************************************** Operating System Version:
Linux
Version #1 SMP Fri Jan 27 17:17:51 EST 2012, Release 2.6.18-308.el5
Node: localhost.localdomain
Machine: x86_64
soft limit hard limit
Address Space Size : unlimited unlimited
Heap Size : unlimited unlimited
File Size : unlimited unlimited
CPU Time : unlimited unlimited Process id: 7590 Description: ***********************************************************************
** Running with the following parameters **
*********************************************************************** 2015-06-11 08:49:51 INFO OGG-03035 Operating system character set identified as UTF-8. Locale: en_US, LC_ALL:. 2015-06-11 08:49:51 INFO OGG-02696 NON-ANSI SQL parameter syntax is used for parameter parsing.
replicat repfull
setenv ( NLS_LANG = "AMERICAN_AMERICA.ZHS16GBK" ) 2015-06-11 08:49:51 INFO OGG-02095 Successfully set environment variable NLS_LANG=AMERICAN_AMERICA.ZHS16GBK.
assumetargetdefs
userid goldengate, password ************
DBOPTIONS DEFERREFCONST
gettruncates
ALLOWNOOPUPDATES
ddl include mapped
discardfile ./dirrpt/repfull.dsc, append, megabytes 5000
map scott.*, target scott.*;
map lc00019999.*, target lc00019999.*; 2015-06-11 08:49:51 INFO OGG-00506 Both GETTRUNCATES and DDL replication are enabled. 2015-06-11 08:49:51 INFO OGG-01815 Virtual Memory Facilities for: COM
anon alloc: mmap(MAP_ANON) anon free: munmap
file alloc: mmap(MAP_SHARED) file free: munmap
target directories:
/u02/ggs/dirtmp. CACHEMGR virtual memory values (may have been adjusted)
CACHESIZE: 2G
CACHEPAGEOUTSIZE (normal): 8M
PROCESS VM AVAIL FROM OS (min): 4G
CACHESIZEMAX (strict force to disk): 3.41G Database Version:
Oracle Database 10g Enterprise Edition Release 10.2.0.5.0 - 64bi
PL/SQL Release 10.2.0.5.0 - Production
CORE 10.2.0.5.0 Production
TNS for Linux: Version 10.2.0.5.0 - Production
NLSRTL Version 10.2.0.5.0 - Production Database Language and Character Set:
NLS_LANG = "AMERICAN_AMERICA.ZHS16GBK"
NLS_LANGUAGE = "AMERICAN"
NLS_TERRITORY = "AMERICA"
NLS_CHARACTERSET = "ZHS16GBK" Source Context :
SourceModule : [er.common]
SourceID : [/scratch/aime1/adestore/views/aime1_adc4150267/oggcore/OpenSys/src/app/er/common.cpp]
SourceFunction : [extract_start_point]
SourceLine : [2142]
ThreadBacktrace : [11] elements
: [/u02/ggs/libgglog.so(CMessageContext::AddThreadContext()+0x1e) [0x2ad4a9a6561e]]
: [/u02/ggs/libgglog.so(CMessageFactory::CreateMessage(CSourceContext*, unsigned int, ...)+0x2ec) [0x2ad4a9a5e15c]]
: [/u02/ggs/libgglog.so(_MSG_ERR_CHECKPOINT_GENERIC(CSourceContext*, char const*, CMessageFactory::MessageDisposition)+0x31) [0x2ad4a9a4f66b]
]
: [/u02/ggs/replicat(extract_start_point(time_elt_def*, time_elt_def*)+0x165) [0x520775]]
: [/u02/ggs/replicat(replicat_main(int, char**)+0x59f) [0x550f5f]]
: [/u02/ggs/replicat(ggs::gglib::MultiThreading::MainThread::ExecMain()+0x4f) [0x5ef7ff]]
: [/u02/ggs/replicat(ggs::gglib::MultiThreading::Thread::RunThread(ggs::gglib::MultiThreading::Thread::ThreadArgs*)+0x104) [0x5efa54]]
: [/u02/ggs/replicat(ggs::gglib::MultiThreading::MainThread::Run(int, char**)+0x8b) [0x5efb5b]]
: [/u02/ggs/replicat(main+0x2c) [0x5502ac]]
: [/lib64/libc.so.6(__libc_start_main+0xf4) [0x3a2a01d994]]
: [/u02/ggs/replicat(__gxx_personality_v0+0x31a) [0x4c266a]] 2015-06-11 08:49:52 ERROR OGG-00446 Checkpoint table goldengate.ckptfull does not exist. Please create the table or recreate the REPFULL group using the correct t
able. 2015-06-11 08:49:52 ERROR OGG-01668 PROCESS ABENDING.

2.于是。就建立上goldengate.ckptfull 这个表:

GGSCI (localhost.localdomain) 9>  dblogin  userid goldengate, password xxx
Successfully logged into database. GGSCI (localhost.localdomain) 10> ADD CHECKPOINTTABLE goldengate.ckptfull Successfully created checkpoint table goldengate.ckptfull.

3.此时,start repfull报错:

Source Context :
SourceModule : [er.common]
SourceID : [/scratch/aime1/adestore/views/aime1_adc4150267/oggcore/OpenSys/src/app/er/common.cpp]
SourceFunction : [extract_start_point]
SourceLine : [2142]
ThreadBacktrace : [11] elements
: [/u02/ggs/libgglog.so(CMessageContext::AddThreadContext()+0x1e) [0x2b18e359d61e]]
: [/u02/ggs/libgglog.so(CMessageFactory::CreateMessage(CSourceContext*, unsigned int, ...)+0x2ec) [0x2b18e359615c]]
: [/u02/ggs/libgglog.so(_MSG_ERR_CHECKPOINT_GENERIC(CSourceContext*, char const*, CMessageFactory::MessageDisposition)+0x31) [0x2b18e358766b]
]
: [/u02/ggs/replicat(extract_start_point(time_elt_def*, time_elt_def*)+0x165) [0x520775]]
: [/u02/ggs/replicat(replicat_main(int, char**)+0x59f) [0x550f5f]]
: [/u02/ggs/replicat(ggs::gglib::MultiThreading::MainThread::ExecMain()+0x4f) [0x5ef7ff]]
: [/u02/ggs/replicat(ggs::gglib::MultiThreading::Thread::RunThread(ggs::gglib::MultiThreading::Thread::ThreadArgs*)+0x104) [0x5efa54]]
: [/u02/ggs/replicat(ggs::gglib::MultiThreading::MainThread::Run(int, char**)+0x8b) [0x5efb5b]]
: [/u02/ggs/replicat(main+0x2c) [0x5502ac]]
: [/lib64/libc.so.6(__libc_start_main+0xf4) [0x3a2a01d994]]
: [/u02/ggs/replicat(__gxx_personality_v0+0x31a) [0x4c266a]] 2015-06-11 09:03:03 ERROR OGG-00446 No data selecting position from checkpoint table goldengate.ckptfull for group 'REPFULL', key 1036574807 (0x3dc8e057), SQL <SEL
ECT a.current_dir, a.seqno, a.rba, a.audit_ts, a.log_csn, a.log_cmplt_csn, a.log_cmplt_xids, b.log_cmplt_xids FROM goldengate.ckptfull a LEFT JOIN goldengate.ckptfull_
lox b ON a.group_name = b.group_name AND a.group_key = b.group_key AND a.log_cmplt_csn = b.log_cmplt_csn WHERE a.group_name = 'REPFULL' AND a.group_key = 1036574807>. 2015-06-11 09:03:03 ERROR OGG-01668 PROCESS ABENDING.

4.得到repfull的读检查点信息:

GGSCI (localhost.localdomain) 16> info repfull

REPLICAT   REPFULL   Last Started 2015-06-11 08:30   Status ABENDED
Checkpoint Lag 00:00:00 (updated 00:33:01 ago)
Log Read Checkpoint File /u02/ggs/dirdat/td000001 ---->1
First Record RBA 1192 ---->1192

5.改动检查点(事实上不叫改动,就是反复一下而已)

GGSCI (localhost.localdomain) 17> alter replicat repfull, extseqno 1, extrba 1192
REPLICAT altered. GGSCI (localhost.localdomain) 18> info repfull REPLICAT REPFULL Initialized 2015-06-11 09:05 Status STOPPED
Checkpoint Lag 00:00:00 (updated 00:00:04 ago)
Log Read Checkpoint File /u02/ggs/dirdat/td000001
First Record RBA 1192

6.启动repfull进程,

GGSCI (localhost.localdomain) 19> start repfull

Sending START request to MANAGER ...
REPLICAT REPFULL starting

注意,此时goldengate.ckptfull表里边才被插入一条记录。

7.检查状态:

GGSCI (localhost.localdomain) 41> info all

Program     Status      Group       Lag at Chkpt  Time Since Chkpt

MANAGER     RUNNING
REPLICAT RUNNING REPFULL 00:00:00 00:00:01
04-16 09:40