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


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   

相关内容