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。