Oracle数据库闪回技术flashback

在日常工作中,作为dba,总会有人误删数据找过来叫你恢复,这个时候就要用到闪回这个强大的功能了,不过误删要立刻要反馈找dba进行恢复,原始数据有时间要求不然就不能用闪回了,就要用备份去恢复了,相当麻烦,而且没有备份就玩完了,只能自行想办法了
数据库默认没有开启闪回,并且开闪回之前要开归档
开启闪回
alter database flashback on;
select flashback_on from v$database;

FLASHBACK_ON
------------------
YES

1.flashback drop  

闪回删除是利用回收站,drop表操作闪回
1.1查看是否开启回收站
show parameter recyclebin;

NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
recyclebin                           string      on

1.2查看回收站数据
select count(*) from recyclebin;

1.3闪回表
flashback table scott.test to before drop;

注意:
1、system 表空间的对象没有回收站,所以在 sys 下缺省使用 system 表空间时,drop table 会直接删除对象,所以表不要放错了表空间
2、闪回删除的表,索引和约束都回来了,但是乱码,需要重命名

2、flashback table 

利用 undo 数据,闪回表通常是把表的状态回退到以前的某个时刻。前提是对表启用行移动。

update,delete,insert,truncate闪回

Undo保留时间的参数

show parameter undo_retention;

NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
undo_retention                       integer     7200

启用行移动
alter table scott.student enable row movement;

闪回前备份一下原表,闪回数据测试确认后如果有误可以恢复
create table scott.student as select * from WBABAT02.WBA_BANK_ACCT_LEDGER_T;
flashback table scott.student to timestamp to_timestamp('2025-03-12 18:15:00','yyyy-mm-dd hh24:mi:ss');

禁用行移动
alter table scott.student disable row movement;

 

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值