把数据文件TAR进对应目录下.然后restore,重装数据库

解决方案 »

  1.   

    可以恢复到2月1号冷备份以后的时间--2月3日数据库崩溃前的某个时间点,但是你要保证你的归档日志文件是连贯的(中间没有丢失)!怎么恢复,就看你的的崩溃是什么原因造成的了!俗话说,备份靠策略,恢复靠技术!你要明白其中就里才能恢复呀!建议看看《oracle8i备份与恢复手册》!
      

  2.   

    做个实验先:
    先冷备份;得到最初的全部文件:数据/控制/联机
    然后启动归档模式;切换日志:ARC00002.001
    然后做些误操作(scott用户truncate table a);ARC00003.001归档日志文件;
    (此时的联机日志文件你是没有保证的~)
    看看完全/不完全恢复怎么做呢?~1、单个文件损坏:
    restore/recover即可;
    ORA-01113: 文件 8 需要介质恢复
    ORA-01110: 数据文件 8: 'D:\ORACLE\ORADATA\ORA9I\TOOLS01.DBF'
    SQL> recover datafile 8;
    完成介质恢复。
    SQL> alter database open;
    数据库已更改。2、损坏所有数据文件:
    SQL> recover database;
    完成介质恢复。
    SQL> alter database open;
    数据库已更改。3、丢失日志文件:4、丢失控制文件:
    5、所有文件:
    只要把所有的数据文件还原,然后手工创建控制文件,来recover until cancel/open resetlogs;
    sql> startup nomount;
    SQL> CREATE CONTROLFILE REUSE DATABASE "ora9i" RESETLOGS  ARCHIVELOG
      2      MAXLOGFILES 16
      3      MAXLOGMEMBERS 3
      4      MAXDATAFILES 100
      5      MAXINSTANCES 8
      6      MAXLOGHISTORY 454
      7  LOGFILE
      8    GROUP 1 'D:\oracle\oradata\ora9i\REDO01.LOG'  SIZE 100M,
      9    GROUP 2 'D:\oracle\oradata\ora9i\REDO02.LOG'  SIZE 100M,
     10    GROUP 3 'D:\oracle\oradata\ora9i\REDO03.LOG'  SIZE 100M
     11  -- STANDBY LOGFILE
     12  DATAFILE
     13    'D:\oracle\oradata\ora9i\CWMLITE01.DBF',
     14    'D:\oracle\oradata\ora9i\DRSYS01.DBF',
     15    'D:\oracle\oradata\ora9i\EXAMPLE01.DBF',
     16    'D:\oracle\oradata\ora9i\INDX01.DBF',
     17    'D:\oracle\oradata\ora9i\ODM01.DBF',
     18    'D:\oracle\oradata\ora9i\SYSTEM01.DBF',
     19    'D:\oracle\oradata\ora9i\TOOLS01.DBF',
     20    'D:\oracle\oradata\ora9i\UNDOTBS01.DBF',
     21    'D:\oracle\oradata\ora9i\USER02.ORA',
     22    'D:\oracle\oradata\ora9i\USERS01.DBF',
     23    'D:\oracle\oradata\ora9i\XDB01.DBF'
     24  CHARACTER SET ZHS16GBK
     25  ;控制文件已创建SQL> recover database until cancel;
    ORA-00283: ??????????
    ORA-01610: ?? BACKUP CONTROLFILE ??????????
    SQL> recover database using backup controlfile until cancel;
    ORA-00279: ?? 247200 (? 01/27/2005 10:09:08 ??) ???? 1 ????
    ORA-00289: ??: D:\ORACLE\LOG\ARC00002.001
    ORA-00280: ?? 247200 ???? 1 ???? # 2 ???
    指定日志: {<RET>=suggested | filename | AUTO | CANCEL}
    D:\oracle\log\ARC00002.001
    ORA-00279: ?? 247809 (? 02/02/2005 14:38:28 ??) ???? 1 ????
    ORA-00289: ??: D:\ORACLE\LOG\ARC00003.001
    ORA-00280: ?? 247809 ???? 1 ???? # 3 ???
    ORA-00278: ??????????? 'D:\oracle\log\ARC00002.001'
    指定日志: {<RET>=suggested | filename | AUTO | CANCEL}
    D:\oracle\log\ARC00003.001
    ORA-00279: ?? 247896 (? 02/02/2005 14:38:55 ??) ???? 1 ????
    ORA-00289: ??: D:\ORACLE\LOG\ARC00004.001
    ORA-00280: ?? 247896 ???? 1 ???? # 4 ???
    ORA-00278: ??????????? 'D:\oracle\log\ARC00003.001'
    指定日志: {<RET>=suggested | filename | AUTO | CANCEL}
    cancel;
    ORA-00308: ???????? 'cancel;'
    ORA-27041: ??????
    OSD-04002: N^7(4r?*ND<~
    O/S-Error: (OS 2) O5M3UR2;5=V86(5DND<~!#
    指定日志: {<RET>=suggested | filename | AUTO | CANCEL}
    cancel
    介质恢复已取消。
    SQL> recover database using backup controlfile until cancel;
    ORA-00279: ?? 247896 (? 02/02/2005 14:38:55 ??) ???? 1 ????
    ORA-00289: ??: D:\ORACLE\LOG\ARC00004.001
    ORA-00280: ?? 247896 ???? 1 ???? # 4 ???
    指定日志: {<RET>=suggested | filename | AUTO | CANCEL}
    auto
    ORA-00308: ???????? 'D:\ORACLE\LOG\ARC00004.001'
    ORA-27041: ??????
    OSD-04002: N^7(4r?*ND<~
    O/S-Error: (OS 2) O5M3UR2;5=V86(5DND<~!#
    ORA-00308: ???????? 'D:\ORACLE\LOG\ARC00004.001'
    ORA-27041: ??????
    OSD-04002: N^7(4r?*ND<~
    O/S-Error: (OS 2) O5M3UR2;5=V86(5DND<~!#
    SQL> recover database using backup controlfile until cancel;
    ORA-00279: ?? 247896 (? 02/02/2005 14:38:55 ??) ???? 1 ????
    ORA-00289: ??: D:\ORACLE\LOG\ARC00004.001
    ORA-00280: ?? 247896 ???? 1 ???? # 4 ???
    指定日志: {<RET>=suggested | filename | AUTO | CANCEL}
    D:\oracle\log\ARC00002.001
    ORA-00310: ???????? 2????? 4
    ORA-00334: ????: 'D:\ORACLE\LOG\ARC00002.001'
    SQL> recover database using backup controlfile until cancel;
    ORA-00279: ?? 247896 (? 02/02/2005 14:38:55 ??) ???? 1 ????
    ORA-00289: ??: D:\ORACLE\LOG\ARC00004.001
    ORA-00280: ?? 247896 ???? 1 ???? # 4 ???
    指定日志: {<RET>=suggested | filename | AUTO | CANCEL}
    D:\oracle\log\ARC00003.001
    ORA-00310: ???????? 3????? 4
    ORA-00334: ????: 'D:\ORACLE\LOG\ARC00003.001'
    SQL> alter database open resetlogs;数据库已更改。SQL> shutdown immediate
    数据库已经关闭。
    已经卸载数据库。
    ORACLE 例程已经关闭。
    SQL>