OGG目前不支持对10g以后压缩表(compressed table)的extract,若挖掘到压缩表相关的DML纪录则extract会abend:
SQL> alter table sales compress 2; Table altered. SQL> update sales set AMOUNT_SOLD= AMOUNT_SOLD +1 where rownum<200; 199 rows updated. SQL> commit; Commit complete. extract report: *********************************************************************** ** Run Time Messages ** *********************************************************************** 2010-12-12 23:08:44 INFO OGG-01517 Position of first record processed Sequence 51, RBA 12853264, SCN 0.53443895, 2010-12-12 下午11:08:42. TABLE resolved (entry CLINIC.SALES): Table CLINIC.SALES; Source Context : SourceModule : [ggdb.ora.dbx] SourceID : [/home/ecloud/workspace/Build_FBO_OpenSys_r11.1.1.0.0_078_[34093]/perforce/src/gglib/ggdbora/dbxoci.c] SourceFunction : [get_object_attributes] SourceLine : [5122] ThreadBacktrace : [20] elements : [/home/maclean/gg/extract(CMessageContext::AddThreadContext()+0x26) [0x7f6596]] : [/home/maclean/gg/extract(CMessageFactory::CreateMessage( CSourceContext*, unsigned int, ...)+0x7b2) [0x7ed032]] : [/home/maclean/gg/extract(_MSG_ERR_ORACLE_COMPRESSED_TABLE (CSourceContext*, DBString<777> const&, CMessageFactory::MessageDisposition)+0x92) [0x79c842]] : [/home/maclean/gg/extract(gl_get_odbc_table_def(file_def*, short, char*)+0x6a4) [0x6a7ee4]] : [/home/maclean/gg/extract [0x54e03e]] : [/home/maclean/gg/extract [0x54f078]] : [/home/maclean/gg/extract(get_map_entry(char*, int, __wc*, int)+0x841) [0x550cf1]] : [/home/maclean/gg/extract [0x62ec62]] : [/home/maclean/gg/extract(WILDCARD_check_table(char const*, char const*, int, unsigned int*, int, unsigned int, DBString<777>*, int)+0x320) [0x630560]] : [/home/maclean/gg/extract(REDOORA_lookup_table(file_def**, log_context_t*, int)+0x1398) [0x6ce678]] : [/home/maclean/gg/extract [0x70b81c]] : [/home/maclean/gg/extract(REDOORAOUT_get_committed_record(objectpool*, cache_object*, log_context_t*, chkpt_context_t*, short, int, int, int*, char*, int*, int*, int*, char*, short*, int*, char*)+0x449) [0x713619]] : [/home/maclean/gg/extract [0x6fc77e]] : [/home/maclean/gg/extract(REDOORAOPS_process_ops (subrec_info_t*, objectpool*, objectpool*, cache_object**, log_context_t*, redo_thread_t*, chkpt_context_t*, long, int, int, int, char*, int*, int*, char*, short*, int*, char*)+0x5fa) [0x700bca]] : [/home/maclean/gg/extract(REDO_read(char*, int*, long*, char*, short*, int, char*)+0xb6a) [0x6ca6fa]] : [/home/maclean/gg/extract(READ_EXTRACT_RECORD(chkpt_context_t*, short, char*, __std_rec_hdr*, int*, int*, long*, short, short, char*, short*, char*, short*, long*, char*)+0x344) [0x4f0824]] : [/home/maclean/gg/extract [0x56ab17]] : [/home/maclean/gg/extract(main+0xfaa) [0x56fc3a]] : [/lib64/libc.so.6(__libc_start_main+0xf4) [0x39f1c1d994]] : [/home/maclean/gg/extract(__gxx_personality_v0+0x1f2) [0x4e5ada]] 2010-12-12 23:10:11 ERROR OGG-01433 Failed to validate table CLINIC.SALES. The table is compressed and extract will not be able to extract data from Oracle logs.
本文转自maclean_007 51CTO博客,原文链接:http://blog.51cto.com/maclean/1277627