ITPub博客

首页 > 数据库 > Oracle > flashback系列文章五(flashback table)

flashback系列文章五(flashback table)

原创 Oracle 作者:thamsyangsw 时间:2014-01-01 16:19:02 0 删除 编辑

SQL> select * from flashback_table_test;

        ID NAME
---------- --------------------------------------------------
       100 thomas
         2 jack
         3 rose
         4 harward

SQL> select to_char(sysdate,'yyyy-mm-dd hh24:mi:ss'),dbms_flashback.get_system_change_number from dual;

TO_CHAR(SYSDATE,'YY GET_SYSTEM_CHANGE_NUMBER
------------------- ------------------------
2014-01-01 16:14:40                   863613

SQL> update flashback_table_test set id=1 where name='thomas';

1 row updated.

SQL> delete from flashback_table_test where id=4;

1 row deleted.

SQL> commit;

Commit complete.

SQL> flashback table flashback_table_test to scn 863613;
flashback table flashback_table_test to scn 863613
                *
ERROR at line 1:
ORA-08189: cannot flashback the table because row movement is not enabled


SQL> alter table flashback_table_test enable row movement;

Table altered.

SQL> flashback table flashback_table_test to scn 863613;

Flashback complete.

SQL> select * from flashback_table_test;

        ID NAME
---------- --------------------------------------------------
       100 thomas
         2 jack
         3 rose
         4 harward

SQL> flashback table flashback_table_test to timestamp to_timestamp('2014-01-01 16:14:40','yyyy-mm-dd hh24:mi:ss');

Flashback complete.

SQL> select * from flashback_table_test;

        ID NAME
---------- --------------------------------------------------
       100 thomas
         2 jack
         3 rose
         4 harward

 
截断表后不能再使用flashbacktable

SQL> truncate table flashback_table_test;

Table truncated.

SQL> flashback table flashback_table_test to scn 863613;
flashback table flashback_table_test to scn 863613
                *
ERROR at line 1:
ORA-01466: unable to read data - table definition has changed


SQL> flashback table flashback_table_test to timestamp to_timestamp('2014-01-01 16:14:40','yyyy-mm-dd hh24:mi:ss');
flashback table flashback_table_test to timestamp to_timestamp('2014-01-01 16:14:40','yyyy-mm-dd hh24:mi:ss')
                *
ERROR at line 1:
ORA-01466: unable to read data - table definition has changed

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

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

注册时间:2012-01-12

  • 博文量
    161
  • 访问量
    1235417