大表删除字段 unused column 及ora-12896错误和goldengate设置

  • ORA-12896
  • 大表删除字段
  • OGG-01154
  • UNUSED COLUMN

关于大表删除字段 UNUSED COLUMN

对于非常大的表如果要删除一个字段,可以使用unused column关键字
ALTER TABLE … SET UNUSED (col_list)
该字段会立刻标记为unused状态并且不提供语句恢复字段,select及DESCRIBE均无法看到该字段。
可以通过user_unused_col_tabs,dba_unused_col_tabs,all_unused_col_tabs查看被unused的字段。
等待业务高峰期过后选择合适的时机在完成真正的删除操作。
彻底删除字段通过以下语句
ALTER TABLE table DROP UNUSED COLUMNS;
如果想要减少undo表空间的累计可以使用关键字CHECKPOINT integer integer为大于0的整数,如果超过表的行数则直到完成字段删除后应用检查点,如果为空则默认为512。
ALTER TABLE *table* DROP UNUSED COLUMNS CHECKPOINT *integer*;
注意:
如果执行此过程中被中止后,表将无法访问,报出错误:
ORA-12986: columns in partially dropped state. Submit ALTER TABLE DROP COLUMNS CONTINUE
根据提示执行:
ALTER TABLE *table* DROP COLUMNS CONTINUE
直至完成。
否则此状态只有DROP TABLE,TRUNCATE TABLE及ALTER TABLE table DROP COLUMNS CONTINUE可允许执行。

关于UNUSED字段后OGG中相关问题

将表中字段设置为unused后 goldengate 11版本中的extract抽取进程会报错在参数文件中添加
DBOPTIONS ALLOWUNUSEDCOLUMN
可以忽略该错误,不会影响数据的准确性。
经过测试goldengate 12版本中默认为开启该参数。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值