在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/