Oracle GoldenGate and compressed tables

xiexingzhi發表於2012-09-03
Oracle GoldenGate and compressed tables [ID 1266389.1]
  修改時間 17-JUN-2011     型別 HOWTO     狀態 PUBLISHED  
In this Document
  Goal
  Solution
  References

Applies to:

Oracle GoldenGate - Version: 11.1.1.0.0 and later   [Release: 11.1.1 and later ]
Information in this document applies to any platform.
Goal

Oracle GoldenGate and compressed tables 
Solution

OGG does not support compressed tables or partitions, neither does it handle it well with proper error messages until OGG v10.4. We have several cases reported by customers when it deals with compressed tables. Sometimes it abends without any error message and sometimes with wrong messages. (ex: BugDB 10267584) 

From V11.1.1.0.0, we enhanced the error handling part in BugDB 9425542, which gives meaningful error message on the compressed record before Extract abend. It will list out the table name, rowid and etc

Example : 
ERROR OGG-01028 Record on table QATEST1.TAB1 with rowid AAM4EkAAEAACBguAAA from transaction 5.24.270123 (0x0005.018.00041f2b) is compressed. Compression is not supported. 

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 move nocompress; 

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

Sometimes customer has partitioned tables, even though they have un-compressed partitions, as long as there is any partition that is compressed, we canat support that. This could be verified by getting the full DDL for the table by running DBMS_METADATA.GET_DDL package. KM 965696.1.In case table partitions are compressed, Please run the below query and get the partition names & tablespace names. 

SQL> SELECT partition_name, subpartition_name, tablespace_name, high_value FROM user_tab_subpartitions WHERE table_name = 'table_name'; 

Alter statement for partition to move nocompress. 

SQL> ALTER TABLE MOVE PARTITION NOCOMPRESS TABLESPACE

Please ensure that you are having enough disk space within tablespaces before running the ALTER statement. 

We will be adding full support of compressed tables in future release, however, in current V10.4 and V11.1.1.x, the only option is to comment the compressed table or exclude them in Extract(if you canat do a "move nocompress").

 
Listing some scenarios in which we have seen similar errors for compression --------------------------------------------------------------------------------------


1) The extract abends with the following error 

GGS ERROR ZZ-0QY Failed to validate table .. The table is compressed and extract will not be able to extract data from Oracle logs. 

This bug happens when we have DDL enabled, the checking was not done correctly when table resides on Bigfile tablespace. 

Issue is fixed in V10.4.0.93 and V11.1.1.0.4 

Reference bugdb a 10063075 

2) When running with OGG version earlier than V11.1.1.0.10, Extract might abend with below error message, without telling the name of the table or the Objectid of the compressed table 

Source Context : 
SourceModule : [er.redo.ora.sr] 
SourceID : [/mnt/ecloud/workspace/Build_OpenSys_r11.1.1.0.9_004 
_[40043]/perforce/src/app/er/redo/oracle/redoorasr.c] 
SourceFunction : [get_subrec(int32_t, mempool_t *, unsigned char *, u 
nsigned short, subrec_info_t *, redo_thread_t *, BOOL, log_context_t *)] 
SourceLine : [5434] 

2010-11-10 11:50:26 ERROR OGG-01028 compressed tables are not supported. 

This is because there is a temp table created as compressed, then followed directly by a direct load operation. 

Try to exclude the table DBMS_TABCOMP_TEMP_UNCMP and DBMS_TABCOMP_TEMP_CMP, which was created by Compression advisory. 

From OGG v11.1.1.0.10 onwards when the extract abends because of direct load inserts on tables with compressed partitions, the extract gives the table name in the error. 

Reference bugdb a 10279456 

However, if the table has been dropped immediately after creation, the Extract will only give out the object ID of the "compressed" table.  To find out exactly what was the compressed table name, you could query GGS_DDL_HIST table if DDL replication is enabled.  A sample query 

select OBJECTID, OBJECTNAME, METADATA_TEXT FROM GGS_DDL_HIST WHERE BJECTID = xxxxx


Once you find the table name, you have to exclude this table from both DDL and DML in Extract parameter file by using DDL EXCLUDE and TABLEEXCLUDE. Example

DDL EXCLUDE OBJNAME "TEST.DBMS_TABCOMP_TEMP_CMP"

TABLEEXCLUDE TEST.DBMS_TABCOMP_TEMP_CMP

Reference bugdb -- 10377296


3) There is another false positive warning in version V11.1.1.x. When we process regular table update followed immediately by a clustering table update. A bug in the code set the wrong flag for compressed table warning. This bug is being fixed in v11_1_1_0_11 and above. 

Reference bugdb a 10308511 

4) The extract getting abended with the following error when processing a cluster table. 

ERROR OGG-01028 Record on table SCHEMA.TABLENAME with rowid AACprtAAIAAPPOYAB4 from transaction 50.5.8703098 (0x0032.005.0084cc7a) is compressed. Compression is not supported

The issue was resolved when doing a aalter grant any cluster to a

The issue is fixed in v11.1.1.0.29 (bug-12322319)


References

BUG:10063075 - EXTRACT ABENDS AS A TABLE IS CONSIDERED AS COMPRESSED WITH DDL PARAMETER
BUG:10063108 - V11.1.1.0 EXTRACT ABEND "RECORD ON TABLE IS COMPRESSED. COMPRESSION IS NOT SUPPO
BUG:10267584 - EXTRACT ABENDS WITH OUT OF ORDER SCN IN RAC ENVIRONMENT IN ORACLE 11G
BUG:10279456 - EXTRACT: OGG-01028 COMPRESSED TABLES ARE NOT SUPPORTED
BUG:10308511 - UNCOMPRESSED TABLE FAILS WITH A COMPRESSION ERROR
BUG:10377296 - EXTRACT FAILS ON COMPRESSED TABLES
BUG:12322319 - EXTRACT ABEND WITH COMPRESSION ERROR ON A CLUSTER TABLE

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/22531473/viewspace-742549/,如需轉載,請註明出處,否則將追究法律責任。

Oracle GoldenGate and compressed tables
請登入後發表評論 登入
全部評論

相關文章