天天看点

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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