OGG目的端的checkpoint table被drop的修複方法,oggcheckpoint
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:LinuxVersion #1 SMP Fri Jan 27 17:17:51 EST 2012, Release 2.6.18-308.el5Node: localhost.localdomainMachine: x86_64 soft limit hard limitAddress Space Size : unlimited unlimitedHeap Size : unlimited unlimitedFile Size : unlimited unlimitedCPU Time : unlimited unlimitedProcess id: 7590Description: ************************************************************************* 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 repfullsetenv ( NLS_LANG = "AMERICAN_AMERICA.ZHS16GBK" )2015-06-11 08:49:51 INFO OGG-02095 Successfully set environment variable NLS_LANG=AMERICAN_AMERICA.ZHS16GBK.assumetargetdefsuserid goldengate, password ************DBOPTIONS DEFERREFCONSTgettruncatesALLOWNOOPUPDATESddl include mappeddiscardfile ./dirrpt/repfull.dsc, append, megabytes 5000map 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: 2GCACHEPAGEOUTSIZE (normal): 8MPROCESS VM AVAIL FROM OS (min): 4GCACHESIZEMAX (strict force to disk): 3.41GDatabase Version:Oracle Database 10g Enterprise Edition Release 10.2.0.5.0 - 64biPL/SQL Release 10.2.0.5.0 - ProductionCORE 10.2.0.5.0 ProductionTNS for Linux: Version 10.2.0.5.0 - ProductionNLSRTL Version 10.2.0.5.0 - ProductionDatabase 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 table.2015-06-11 08:49:52 ERROR OGG-01668 PROCESS ABENDING.
2.於是,就建立上goldengate.ckptfull 這個表:
GGSCI (localhost.localdomain) 9> dblogin userid goldengate, password oracleoracleSuccessfully logged into database.GGSCI (localhost.localdomain) 10> ADD CHECKPOINTTABLE goldengate.ckptfullSuccessfully 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 <SELECT 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 repfullREPLICAT REPFULL Last Started 2015-06-11 08:30 Status ABENDEDCheckpoint 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 1192REPLICAT altered.GGSCI (localhost.localdomain) 18> info repfullREPLICAT REPFULL Initialized 2015-06-11 09:05 Status STOPPEDCheckpoint 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 repfullSending START request to MANAGER ...REPLICAT REPFULL starting
注意,此時goldengate.ckptfull表裡邊才被插入一條記錄。
7.檢查狀態:
GGSCI (localhost.localdomain) 41> info allProgram Status Group Lag at Chkpt Time Since ChkptMANAGER RUNNING REPLICAT RUNNING REPFULL 00:00:00 00:00:01