Oracle数据恢复—Oracle数据删了?别慌,Oracle数据恢复有方法

yumo6669个月前 (03-27)技术文章111

相信有很多oracle数据库用户都遇到过在操作Oracle数据库时误删除某些重要数据的情况,这个时候如果数据库没有备份且数据十分重要的,怎么才能恢复误删除的数据呢?北亚企安数据恢复工程师下面简单介绍几个误删除Oracle数据库数据的恢复方法。

北亚企安数据恢复—Oracle数据恢复

Oracle数据库误删除数据的恢复方法一:

利用oracle提供的闪回方法恢复数据,该方法适用于delete删除(一条记录)的情况:

首先需要知道是什么时间进行的删除操作,如果不能确定具体时间点则选择尽量准确的删除数据前的时间。然后利用“select * from 表名 as of timestamp to_timestamp('删除时间点','yyyy-mm-dd hh24:mi:ss')”语句可以找回删除的数据。

利用“insert into 表名 (select * from 表名 as of timestamp to_timestamp('删除时间点','yyyy-mm-dd hh24:mi:ss'))”语句就可以将恢复出来的数据插入原表中(注意要保证主键不重复)。

另一种方法可以通过闪回整个表来恢复误删除的数据,但仅适用于表结构没有发生改变且用户有flash any table权限的情况下,语句如下:

alter table 表名 enable row movement

flashback table 表名 to timestamp to_timestamp('删除时间点','yyyy-mm-dd hh24:mi:ss')

北亚企安数据恢复—Oracle数据恢复

Oracle数据库误删除数据的恢复方法二:

oracle数据库在删除表时会将删除信息存放于某虚拟“回收站”中而非直接清空,再此种状态下数据库标记该表的数据库为“可以复写”,所以在该块未被重新使用前依然可以恢复数据。该方法适用于drop删除。

首先需要通过查询user_table视图找到被删除的表:

select table_name,dropped from user_tables

select object_name,original_name,type,droptime from user_recyclebin

注意此时的表名称已经被重新命名,table_name和object_name就是回收站中的存放表名。如果知道原表的名称可以通过“flashback table 原表名 to before drop”语句恢复数据,如果不知道原表的名称可以直接按照回收站中的表名称将数据恢复,然后通过

“flashback table "回收站中的表名(如:Bin$DSbdfd4rdfdfdfegdfsf==$0)" to before drop rename to 新表名”语句就可以重新命名。

北亚企安数据恢复—Oracle数据恢复

Oracle数据库误删除数据的恢复方法三:

利用oracle数据库的闪回功能可以将数据库恢复到过去某一状态,语句如下:

SQL>alter database flashback on;

SQL>flashback database to scn SCNNO;

SQL>flashback database to timestamp to_timestamp('删除时间点','yyyy-mm-dd hh24:mi:ss');

Oracle数据库虽然提供了恢复数据的保障机制,但是也占用了大量空间,使用drop删除一个表或者delete删除数据后空间并不能自动回收。如果确实需要恢复删除的数据又不想空间被浪费又该如何操作呢?可以采用以下方法:

1、采用truncate方式进行截断。

2、在drop时加上purge选项:drop table 表名 purge,该选项也可以通过删除recyclebin区域来永久性删除表。

删除表:

SQL>drop table emp cascade constraints;

SQL>purge table emp;

删除当前用户的回收站:

SQL>purge recyclebin;

删除全体用户在回收站的数据:

SQL>purge dba_recyclebin

相关文章

RTK数据丢失、数据误删怎么办?各品牌RTK数据恢复办法,值得收藏

你是不是也遇到过RTK作业后不小心数据丢失了、数据误删除了如果不找回来可能会影响到整个工程进度所以掌握RTK数据恢复办法就很有必要小编汇总了华测、中海达、科力达等品牌RTK数据恢复办法大家可以参考一下...

能否恢复误删除的数据#数据恢复

能否恢复误删除的文件?机械硬盘上的文件被删除后,如果没有往这个分区存入新数据,还是有很大的恢复机会恢复出来的。如果被删除的文件和目录是在c盘,建议您把电脑赶紧关机,然后拆硬盘挂到别的电脑上来恢复。因为...

mysql数据库修复工具 innodb表数据恢复 ibd文件恢复工具

极佳Mysql数据库修复程序是由极佳数据库修复中心独立研发。主要针对Mysql数据库损坏的恢复。本程序可用于因为各种误操作而导致数据丢失的恢复,以及因为断电、陈列损坏、硬盘坏道 病毒攻击等各种原因导致...

「数据库数据恢复」SQL Server数据库数据恢复案例

SQL Server数据库故障情况:某公司一台存储损坏,SQL Server数据库崩溃。管理员重组存储,恢复数据库文件,发现有四个ndf文件大小变为0KB。SQL Server数据库故障分析:SQL...

电脑硬盘数据库恢复的方法

在现代社会,电脑已经成为人们生活中不可或缺的一部分。然而,由于各种原因,我们的电脑硬盘中的数据库可能会丢失或损坏,这对我们的工作和生活都会带来很大的影响。那么,数据库丢失文件怎么恢复?下面,我们将为大...