oracle表数据误删还原

简介: <p>首先,找到数据删除前的一个时间点。</p> <p></p> <pre name="code" class="sql">select timestamp_to_scn(to_timestamp('2013-10-12 8:30:00', 'YYYY-MM-DD HH24:MI:SS')) from dual;</pre> <br> 如,我这里得到的点为36551273744。

首先,找到数据删除前的一个时间点。

select timestamp_to_scn(to_timestamp('2013-10-12 8:30:00', 'YYYY-MM-DD HH24:MI:SS')) from dual;

如,我这里得到的点为36551273744。


然后根据这个点找到你所删除文件的表的数据。使用一个临时表把这些数据存放起来。

create table 临时表 as select * from 清空原表 as of scn 36551273744;

delete from 被删除数据的表 where 1=1;

把临时表的数据放回原表

insert into 被删除数据的表 select  * from 临时表;


删除临时表

drop table 临时表;




目录
相关文章
|
4月前
|
SQL Oracle 关系型数据库
Oracle之如何将表数据生成一个分隔列表
Oracle之如何将表数据生成一个分隔列表
30 1
|
运维 分布式计算 Oracle
【大数据开发运维解决方案】Linux Solr5.1安装及导入Oracle数据库表数据
在solr页面中点击core admin–>add core 增加一个core。和id字段如果不做主键,需要将required="true"去掉。配置文件介绍中已经说了问题的主要原因是schema配置文件中存在。2、取消ID的required=true,修改为指定的字段即可。保存退出,至于为什么这么改,看后面遇到的问题及解决方法。1、将uniqueKey修改为你导入solr的字段。能够正常查询出来数据,简单导入完成。最后结果如上截图及配置。
【大数据开发运维解决方案】Linux Solr5.1安装及导入Oracle数据库表数据
|
Oracle 关系型数据库
oracle表数据量太大,expdp只导出部分
oracle表数据量太大,expdp只导出部分
157 0
|
Oracle 关系型数据库 索引
oracle学习26-误删表数据和误删表回滚
oracle学习26-误删表数据和误删表回滚
80 0
|
Oracle 关系型数据库
oracle 数据回滚,恢复误删的数据,闪回表功能的使用
oracle 数据回滚,恢复误删的数据,闪回表功能的使用
473 0
oracle 数据回滚,恢复误删的数据,闪回表功能的使用
|
SQL Oracle 关系型数据库
Oracle 短时间内误删数据,如何快速找回?(UNDO)
首先,这个短时间内,通常是值 undo 段没有被覆盖,undo 保留的时间为多长呢? 1、需要看 undo_retention 的设置,默认为 900s,也就是 15 分钟。 2、需要看数据库的业务繁忙程度,如果1天切一个归档那种,3天前删的说不定都能用 UNDO 找回来。