ORA-31441: table is not a change table

文档解释

ORA-31441: table is not a change table

Cause: User attempted to execute the DROP_CHANGE_TABLE procedure on a table that is not a CHANGE table. This can also occur when a CHANGE table object has been orphaned. CHANGE tables can become orphaned after a CREATE_CHANGE_TABLE failure or an incomplete DROP_CHANGE_TABLE.

Action: Check spelling. If error was due to an incorrect name, then retry the procedure using the correct name. To drop a table that is not a CHANGE table, or an orphaned CHANGE table, use the DROP TABLE DDL command instead.

ORA-31441: table is not a change table 错误,出现在创建change set时,表示您正在试图为非change table创建change set。

官方解释

当您试图在某个表上创建一个change set时,就会导致ORA-31441:“表不是变更表”错误。产生这个错误的原因是,您试图在一个普通表上创建一个change set,而不是变更表。

常见案例

一般情况下,这种错误只会发生在您尝试在一个普通表上创建一个change set时。

一般处理方法及步骤

1、首先检查该表是否是变更表,可以在ALL_CHANGE_TABLES视图中查看;

2、如果表不是变更表,请使用dbms_change_table.alter_change_table或dbms_change_table.create_change_table将表改为变更表;

3、将表标记为变更表之后,就可以使用dbms_change_set.create_change_set来创建change set;

4、最后,使用dbms_change_set.execute_change_set或dbms_change_set.execute_all_change_sets来执行change set。

你可能感兴趣的