SQL> create table t(a varchar2(20),b varchar2(20));
表已创建。
SQL> insert into t values ('aa','bb');
已创建 1 行。
SQL> select * from t;
A B
-------------------- --------------------
aa bb
SQL> commit;
提交完成。
SQL> insert into t values('cc','dd');
已创建 1 行。
SQL> select * from t;
A B
-------------------- --------------------
aa bb
cc dd
SQL> flashback table t to timestamp to_timestamp('2008-07-28 11:33:00','yyyy-mm-
dd hh24:mi:ss');
flashback table t to timestamp to_timestamp('2008-07-28 11:33:00','yyyy-mm-dd hh
24:mi:ss')
*
第 1 行出现错误:
ORA-08189: 因为未启用行移动功能, 不能闪回表
SQL> commit;
提交完成。
SQL> alter table t enable row movement;
表已更改。
SQL> select * from t;
A B
-------------------- --------------------
aa bb
cc dd
SQL> insert into t values ('ee','ff');
已创建 1 行。
SQL> flashback table t to timestamp to_timestamp('2008-07-28 11:41:00','yyyy-mm-
dd hh24:mi:ss');
闪回完成。
SQL> select * from t;
A B
-------------------- --------------------
aa bb
SQL>
本文演示了如何在Oracle数据库中使用闪回表功能撤销最近的数据更改。首先创建了一个简单的表并插入了几条记录,尝试闪回操作时遇到了因未启用行移动功能而产生的错误。通过启用行移动功能后,成功地将表闪回到指定的时间戳。

被折叠的 条评论
为什么被折叠?



