Oracle GoldenGate and compressed tables [转帖]_MySQL, Oracle及数据库讨论区_Weblogic技术|Tuxedo技术|中间件技术|Oracle论坛|JAVA论坛|Linux/Unix技术|hadoop论坛_联动北方技术论坛  
网站首页 | 关于我们 | 服务中心 | 经验交流 | 公司荣誉 | 成功案例 | 合作伙伴 | 联系我们 |
联动北方-国内领先的云技术服务提供商
»  游客             当前位置:  论坛首页 »  自由讨论区 »  MySQL, Oracle及数据库讨论区 »
总帖数
1
每页帖数
101/1页1
返回列表
0
发起投票  发起投票 发新帖子
查看: 4906 | 回复: 0   主题: Oracle GoldenGate and compressed tables [转帖]        下一篇 
wayne
注册用户
等级:中校
经验:1690
发帖:221
精华:0
注册:2011-7-21
状态:离线
发送短消息息给wayne 加好友    发送短消息息给wayne 发消息
发表于: IP:您无权察看 2011-8-6 21:18:01 | [全部帖] [楼主帖] 楼主

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.

GoalOracle 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 DML’s 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.

Sometimes customer has partitioned tables, even though they have un-compressed partitions, as long as there is any partition that is compressed, we can’t 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 <Table_name> MOVE PARTITION <partition_name> NOCOMPRESS TABLESPACE <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 can’t 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 <SCHEMA>.<TABLE NAME>. 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 â€“ 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 â€“ 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 OBJECTID = 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 â€“ 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 â€œalter grant any cluster to <gg_extract user>”

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




赞(0)    操作        顶端 
总帖数
1
每页帖数
101/1页1
返回列表
发新帖子
请输入验证码: 点击刷新验证码
您需要登录后才可以回帖 登录 | 注册
技术讨论