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 .
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
: