ERROR   OGG-01028 和 Compression is not supported

***********************************************************************
                 Oracle GoldenGate Capture for Oracle
    Version 11.2.1.0.1 OGGCORE_11.2.1.0.1_PLATFORMS_120423.0230_FBO
   Linux, x64, 64bit (optimized), Oracle 11g on Apr 23 2012 08:42:16

Copyright (C) 1995, 2012, Oracle and/or its affiliates. All rights reserved.


extract 进程 配置 


--基础参数区域
EXTRACT extdr
SETENV (NLS_LANG="AMERICAN_AMERICA.AL32UTF8")
Set environment variable (NLS_LANG=AMERICAN_AMERICA.AL32UTF8)
USERID dkogg,PASSWORD ************************************************, ENCRYPTKEY default
REPORTCOUNT EVERY 30 MINUTES,RATE
DISCARDFILE ./dirrpt/extdr.dsc,  APPEND,  MEGABYTES 1024
DISCARDROLLOVER AT 3:00
WARNLONGTRANS 2h, CHECKINTERVAL 3m
EXTTRAIL ./dirdat/sa
DYNAMICRESOLUTION
DBOPTIONS  ALLOWUNUSEDCOLUMN
FETCHOPTIONS NOUSESNAPSHOT
TRANLOGOPTIONS  CONVERTUCS2CLOBS

2015-05-25 13:44:35  WARNING OGG-00254  CONVERTUCS2CLOBS is a deprecated parameter.
TRANLOGOPTIONS  EXCLUDEUSER dkogg
THREADOPTIONS   MAXCOMMITPROPAGATIONDELAY 60000 IOLATENCY 60000
--TRANLOGOPTIONS _INFINITYTOZER
TRANLOGOPTIONS _INFINITYTOZERO
--NODDLCHANGEWARNING
--DDL参数区域,所有复制对象,屏蔽对象在源端体现。
DDL INCLUDE MAPPED OBJTYPE 'TABLE' INCLUDE MAPPED OBJTYPE 'INDEX' INCLUDE MAPPED OBJTYPE 'SEQUENCE' INCLUDE MAPPED OBJTYPE 'VIEW' INCLUDE MAPPED OBJTYPE 'PROCEDURE' INC
LUDE MAPPED OBJTYPE 'FUNCTION' INCLUDE MAPPED OBJTYPE 'PACKAGE' EXCLUDE OPTYPE COMMENT
DDLOPTIONS  addtrandata REPORT
--添加对象
TABLE DUSER.*;
SEQUENCE  DUSER.*;


今天发现进程ABENDED 了

查看:

***********************************************************************
**                     Run Time Messages                             **
***********************************************************************


2015-05-25 13:44:42  INFO    OGG-01517  Position of first record processed Sequence 336592, RBA 157712, SCN 16.1806035766, 2015-5-25 上午11:27:56.
TABLE resolved (entry DKADVUSER.DK_B_ORGANIZATION):
  TABLE "DKADVUSER"."DK_B_ORGANIZATION";
Using the following key columns for source table DKADVUSER.DK_B_ORGANIZATION: ORGANIZATION_ID.


Source Context :
  SourceModule            : [er.processloop]
  SourceID                : [/scratch/aime1/adestore/views/aime1_adc4150256/oggcore/OpenSys/src/app/er/processloop.cpp]
  SourceFunction          : [process_extract_loop]
  SourceLine              : [873]
  ThreadBacktrace         : [7] elements
                          : [/opt/ogg/libgglog.so(CMessageContext::AddThreadContext()+0x1e) [0x7fde5399d06e]]
                          : [/opt/ogg/libgglog.so(CMessageFactory::CreateMessage(CSourceContext*, unsigned int, ...)+0x2cc) [0x7fde5399944c]]
                          : [/opt/ogg/libgglog.so(_MSG_ERR_ER_GENERIC_FAILURE(CSourceContext*, char const*, CMessageFactory::MessageDisposition)+0x31) [0x7fde539812a9]]
                          : [/opt/ogg/extract(process_extract_loop()+0x3884) [0x55d9b4]]
                          : [/opt/ogg/extract(main+0x5d9) [0x56cb99]]
                          : [/lib64/libc.so.6(__libc_start_main+0xfd) [0x3e3ee1ed5d]]
                          : [/opt/ogg/extract(__gxx_personality_v0+0x38a) [0x4e8b7a]]

2015-05-25 13:44:43  ERROR   OGG-01028  Record on table DUSER.B_ORGANIZATION with rowid AAAX05AAOAAGfocAAH from transaction 13.33.4286930 (0x000d.021.004169d2) i
s compressed. Compression is not supported.

那么B_ORGANIZATION 表是 compression 是DISABLED .


仔细查找找到原因


1、alter table ... modify partition ... compress ... ,该方法仅适用于新插入的数据。

2、alter table ... move partition ... compress ... ,该方法适用于新插入的数据和已存在的数据。


当时对压缩表做了解压缩,我用的第1种modify方式 解压缩。也就说当前程序对表B_ORGANIZATION中AAAX05AAOAAGfocAAH 这一行数据做了重新编辑,这样就会出现OOG-01028错误现象。如下是oracle的解决方法:



However, due to bug 10063108, sometimes the error message on compressed tables are not entirely correct. This problem has been fixed in 11.1.1.0.3 and above 


A table created as compressed will cause all of the DMLas to go into compressed blocks on disk. If the user does an "alter table nocompress", every DML that goes into the table AFTER that point in time will be uncompressed. The query for compression will return "nocompress" now, but that simple "alter" does not change the already existing compressed blocks on disk that were created before the "alter". So to capture the records from a table which was compressed we need to do the following 


SQL> alter table <tablename> move nocompress; 


This will touch every single block on disk and will uncompress everything and so OGG should be all good. 


如果是分区表请用


SQL> ALTER TABLE <Table_name> MOVE PARTITION <partition_name> NOCOMPRESS TABLESPACE <tablespace>; 

如果表的segment 比较大,要先确保有足够空间。


完成之后再对表进行重新同步。








你可能感兴趣的:(error,compression,OGG-01028)