方法1:(恢复表数据)
1)查询BG_TXLGL表中记录
select * from BG_TXLGL;
2)删除BG_TXLGL表中记录
delete from BG_TXLGL;
3)获得过去的会话
exec dbms_flashback.disable;
4)查询出3分钟前这个BG_TXLGL表的情况
select * from BG_TXLGLas of timestamp(systimestamp - interval '3' minute );
5)将查出的记录插入到误删除数据的表中
insert into BG_TXLGL select * from BG_TXLGL as of timestamp(systimestamp - interval '10' minute );
方法2:(恢复表数据)
注意:使用闪回操作必须开启行移功能
启用行移功能(若未启动行移功能)
alter table BG_TXLGL enable row movement;
关闭行移功能
alter table BG_TXLGL disable row movement
1)闪回到20分钟之前
flashback table BG_TXLGL to timestamp(systimestamp-interval '20' minute);
2)闪回到具体时间
flashback table BG_TXLGL to timestamp to_timestamp('2019-08-24 10:20:00','yyyy-mm-dd hh24:mi:ss');
方法3:(恢复表数据)通过系统SNC进行回闪操作
1)获取当前系统的SCN值
select dbms_flashback.get_system_change_number from dual;
2)将SCN转换为时间戳查看
select scn_to_timestamp(2097461) from dual;
3)(通过时间戳查看SCN)
select timestamp_to_scn(to_timestamp
('2019-08-24 10:20:15','yyyy-mm-dd hh24:mi:ss')) scn from dual;
4)(进行数据回闪操作)
flashback table BG_TXLGL to scn 2097461;
将BG_TXLGL.Z和BG_TXLGL.C两张表同时闪回到SCN为1086000的时候(主要用于有外键约束的表)
flashback table BG_TXLGL.Z, BG_TXLGL.C to scn 1086000;
更加详细参考:
https://www.cnblogs.com/xieweikai/p/6838228.html
此人总结更加全面(推荐)