你的分析是正确的。
你要用“Point-In-Time Recovery”来恢复到数据删除前的时间点。
在启动 RMAN 前,set 时间的 format:
alter session set NLS_DATE_FORMAT="MM-DD-YYYY HH24:MI:SS";
然后,用下面的指令:
RUN
{
SET UNTIL TIME ‘04-25-2009 16:30:00’;
RESTORE DATABASE;
RECOVER DATABASE;
ALTER DATABASE OPEN RESETLOGS;
}
这个时间 ‘04-25-2009 16:30:00’ 必须是你删除数据前的时间。
或者,你也可用 SCN。或者用 log sequence。你可以从 alert.log 里,找到删除数据前相应的 SCN 和 log sequence number。例如:
SET UNTIL SCN 58490;
SET UNTIL SEQUENCE 4823;
上面,我用的是 RMAN script。你也可以一条条的作为指令执行。