Oracle10g中FLASHBACK TABLE语句恢复DML误操作

   在Oracle10g中,当不慎执行了DML操作是,可以用flashback table来恢复,不过需要看参数db_flashback_retention_target所设定的时间,该单位分钟,数据库默认为1440分钟,也就是一天的时间有效.

 

如下操作

SQL> select empno,sal from emp where empno=7934;

     EMPNO        SAL
---------- ----------
      7934       1300

SQL> update emp set sal=sal*1.3 where empno=7934;

已更新 1 行。

SQL> commit;

提交完成。

SQL> l
  1* commit


SQL> select empno,sal from emp where empno=7934;

     EMPNO        SAL
---------- ----------
      7934       1690

 

SQL> flashback table emp to timestamp to_timestamp
  2  ('2008-03-17 17:12:00','YYYY-MM-DD HH24:MI:SS');
        (该时间在DML操作之前)

闪回完成。

SQL> select empno,sal from emp where empno=7934;

     EMPNO        SAL
---------- ----------
      7934       1300

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

转载于:http://blog.itpub.net/12778571/viewspace-208531/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值