条件:
1.归档模式
2.recyclebin OFF
3.闪回区没有开;请教GGJJ高手们,能否恢复删除的表?
小弟在此谢过:)

解决方案 »

  1.   

    条件:
    1.归档模式 --------------只要用这个还原
    2.recyclebin OFF
    3.闪回区没有开;
      

  2.   


    我用日志挖掘进行恢复,谢谢啊,放这里一下:)
    01./* --------------------------   
    02.前题:   
    03.  1. DB工作在归档模式下;  
    04.  2. 有冷准备份的数据文件;  
    05.---------------------------*/  
    /* --------------------------
    前题: 
      1. DB工作在归档模式下;
      2. 有冷准备份的数据文件;
    ---------------------------*/
    view plaincopy to clipboardprint?
    01.col script for a80  
    02.col SQL_REDO for a80  
    03.  
    04.-- 拼接从哪里挖的语句   
    05.select 'exec dbms_logmnr.add_logfile('''||member||''')' as script from v$logfile;  
    06.  
    07.-- 从哪里挖   
    08.exec dbms_logmnr.add_logfile('/oracle/oradata/orcl_new/redo03.log');   
    09.exec dbms_logmnr.add_logfile('/oracle/oradata/orcl_new/redo02.log');  
    10.exec dbms_logmnr.add_logfile('/oracle/oradata/orcl_new/redo01.log');  
    11.  
    12.  
    13.-- 开始挖   
    14.exec dbms_logmnr.start_logmnr;  
    15.  
    16.-- 找结果 --> 要恢复的语句时的时间戳;   
    17.select scn, sql_redo from v$logmnr_contents where sql_redo like 'drop table emp%';  
    18.   
    19.       SCN SQL_REDO  
    20.---------- --------------------------------------------------------------------------------   
    21.   1036547 drop table t1 purge;  
    22.   1037333 drop table scott.emp purge;  
    23.--  1037333 -->要恢复的时间戳   
    24.  
    25.-- 关掉DB    
    26.shutdown abort  
    27.  
    28.-- 拷贝冷备的文件 -- *.dbf 到数据文件目录下,并进行覆盖;,因为要利用日志把 sys,user等表空间的数据,重做一次;   
    29.[oracle@OracleWeblogic orcl_new_bk]$ cp *.dbf ../orcl_new/  
    30.  
    31.-- 启动到 mount 下;   
    32.startup mount  
    33.  
    34.-- 恢复到 1037333 drop table scott.emp purge  的时间点;   
    35.-- 要求:trc    
    36.recover database until change 1035742;  
    37.  
    38.-- 启动DB in resetlogs;   
    39.alter database open resetlogs;  
    40.  
    41.  
    42.原理  
    43.1.冷备份的数据文件 *.dbf比现在要旧,那么数据文件的scn肯定就比现在的小;  
    44.2.使用日志挖掘方法,在日志中找出删表时的scn;  
    45.3.在数据库shutdown 的状态下,用冷备份的数据文件 *.dbf,覆盖现在的*.dbf文件;-- 保证数据文件完整性   
    46.4.启动DB到 mount 下, 恢复到日志挖掘的时间点(利用日志对数据文件重做一次)  
    47.5.以 resetlog 方式 open --- 以前的日志就覆盖了;   
    48.  
    49.PS:数据库有四种状态shutdown、nomount、mount、open  
    50.shutdown是指关闭状态  
    51.nomount是指根参数文件已经构造出实例的状态  
    52.mount是指为实例打开控制文件,并读出控制文件中相关信息,但并不验证  
    53.open是指对相关文件进行验证,如没有问题,就打开,让用户可以访问