ORA-08189: cannot flashback the table because row movement is not enabled ORACLE 报错 故障修复 远程处理
文档解释
ORA-08189: cannot flashback the table because row movement is not enabled
Cause: An attempt was made to perform Flashback Table operation on a table for which row movement has not been enabled. Because the Flashback Table does not preserve the rowids, it is necessary that row movement be enabled on the table.
Action: Enable row movement on the table
ORA-08189意味着在闪回表之前,需要将表上的行运动功能启用,因此,必须启用行运动才能够进行表的闪回。
官方解释
ORA-08189表明未启用行运动,因此不能闪回表。在启用行运动之前,你必须先启用表上的行内运动,像这样:
ALTER TABLE your_table ENABLE ROW MOVEMENT;
常见案例
当创建表时,将“ENABLE ROW MOVEMENT”选项设置为禁用状态,然后将表定义为COMPRESSED状态,就可能会导致ORA-08189错误。
正常处理方法及步骤
1、将表的ENABLE ROW MOVEMENT选项重新设置为启用状态:
ALTER TABLE person ENABLE ROW MOVEMENT;
2、然后删除表的索引
3、重新创建已删除的索引
4、设置表的COMPRESS属性
ALTER TABLE person COMPRESS FOR QUERY LOW;