DBA最担心的莫过于不小心删除了不该删除的数据库表数据,也有不少人咨询过北亚数据恢复中心的工程师,万一误删除了数据库中的数据应该怎样把误删的数据恢复过来?今天就简单介绍一下误删oracle数据库表数据的数据恢复方法。

首先,如果只是不小心误删了oracle数据库的表及数据,且不是purge永久删除,我们都是可以进行数据恢复的,具体恢复数据的步骤如下:

1.在flashback table中输入下列语句,我们可以查询到被删除的数据表。

【北亚数据恢复】不小心误删除oracle表和误删除oracle表数据的数据恢复方法_表数据

2.查询到被删除的数据表后,我们可以使用下列语句将表数据进行恢复。

【北亚数据恢复】不小心误删除oracle表和误删除oracle表数据的数据恢复方法_表数据_02

对于误删除的oracle数据库表记录,我们可以按照以下步骤进行数据恢复。

(truncate清空的表数据采用这种方法是不能恢复的,想要了解truncate清空oracle数据库表数据的恢复方法请咨询北亚数据恢复工程师)

1.首先从 flashback_transaction_query视图里查询您想要恢复的数据库表名称以及关键字段、提交时间等。语法如下:

【北亚数据恢复】不小心误删除oracle表和误删除oracle表数据的数据恢复方法_表数据_03

2.查询表数据被删除的时间点,语法如下:

【北亚数据恢复】不小心误删除oracle表和误删除oracle表数据的数据恢复方法_数据_04

或者你知道大概记得删除点,你也可以这样试试查询,找出删除前的时间点。

【北亚数据恢复】不小心误删除oracle表和误删除oracle表数据的数据恢复方法_数据_05

3.恢复误删除的oracle数据库表数据。

我们查询到数据丢失的时间点后,可以采用如下语句进行数据恢复。

【北亚数据恢复】不小心误删除oracle表和误删除oracle表数据的数据恢复方法_数据_06

注意:在执行上述操作的时候,需要允许oracle修改分配给行的rowid,这时候oracle需要给恢复的数据分配新的物理地址。

【北亚数据恢复】不小心误删除oracle表和误删除oracle表数据的数据恢复方法_数据_07

其实找到数据丢失前的时间点后,恢复数据也可以将需要恢复的数据直接插入到目标表中。

【北亚数据恢复】不小心误删除oracle表和误删除oracle表数据的数据恢复方法_表数据_08

以上就是关于使用oracle数据库时误删除表数据以后的数据恢复方法,学会这个方法以后,我们在进行数据库操作时就不用那么担心误删除表或者表中的数据了,针对误删除的表及数据均可以进行数据。当然,因为其他原因导致数据库数据丢失也是可以咨询北亚数据恢复中心进行数据恢复。