ORA-42029: cannot online redefine table “string”.”string” at this time

文档解释

ORA-42029: cannot online redefine table “string”.”string” at this time

Cause: An attempt was made to redefine a table which is incompatible with another ongoing redefinition.

Action: Do not perform the redefinition operation on this table or wait until the incompatible ongoing redefinition has completed.

错误说明

ORA-42029是一个非常重要的错误,由于在执行Online Redefinition会话期间启用的Kanband限制,数据库管理员无法执行Online Redefinition操作,因此ORA-42029错误也被称为Kanband限制错误。

此错误的正常状态是:ORA-42029: cannot online redefine table “string”.”string” at this time

常见案例

1.在运行Online Redefinition程序时,由于Kanband限制而发生此错误。

2.在Oracle 10gR2中,当试图跨表上重新定义列ALTER TABLE时,发生此错误。

解决方法

1.解决此问题的最佳方法是使用“alter table … move online”命令进行在线定义。

2.检查表空间构建,确保表空间采用将旧空间文件移动到新空间文件以及right segment分配的格式。

3.确保您能够从新表定义中正确提取数据,使用“alter table …compact”和“alter table …move online”命令执行,以改善性能。

4.尝试将数据库的_allow_if_structure_change参数设置为“到TRUE”,然后再次尝试重新定义表。

5.字典中所有正在使用的Kanband对象均存在于支持对象类型列表中,您可以尝试从支持对象类型列表中更改Kanband,然后再试一次。

6.确保您的表在查询运行时,没有其他会话正在操作表,或者需要增加它们的开销。

7.如果上述措施都失败,您可以尝试删除Kanband,然后再尝试重新定义表。但要特别注意,删除Kanband可能对其他对象造成不可修复的破坏。

你可能感兴趣的