比如我11点做了完全备份,12点删了几笔数据,然后我想恢复到11点,我经过restore和recover之后,我删除的数据始终没有恢复回来

解决方案 »

  1.   

    --恢复参数文件
    rmarn>shutdown immediate;
    rmarn>startup nomount;
    rmarn>restore spfile to pfile 'backup1/mydb.ora' from autobackup;
    rmarn>
    --恢复控制文件
    rmarn>shutdown immediate;
    rmarn>startup nomount;
    rmarn>restore controlfile to '/backup1' from autobackup;
    --恢复和复原数据库
    rmarn>shutdown immediate;
    rmarn>exit;
    %mv /oracle/dbs/.......所有备份表

    %rman target=rman/rman@mydbrman>start pfile=/oracle/admin/mydb/pfile/initmydb.ora
    rman>restore database;
    rman>recover database;
    rman>alert database open;--恢复表空间
    和上面一样的操作
    --ps:如果还不行,我真怀疑你11点的时候是否确定备份OK了?
      

  2.   

    你用RMAN恢复的话需要你指定recover database until 语句
    你不加until语句RMAN会根据日志自动帮你做完全恢复
      

  3.   

    不过你只是对表进行了操作,并且数据库DML操作不是很频繁的话,你可以flashback table来恢复被删除的表记录,前提是你UNDO_RETENTION参数设置得够大
      

  4.   

    recover database until time "to_date('','')" 这样就可以基于时间的恢复。