我做的步骤如下:
1.数据库运行在非归档模式下
2.找出当前数据库的所有数据文件、控制文件、日志文件的路径和名称。
3.查询scott用户dept表中所有数据
4.做一次数据库的冷备。关闭数据库,将所有数据文件、控制文件、日志文件复制到相对安全的地方。
重新启动数据库。
5.往scott.dept表中插入2条数据,并提交(commit),每提交一条数据后,日志切换(alter system switch logfile).
6.在执行多次手动日志切换(alter system switch logfile).
7.关闭数据库。
8.模拟数据文件丢失(删除user01.dbf文件)
9.启动数据库,记录下出错的信息。
10将刚备份好的user01.dbf文件复制回去。
11.根据提示recover datafile
结果数据库崩溃了:出现了下面的问题。
SQL> recover datafile 'd:\APP\L\ORADATA\ORCL\USERS01.DBF';
ORA-00279: 更改 1169653 (在 05/26/2013 16:46:10 生成) 对于线程 1 是必需的
ORA-00289: 建议:
D:\APP\L\FLASH_RECOVERY_AREA\ORCL\ARCHIVELOG\2013_05_26\O1_MF_1_12_%U_.ARC
ORA-00280: 更改 1169653 (用于线程 1) 在序列 #12 中 
指定日志: {<RET>=suggested | filename | AUTO | CANCEL}ORA-00308: 无法打开归档日志
'D:\APP\L\FLASH_RECOVERY_AREA\ORCL\ARCHIVELOG\2013_05_26\O1_MF_1_12_%U_.ARC'
ORA-27041: 无法打开文件
OSD-04002: 无法打开文件
O/S-Error: (OS 2) 系统找不到指定的文件。 
求大神指点迷津啊,我就纯属菜鸟级别,请各位大神能够仔细点的讲解。

解决方案 »

  1.   

    非归档模式下,不行的如果你的redo被覆盖了,非归档模式下,只能全部使用备份的文件,open库
    而不能只还原一个数据文件
    因为这样无法做到数据文件,控制文件,redo文件的完全一致
      

  2.   

    貌似看懂了一点,但关键是怎么恢复呢?
    我现在运行都出现这些错误
    SQL> shutdown immediate
    ORA-01109: 数据库未打开 
    已经卸载数据库。
    ORACLE 例程已经关闭。
    SQL> startup mount
    ORACLE 例程已经启动。Total System Global Area  778387456 bytes                                       
    Fixed Size                  1374808 bytes                                       
    Variable Size             276825512 bytes                                       
    Database Buffers          494927872 bytes                                       
    Redo Buffers                5259264 bytes                                       
    数据库装载完毕。
    SQL> alter database open;
    alter database open
    *
    第 1 行出现错误: 
    ORA-01113: 文件 4 需要介质恢复
    ORA-01110: 数据文件 4: 'D:\APP\L\ORADATA\ORCL\USERS01.DBF' 
    我真的是菜鸟,可以教教我么?感激不尽
      

  3.   

    就是利用我之前手动复制的所有数据文件、控制文件、日志文件来不完全恢复么?
    4.做一次数据库的冷备。关闭数据库,将所有数据文件、控制文件、日志文件复制到相对安全的地方。
    大神,有何高见呢?给个命令提示也好,以后我会好好研究oracle了
      

  4.   

    就是把之前复制的数据文件,日记文件,控制文件,都复制回去???
    然后呢?
    再SQL> recover datafile 'd:\APP\L\ORADATA\ORCL\USERS01.DBF';??
      

  5.   

    然后alert database open;不用做任何恢复操作
    如果提示恢复,不能open,证明你的冷备有问题