文档解释
ORA-12090: cannot online redefine table “string”.”string”
Cause: An attempt was made to online redefine a table that is either a temporary table, an IOT overflow table, a table with fine-grained access control or row-level security enabled, a CDC change table, or a table with a CDC change table defined on it.
Action: Do not attempt to online redefine a table that is not supported by online redefinition.
ORA-12090错误是表示无法在线重定义该表的 Oracle 错误。在线重定义允许在不锁定表的情况下改变表的存储模型。
官方解释
ORA-12090:“无法在线重定义表“string”。string“
此错误信息指示当前存在太多活动事务,以致无法进行在线表重定义。在线表重定义操作集中在当前活动事务外部拆分、删除和总结对象。
常见案例
通常出现ORA-12090错误的情况是,您试图执行的在线重定义操作在数据库中存在太多活动事务,因此无法完成该操作。
正常处理方法及步骤
首先,检查当前数据库中是否存在太多活动事务,并尝试管理这些事务,以便可以在线重定义表。
然后,查看表上存在的索引(如果有),因为索引可能需要共享模式锁定,而索引无法在线重定义。
最后,如果表上没有索引,则可以使用在线重定义操作来改变该表的存储模型。