GoldenGate不支持压缩表问题OGG-01028 Table compression is not supported

本文记录了在使用Oracle GoldenGate过程中遇到的压缩表导致的俘获进程报错问题,并详细介绍了通过配置排除特定表来解决该问题的方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Goldengate的俘获进程报错:


Ggserr.log日志错误信息:
2011-05-11 15:26:55  INFO    OGG-01487  Oracle GoldenGate Capture for Oracle, extsb.prm:  DDL found, operation [ create table "TEST".DBMS_TABCOMP_TEMP_UNCMP tablespace "PUB_NORM_SPACE" nologging as select /*+ FULL("TEST"."COMM_DEVICE_ACCOUNT") */ *  from "TEST"."COMM_DEVICE_ACCOUNT"  sample block( 99) mytab   (size 213)], start SCN [3998597773213], commit SCN [3998597773473] instance [BGP (1)], DDL seqno [2473], marker seqno [2473].
2011-05-11 15:26:55  INFO    OGG-00488  Oracle GoldenGate Capture for Oracle, extsb.prm:  DDL operation excluded [EXCLUDE INSTR 'DBMS_TABCOMP_TEMP_UNCMP',], optype [CREATE], objtype [TABLE], objowner [TEST], objname [DBMS_TABCOMP_TEMP_UNCMP].
2011-05-11 15:26:55  ERROR   OGG-01028  Oracle GoldenGate Capture for Oracle, extsb.prm:  Object with object number 97076 is compressed. Table compression is not supported.
2011-05-11 15:26:55  ERROR   OGG-01668  Oracle GoldenGate Capture for Oracle, extsb.prm:  PROCESS ABENDING.

查看数据库中没有压缩表:
select owner,table_name,compression,compress_for from dba_tables where compression='ENABLED';


同事在俘获进程extsb中增加了下面的内容,用来排除这两个临时表则解决了上面的问题
TABLEEXCLUDE TEST.DBMS_TABCOMP_TEMP_CMP
TABLEEXCLUDE TEST.DBMS_COMPRESSION

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/12778571/viewspace-695158/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/12778571/viewspace-695158/

<think>好的,我现在要解决用户提到的“压缩不支持”错误的问题。首先,我需要理解这个错误通常发生在什么情况下。根据用户提供的引用[2],在Oracle GoldenGate捕获数据时遇到了表被压缩的问题,提示表压缩不被支持。错误信息中还提到了对象编号81069,这可能是指具体的某个表或对象。 首先,我应该确认这个错误的具体原因。引用[2]提到表压缩不被支持,所以可能是在使用不支持压缩表的工具或版本时尝试处理压缩表导致的。例如,某些数据库工具或旧版本的软件可能不支持处理压缩过的表结构,从而导致错误。 接下来,用户需要解决方法。根据引用[3]和[4],可能的解决方案是排除这些压缩表,不让它们参与复制过程。例如,在Oracle GoldenGate中使用`tableexclude`参数来排除特定的表。引用[4]提到在OGG的某个版本中,错误信息显示的是对象名称而不是编号,这可能帮助用户更准确地识别问题表。 另外,还需要检查数据库和工具的版本是否支持表压缩功能。如果工具版本过旧,可能需要升级到支持压缩的版本。例如,某些数据库管理系统在较新的版本中才开始支持特定的压缩格式,或者某些工具需要更新才能处理压缩数据。 还有可能需要修改表的压缩设置,将表改为非压缩格式。这可能涉及到数据库管理操作,如重建表结构,导出数据后重新导入到未压缩的表中。但这种方法可能会影响存储效率,需要权衡利弊。 此外,引用[1]提到ASTC压缩方案如何处理浮点数序列,虽然与数据库压缩不同,但可能涉及压缩算法选择的问题。在某些情况下,使用不同的压缩方法或参数可能避免错误,但需要具体分析系统支持的压缩类型。 最后,用户可能需要参考具体的文档或官方支持,了解工具和数据库版本对压缩功能的支持情况,以及是否有其他配置可以绕过此问题。例如,某些情况下可以通过设置参数忽略压缩表,或者使用替代的复制方法。 总结可能的解决步骤: 1. 确认错误的具体表和对象。 2. 排除这些表在复制或处理流程之外。 3. 检查并升级工具或数据库版本以支持压缩。 4. 修改表结构,取消压缩。 5. 查阅官方文档寻找特定解决方案。 需要确保每一步都根据实际情况验证,比如使用`tableexclude`是否正确配置,升级版本是否兼容现有系统等。</think>关于“压缩不支持”错误的解决方法,以下是分步骤说明: ### 1. **确认错误来源与对象信息** - **错误示例**:`ERROR OGG-01028 ... Object with object number 81069 is compressed`[^2] - **操作**: - 根据错误日志中的对象编号(如`81069`)或名称,定位具体的表或对象。 - 使用数据库查询工具(如Oracle的`DBA_OBJECTS`表)将对象编号转换为表名: ```sql SELECT owner, object_name FROM dba_objects WHERE object_id = 81069; ``` ### 2. **排除压缩表参与流程** - **适用场景**:如果压缩表无需参与当前操作(如数据同步、备份)。 - **方法**: - 在Oracle GoldenGate中,通过`tableexclude`参数在配置文件中排除问题表[^4]: ```bash # 示例:出库进程配置(eicmec.prm) tableexclude schema_name.table_name; ``` - 重启相关进程使配置生效。 ### 3. **升级工具或数据库版本** - **原因**:旧版本可能不支持表压缩功能。 - **操作**: - 检查当前Oracle GoldenGate版本是否支持压缩表(如OGG 12c及以上版本支持更多压缩类型)。 - 升级工具或数据库到兼容版本,参考官方文档验证支持性。 ### 4. **修改表压缩设置** - **适用场景**:若必须处理该表且无法升级工具。 - **步骤**: 1. 创建临时非压缩表: ```sql CREATE TABLE new_table NOCOMPRESS AS SELECT * FROM compressed_table; ``` 2. 重命名或替换原表: ```sql ALTER TABLE compressed_table RENAME TO compressed_table_backup; ALTER TABLE new_table RENAME TO compressed_table; ``` 3. 重建索引与约束。 ### 5. **使用替代压缩算法** - **说明**:某些场景可改用工具支持的压缩格式(如Oracle的BASIC压缩替代OLTP压缩)[^1]。 - **示例**: ```sql ALTER TABLE table_name MOVE NOCOMPRESS; -- 取消压缩 ALTER TABLE table_name COMPRESS BASIC; -- 使用基础压缩 ``` ### 6. **参考官方文档与支持** - 查阅Oracle GoldenGate或对应工具的官方文档,确认: - 支持的压缩类型(如`COMPRESS FOR OLTP`是否兼容)[^2]。 - 特定版本的补丁或变通方案。 ### 相关问题 1. **如何查询Oracle中表的压缩属性?** - 使用`SELECT table_name, compression FROM user_tables WHERE table_name = 'YOUR_TABLE';` 2. **Oracle GoldenGate支持哪些压缩类型的表?** - 需根据版本确认,通常基础压缩支持较好,高级压缩需验证[^4]。 3. **表压缩对数据库性能有何影响?** - 压缩可能减少存储占用但增加CPU负载,需权衡选择。 : ASTC压缩方案的灵活性表明压缩算法需与工具兼容。 : OGG错误显示对象编号或名称,需针对性排除。 : 版本差异可能导致错误信息格式不同,需注意适配。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值