oracle闪回是做undo,oracle闪回的使用

5268f80b9b1e01f982625ef6fac83ca1.png

1、闪回查询(原理:依赖于UNDO表空间)

查询当前SCN号

select current_scn from v$database;

误删数据以后

select * from table_name as of scn 删除数据前的SCN号;

将数据重新插入表中

insert into table_name select * from table_name as of scn 删除数据前的SCN号;

2、闪回drop(原理:利用回收站recyclebin)

查看是否启用回收站

show parameter recyclebin

如果启用了回收站功能drop掉的非系统空间的表,都会保留在回收站中

show recyclebin

拿回误删的表

flashback table table_name to before drop;

3、闪回table(对表数据进行了错误的修改,回退到原数据)(undo)

flashback table table_name to scn 修改数据前的SCN号;

改变表,使行可以movement

alter table table_name enable row movement;

4、闪回version query(闪回版本查询)

查询你对表操作的所有记录

select versions_xid,versions_operation,versions_startscn,versions_starttime,versions_endscn,versions_endtime,id,name

from table_name versions between scn minvalue and maxvalue;

5、闪回transaction query(闪回事务查询)

select * from flashback_transaction_query where xid=‘34查询到的versions_xid‘;

找到undo_sql,复制执行就可以了

6、闪回database

查询数据库是否支持闪回数据库

select flashback_on from v$database;

启用闪回数据库功能,需要数据在mount状态下(归档模式)启动,然后

alter database flashback on;

然后确认启用恢复区

show parameter db_recovery

保证db_recovery_file_dest配置的有值

查询相关视图

select * from v$flashback_database_logfile;

select * from v$flashback_database_log;

删除了某个数据库用户,然后闪回

flashback database to scn 需要闪回的SCN号;

然后查看当前数据库有哪些用户,看一下被删除的用户是否撤回

select username from dba_users;

oracle闪回的使用

标签:配置   max   闪回查询   ack   parameter   user   data   除了   操作

1428d0e076c3959ab11d28a39bc84fab.png

5268f80b9b1e01f982625ef6fac83ca1.png

本条技术文章来源于互联网,如果无意侵犯您的权益请点击此处反馈版权投诉

本文系统来源:https://www.cnblogs.com/qinjf/p/8414647.html

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值