oracle 删除数据恢复 oracle 数据误删除数据恢复

关于通过Dataguard Standy备库闪回来恢复主库drop/truncate/delete的表数据

方法适用于Oracle 10.2.0.1之后的版本

目的
本文主要了解通过备库闪回操作来进行对主库drop/truncate/delete表的数据恢复步骤

解决方法

前提要求:

  • 备库必须已经处于闪回数据库模式
  • 被drop/truncate/delete表的发生时间应该在db_flashback_retention_target的时间范围内,其所有闪回和归档日志应该都处于可用状态

步骤: 

1) 停止备库的MRP(managed recovery process)

SQL > recover managed standby database cancel;

2) 为了找到丢失的数据,使用flashback database到drop/truncate/delete表操作发生之前的靠近的时间点。

例如: 

SQL > shutdown immediate; 
SQL > startup mount; 
SQL > flashback database to timestamp to_date('29-MAY-2009 14:30:00','DD-MON-YYYY HH24:MI:SS');

3) 将备库置于Read Only模式.

SQL> alter database open read only;

4) 检查并找到表数据并确认可用。 

5) 导出所需的表数据。 

6) 将数据导回主库。 

7) 关闭备库,之后重新mount备库并使用recover命令将其恢复到主库当前状态。

SQL > shutdown immediate 
SQL > startup mount 
SQL > recover standby database;

8) 一旦所有所有归档都手动应用好后,启动MRP,让其进行自动归档应用同步。

SQL > recover managed standby database disconnect from session;

猜你喜欢

转载自blog.csdn.net/liu_maclean/article/details/82020160
今日推荐