RMAN报错
ORA-55610: Invalid DDL statement on history-tracked table
错误原因:表空间无法进行DDL操作,主要是因为之前有表设置了flashback archive。
处理办法:取消flashback archive
查询哪些表启用了flashback archive
select * from dba_flashback_archive_tables;
取消flashback archive
alter table test07 no flashback archive;
至于为啥会报错,参考Oracle 官方文档:
DDL Statements on Tables Enabled for Flashback Data Archive Flashback Data Archive supports only these DDL statements:
ALTER TABLE
statement that does any of the following:
Adds, drops, renames, or modifies a column
Adds, drops, or renames a constraint
Drops or truncates a partition or subpartition operation
TRUNCATE TABLE
statement
RENAME
statement that renames a table
Flashback Data Archive does not support DDL statements that move, split, merge, or coalesce partitions or subpartitions, move tables, or convert LONG columns to LOB columns.
For example, the following DDL statements cause error ORA-55610 when used on a table enabled for Flashback Data Archive:
ALTER TABLE
statement that includes an UPGRADE TABLE
clause, with or without an INCLUDING DATA
clause
ALTER TABLE
statement that moves or exchanges a partition or
subpartition operation
DROP TABLE
statement
If you must use unsupported DDL statements on a table enabled for Flashback Data Archive, use the DBMS_FLASHBACK_ARCHIVE.DISASSOCIATE_FBA
procedure to disassociate the base table from its Flashback Data Archive. To reassociate the Flashback Data Archive with the base table afterward, use the DBMS_FLASHBACK_ARCHIVE.REASSOCIATE_FBA
procedure.