ITPub博客

首页 > Linux操作系统 > Linux操作系统 > flashback table的一些测试!

flashback table的一些测试!

原创 Linux操作系统 作者:warehouse 时间:2007-09-20 00:00:00 0 删除 编辑

结论:1、flashback table t to scn #### 此处的scn和不完全恢复时的scn一样是<

2、要求enable row movement,是因为flashback之后row的rowid会发生变化


SQL> connect xys/manager
已连接。
SQL> create table t(scnid int , time date);

表已创建。

SQL> insert into t select dbms_flashback.get_system_change_number , sysdate from
dual;

已创建 1 行。

SQL> commit;

提交完成。

SQL> insert into t select dbms_flashback.get_system_change_number , sysdate from
dual;

已创建 1 行。

SQL> commit;

提交完成。

SQL>
SQL>
SQL>
SQL>
SQL> insert into t select dbms_flashback.get_system_change_number , sysdate from
dual;

已创建 1 行。

SQL> commit;

提交完成。

SQL> alter session set nls_date_format='yyyy/mm/dd hh24:mi:ss';

会话已更改。

SQL> select * from t;

SCNID TIME
---------- -------------------
542635 2007/09/20 19:39:42
542640 2007/09/20 19:39:52
542643 2007/09/20 19:39:58

SQL> drop table t;

表已删除。

SQL> flashback table t to before drop;

闪回完成。

SQL> select * from t;

SCNID TIME
---------- -------------------
542635 2007/09/20 19:39:42
542640 2007/09/20 19:39:52
542643 2007/09/20 19:39:58

SQL> flashback table t to scn 542640;
flashback table t to scn 542640
*
第 1 行出现错误:
ORA-08189: 因为未启用行移动功能, 不能闪回表


SQL> select scnid , time ,rowid from t;

SCNID TIME ROWID
---------- ------------------- ------------------
542635 2007/09/20 19:39:42 AAAC6uAAEAAAAAsAAA
542640 2007/09/20 19:39:52 AAAC6uAAEAAAAAsAAB
542643 2007/09/20 19:39:58 AAAC6uAAEAAAAAsAAC

SQL> alter table t enable row movement;

表已更改。

SQL> flashback table t to scn 542640;

闪回完成。

SQL> select scnid , time ,rowid from t;

SCNID TIME ROWID
---------- ------------------- ------------------
542635 2007/09/20 19:39:42 AAAC6uAAEAAAAAsAAD

SQL>

结论:1、flashback table t to scn #### 此处的scn和不完全恢复时的scn一样是<

2、要求enable row movement,是因为flashback之后row的rowid会发生变化

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/19602/viewspace-61730/,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2007-12-07

  • 博文量
    717
  • 访问量
    5144946