> 文档中心 > 【Oracle数据库】手滑删错数据,一步步教你如何挽救?

【Oracle数据库】手滑删错数据,一步步教你如何挽救?


前言

常在河边走,哪能不湿鞋?

今天有客户联系说误更新数据表,导致数据错乱了,希望将这张表恢复到 一周前 的指定时间点。

  • 数据库版本为 11.2.0.1
  • 操作系统是 Windows64
  • 数据已经被更改超过1周时间
  • 数据库已开启归档模式
  • 没有DG容灾
  • 有RMAN备份

下面模拟一下问题的详细解决过程!

一、分析

以下只列出常规恢复手段:

  • 数据已经误操作超过一周,所以排除使用UNDO快照来找回;
  • 没有DG容灾环境,排除使用DG闪回;
  • 主库已开启归档模式,并且存在RMAN备份,可使用RMAN异机恢复表对应表空间,使用DBLINK捞回数据表;
  • Oracle 12C后支持单张表恢复;

结论:安全起见,使用RMAN异机恢复表空间来捞回数据表。

二、思路

客户希望将表数据恢复到 之前某个时间点。

大致操作步骤如下:

  • 主库查询误更新数据表对应的表空间和无需恢复的表空间。
  • 新主机