Oracle中delete恢复数据,[基础教程]Oracle的delete误删数据通过scn恢复

问题描述:通过scn值恢复delete误删数据的简单操作

查询系统闪回的scn值和当前日志的scn值,这个值要在创建和添加完数据的测试表后知道,因为是要根据这个scn的值进行数据的恢复。

(1)创建测试数据

SQL> create table test(id int,name varchar2(10),adress varchar2(10));

46aa706275c1158b0cb2f1af8c65b43e.png

插入测试数据

SQL> insert into test values(111,'steven','changchun');

SQL> commit;

4a0ec11a12365b324f4e25793c0675dc.png

(2)获取scn的值

SQL> select current_scn from v$database;

10fb17f0e06af4abe4533858c84550ae.png

此时,我们已经创建完测试数据,并获取了要恢复的scn值,下面将进行delete的误操作,删除测试数据,然后通过scn值进行数据恢复。

(3)误删除数据

首先检查数据是否正常

SQL>select * from test;

d15d08ad312aba44d349cb53c4943953.png

然后误删除数据

b87a20d46fcc79194961786f0fef5963.png

再次检查测试数据是否还存在

SQL>select * from test;

02ab8c14e0a97a1e7f4e88bf7bd59f93.png

发现此时数据已经被删除,下面要进行数据的恢复操作。

(5)恢复数据

SQL> select * from aa as of scn 1018926;

0f367c514b4b4d3b02212b11f2665dd9.png

其中1018926这个scn的值,是在第二步获取的值,也就是创建完测试数据之后获取的scn值,通过1018926这个scn值,能找到之前误删除的测试数据。

开始进行数据恢复

SQL> insert into test select * from test as of scn 1018926;

931f9ea189978a6ccae9174236f68b50.png

再次查询测试数据,检查是否数据已经恢复。

SQL> select * from test;

aaff7f7eb4fdbbc9e002e9ff1b4fbff5.png至此,误删除的测试数据就恢复完成。

(6)总结

以上所述是小生给大家简单的介绍了一下delete误删除数据并使用scn进行恢复的整体过程,希望通过上述介绍对大家有所帮助,并且如果大家有任何疑问请给我留言,小生会尽可能的帮助大家。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值