温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

delete误删数据使用SCN恢复

发布时间:2020-03-21 17:23:04 来源:网络 阅读:1275 作者:舞动梦灵 栏目:关系型数据库

今天闲来无事,测试一下之前误删数据使用SCN恢复的经过。
本人不喜欢理论那一大套长篇概论,直接开始试验:
首先查看当前SCN值,如果删之后没有查scn值。可以根据scn当前值往前调试,只要保证。你delete删除之后中间没有其他操作。

SELECT dbms_flashback.get_system_change_number FROM dual;

SELECT CURRENT_SCN FROM V$DATABASE;

delete误删数据使用SCN恢复
delete误删数据使用SCN恢复
知道当前SCN号了。SCN一直在增长,这个没啥,然后查看某一个表数据:

select * from zjw.AA;

delete误删数据使用SCN恢复
然后删除这个表并且commit:

delete from zjw.AA

delete误删数据使用SCN恢复
再来查查这个表: select * from zjw.AA
delete误删数据使用SCN恢复
没有数据了。然后根据SCN查看当时SCN值对应的这个表的数据

select * from ZJW.AA as of scn 12637719;

delete误删数据使用SCN恢复
有数据,说明可以,然后来使用insert插入。吧这个数据插入到当前AA表内:

insert into zjw.AA select * from zjw.AA as of scn 12637719;

delete误删数据使用SCN恢复
然后在查看这个表数据:

select * from zjw.AA

delete误删数据使用SCN恢复
ok
成功恢复。
这里说明一下。我前两次差的SCN和最后使用的SCN值不一样,这个没关系。这个SCN值他一直再涨,所以只要是我delete之前的SCN值都可以。从我操作到delete之间的SCN任意一个都可以使用,
比如:我现在在根据SCN随便插两个也可以,我就用最先查到的SCN吧
如:

select from ZJW.AA as of scn 12637321;
select
from ZJW.AA as of scn 12637366;

delete误删数据使用SCN恢复
看到没有,结果一样。

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI