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

ronpris
ronpris
ronpris
253
文章
1
评论
2020年5月20日18:13:22 评论 214 771字阅读2分34秒

问题描述:通过scn值恢复delete误删数据的简单操作
查询系统闪回的scn值和当前日志的scn值,这个值要在创建和添加完数据的测试表后知道,因为是要根据这个scn的值进行数据的恢复。

(1)创建测试数据

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

插入测试数据

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

(2)获取scn的值

SQL> select current_scn from v$database;

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

(3)误删除数据

首先检查数据是否正常

SQL>select * from test;

然后误删除数据

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

SQL>select * from test;

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

(5)恢复数据

SQL> select * from aa as of scn 1018926;

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

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

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

SQL> select * from test;

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

(6)总结

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

[基础教程]Mysql单表查询优先级实例讲解 原创推荐

[基础教程]Mysql单表查询优先级实例讲解

这篇文章主要介绍了MySQL单表查询操作,结合实例形式详细分析了mysql单表查询的语法、约束、分组、聚合、过滤、排序等相关原理、操作技巧与注意事项,需要的朋友可以参考下 本文实例讲述了MySQL单表...
[基础教程]Linux系统常用文件管理命令 原创推荐

[基础教程]Linux系统常用文件管理命令

这篇文章主要介绍了linux文件管理命令,结合实例形式分析Linux文件管理的显示、查看、统计等相关操作命令使用技巧,需要的朋友可以参考下 本文实例讲述了linux文件管理命令。分享给大家供大家参考,...