我用sys登陆,SQL> shutdown
ORA-01109: 数据库未打开
已经卸载数据库。
ORACLE 例程已经关闭。
SQL> startup
ORACLE 例程已经启动。Total System Global Area  135338868 bytes
Fixed Size                   453492 bytes
Variable Size             109051904 bytes
Database Buffers           25165824 bytes
Redo Buffers                 667648 bytes
数据库装载完毕。
ORA-01589: 要打开数据库则必须使用 RESETLOGS 或 NORESETLOGS 选项
SQL> alter database open resetlogs;
alter database open resetlogs
*
ERROR 位于第 1 行:
ORA-01113: 文件 1 需要介质恢复
ORA-01110: 数据文件 1: 'C:\ORACLE\ORADATA\SATO\SYSTEM01.DBF'
SQL> recover database using backup controlfile;
ORA-00279: 更改 1077225 (在 09/13/2008 01:10:44 生成) 对于线程 1 是必需的
ORA-00289: 建议: C:\ORACLE\ORA92\RDBMS\ARC00011.001
ORA-00280: 更改 1077225 对于线程 1 是按序列 # 11 进行的指定日志: {<RET>=suggested | filename | AUTO | CANCEL}
C:\oracle\oradata\sato\redo01.log
ORA-00308: 无法打开存档日志 'C:\oracle\oradata\sato\redo01.log'
ORA-27041: 无法打开文件
OSD-04002: 无法打开文件
O/S-Error: (OS 2) 系统找不到指定的文件。
本来想找到C:\oracle\oradata\sato\redo01.log这个日志文件再恢复下,没想到没找到,各位高手,这个问题怎么解决啊!谢谢!

解决方案 »

  1.   

    添加隐含参数到参数文件:
    "_allow_resetlogs_corruption"=true再执行你上面的过程。
      

  2.   

    是联机日志丢了吗?"_allow_resetlogs_corruption"=true 这个参数一般不用好,容易出现Ora-00600。
    如果联机日志掉了,直接recover until cancel, 再alter database resetlogs就行了。
    如果是非当前日志组,也可以alter database clear logfile gorpu x。
      

  3.   

    重建你的重做日志文件就行了,有几个朋友在自己机器上装了oracle,经常出现这种问题.
      

  4.   

    进入图形界面,用dba studio重建就可以了,很简单
      

  5.   

    看看下面这个对你有没有帮助
    http://blog.csdn.net/ndfster/archive/2006/11/24/1409560.aspx