先mount数据库,然后再目录下建同名文件redo01.log、redo02.log、redo03.log
然后执行alter databse clear logfile group n
对于current的group,执行alter databse clear unarchived logfile group n
然后,再open,就ok了
然后执行alter databse clear logfile group n
对于current的group,执行alter databse clear unarchived logfile group n
然后,再open,就ok了
时出现错误,信息如下:
ORA-01194: file 1 needs more recovery to be consistent
ORA-01110: data file 1: '/users/oracle/oracle8/oradata/auth/system01.dbf'还是启动不了,咋办
需要恢复,可以系统数据文件啊,很是还好办。
有备份没有,没有备份我先替你哀悼!
penitent(只取一瓢) ,我现在有什么高招吗?
但是你的系统数据文件还需要媒体恢复,没有备份是不可能恢复的。
如果是别的数据文件,倒还可以删除掉,这个不能删啊。
没有好办法.
1、可以先设法把数据库起来,然后把数据导出来,然后重建库,因你的system也在报错。
2、在init<sid>.ora 中加入
_allow_resetlogs_corruption=true
偿试起动数据库,如报错,可以做如下修定:
a、把init<sid>.ora 中的rollback_segments参数注释掉,偿试起库,如仍不能打开库,则转入b.
b、加入_corrupted_rollback_segments=(rbs01,rbs02,..)
我相信一定可以打开库了。
3、把数据导出来,重建库,数据导回。
http://www11.brinkster.com/sahxinyu/
ORA-01194: file 1 needs more recovery to be consistent
ORA-01110: data file 1: '/users/oracle/oracle8/oradata/auth/system01.dbf'
alter database open resetlogs
也是一样的提示
再次哀悼
http://www11.brinkster.com/sahxinyu/oracle/expe1.htm
也可以请求Oracle的技术支持吗!
你们的情况仅仅是联机日志毁坏,如果仅仅是联机日志毁坏,恢复的办法是非常多的。
你现在搞清楚,他是系统表空间需要恢复,假定你把系统数据文件删除了,也是返回的这样的错误,你能通过你的办法打开吗?那就奇怪了???
也不用你们那么麻烦
connect internal
startup mount
recover database until cancel ;
选择CANCEL
alter database open resetlogs ;
alter database open ;
我试了无数次都可以。
服务器上突然断电后,oracle8i数据库无法启动,用svrmgrl进去管理后,过程如下:
>connect internal/oracle
>startup
ora-00314: log 2 of thread 1, expected sequenec# 22199 doesn't match 22268
ora-00312: online log 2 thread 1: c:\oracle\oradata\orcl\redo02.log'重做日志出错,没有提到系统表空间,而且人家用了上面的方法后,也没有成功啊!
我现在还不敢乱讲,毕竟人家没有讲清楚具体情况,比如数据库是否处于归档模式?如果处于非归档模式,那就和我的情形一样,并非系统表空间问题,而是由于重做日志redo02.log发生介质错误,无法恢复,所以才导致数据库启动时,提示系统表空间需要恢复.这一点也和我遇到的报错一致.我建议你做做实验,在非归档模式下强行删除重做日志,然后再做恢复.还有一点,我建议恢复的时候最好备份,然后重建控制文件,重建控制文件时,将日志组2注释掉,再试用我的方法.祝你成功.
你要弄清楚,那是表面。
第一个错误一样,但还有里层的错误。
他是在联机日志恢复后又发现
ORA-01110: data file 1: '/users/oracle/oracle8/oradata/auth/system01.dbf'错误
看表面抱错不能断言
还要查看
v$recover_file,看看是否有需要媒体恢复的数据文件。如果没有,情形才与你一样,现在他的情况是,在联机日志恢复了的情况下,发现有数据文件的媒体恢复需要,也就是说
v$reocver_file是有需要恢复的数据文件的,恰好又是系统数据文件。没有备份是不可能恢复的。
I 服了you,but it's true?
至于日志文件的介质失败,我已经解决了,但在重新
启动数据库后,又出现ORA-01110: data file 1: '/users/oracle/oracle8/oradata/auth/system01.dbf'的错误,
所以我断定是系统数据文件介质失败。to penitent(只取一瓢) ,数据库还没有open,能否查询v$recover_file
对象?
如果v$recover_file记录为空就好办
但我觉得按你的说法,几乎不可能为空
startup mount;
recover database until chang 9999;
选择auto呵呵,我才学,这种方法是我书上看到的,不知道有没用。我是用这种方法恢复成功过一次。
startup mount;
recover database until cancle;
这也是不完全恢复,能不能用我不知道喽。