ORA-42032: cannot online redefine table “string”.”string” with Flashback Data Archive enabled

文档解释

ORA-42032: cannot online redefine table “string”.”string” with Flashback Data Archive enabled

Cause: An attempt was made to redefine a table which had Flashback Data Archive enabled.

Action: Do not attempt to online redefine a table that has Flashback Data Archive enabled.

ORA-42032是Oracle数据库的一个通用错误,表明当试图上线重新定义具有启用Flashback Data Archive的表时发生了错误。

官方解释

在Oracle Database 11g中,如果尝试使用ALTER TABLE结构和ALTER TABLE RENAME REDEFINITION语句将表结构上线重新定义,则在启用Flashback Data Archive的表上会失败,并出现ORA-42032错误。

常见案例

最常见的案例是尝试从字符列上在线更改类型时失败:

ALTER TABLE MY_TABLE MODIFY (MY_COLUMN VARCHAR2(200));

一般处理方法及步骤

要解决此错误,请首先将Flashback Data Archive关闭:

ALTER TABLE MY_TABLE FLASHBACK ARCHIVE OFF;

然后使用熟悉的语法重新定义表结构:

ALTER TABLE MY_TABLE MODIFY (MY_COLUMN VARCHAR2(200));

最后,再次启用Flashback Data Archive:

ALTER TABLE MY_TABLE FLASHBACK ARCHIVE ON;

你可能感兴趣的