DBA最担心的莫过于不小心删除了不该删除的数据库表数据,也有不少人咨询过北亚数据恢复中心的工程师,万一误删除了数据库中的数据应该怎样把误删的数据恢复过来?今天就简单介绍一下误删oracle数据库表数据的数据恢复方法。
首先,如果只是不小心误删了oracle数据库的表及数据,且不是purge永久删除,我们都是可以进行数据恢复的,具体恢复数据的步骤如下:
1.在flashback table中输入下列语句,我们可以查询到被删除的数据表。
![](https://img.laitimes.com/img/9ZDMuAjOiMmIsIjOiQnIsICM1czX3xCZlhXam9VbsUmepNXZy9CXwJWZ3xCdh1mcvZ2Lc1zaHRGcWdUYuVzVa9GczoVdG1mWfVGc5RHLwIzX39GZhh2csATMflHLwEzX4xSZz91ZsAzMfRHLGZkRGZkRfJ3bs92YskmNhVTYykVNQJVMRhXVEF1X0hXZ0xCNx8VZ6l2cssmch1mclRXY39CXldWYtlWPzNXZj9mcw1ycz9WL49zZuBnLkZWO3UWZhhjMlVGN3AjNkRDM5YTOzQDMiZTNjFmN2YmMykTZxYzLcFDMyIDMy8CXzV2Zh1WavwVbvNmLvR3YxUjLyM3Lc9CX6MHc0RHaiojIsJye.png)
2.查询到被删除的数据表后,我们可以使用下列语句将表数据进行恢复。
对于误删除的oracle数据库表记录,我们可以按照以下步骤进行数据恢复。
(truncate清空的表数据采用这种方法是不能恢复的,想要了解truncate清空oracle数据库表数据的恢复方法请咨询北亚数据恢复工程师)
1.首先从 flashback_transaction_query视图里查询您想要恢复的数据库表名称以及关键字段、提交时间等。语法如下:
2.查询表数据被删除的时间点,语法如下:
或者你知道大概记得删除点,你也可以这样试试查询,找出删除前的时间点。
3.恢复误删除的oracle数据库表数据。
我们查询到数据丢失的时间点后,可以采用如下语句进行数据恢复。
注意:在执行上述操作的时候,需要允许oracle修改分配给行的rowid,这时候oracle需要给恢复的数据分配新的物理地址。