ITPub博客

首页 > 数据库 > Oracle > oracle的flashback

oracle的flashback

原创 Oracle 作者:773281375 时间:2014-03-08 14:46:33 0 删除 编辑
1、授予bankuser用户闪回权限
grant flashback any table to bankuser;

2、恢复刚删除的数据
delete from emp where ename='fork';

select ft.start_timestamp,
       ft.commit_timestamp,
       ft.logon_user,
       ft.operation,
       ft.table_name,
       ft.table_owner,
       ft.undo_sql
  from flashback_transaction_query ft
 where table_name = 'EMP';

start_timestamp:执行这条sql语句的时间
commit_timestamp:提交这条sql语句的时间
logon_user:登录数据库的用户
operation:进行的操作(增删改)
table_name:操作表的名字
table_owner:表的拥有者
undo_sql:恢复的sql语句

复制undo_sql语句到sql窗口中执行就可以恢复了

3、恢复数据到某个时间点
恢复前查看所恢复的时间点数据是否正确:
select * from emp as of timestamp to_timestamp('2014-3-8 14:00:00','yyyy-mm-dd hh24:mi:ss');
恢复数据:
alter table emp enable row movement;
flashback table emp to timestamp to_timestamp('2014-3-8 14:00:00','yyyy-mm-dd hh24:mi:ss');

4、oracle数据库可以会恢复到什么时候的数据
要看undo_retention参数
show parameter undo_retention
默认为900秒

5、恢复删除的表
drop table emp;
flashback table emp to before drop;

6、如何知道哪些表可以恢复
 select * from user_recyclebin order by droptime desc;
或者 select * from recyclebin order by droptime desc;






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

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

注册时间:2014-02-17

  • 博文量
    26
  • 访问量
    185724