oracle服务器突然断电(没有UPS),机器重新启动后,数据库无法启动,特急,高手帮忙

服务器上突然断电后,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'
>

导致数据库无法正常启动,高手帮忙
---------------------------------------------------------------

先mount数据库,然后再目录下建同名文件redo01.log、redo02.log、redo03.log
然后执行alter databse clear logfile group n
对于current的group,执行alter databse clear unarchived logfile group n
然后,再open,就ok了

---------------------------------------------------------------

'/users/oracle/oracle8/oradata/auth/system01.dbf'
需要恢复,可以系统数据文件啊,很是还好办。
有备份没有,没有备份我先替你哀悼!
---------------------------------------------------------------

如果仅仅是联机日志坏了, luckysxn方法就可以。
但是你的系统数据文件还需要媒体恢复,没有备份是不可能恢复的。
如果是别的数据文件,倒还可以删除掉,这个不能删啊。
没有好办法.
---------------------------------------------------------------

如你是归档的情况下,那可容易多了,如果不是可以采用以下的办法。
1、可以先设法把数据库起来,然后把数据导出来,然后重建库,因你的system也在报错。
2、在init

 1<sid>.ora 中加入   
 2_allow_resetlogs_corruption=true   
 3偿试起动数据库,如报错,可以做如下修定:   
 4a、把init<sid>.ora 中的rollback_segments参数注释掉,偿试起库,如仍不能打开库,则转入b.   
 5b、加入_corrupted_rollback_segments=(rbs01,rbs02,..)   
 6我相信一定可以打开库了。   
 73、把数据导出来,重建库,数据导回。   
 8  
 9\---------------------------------------------------------------   
10  
11这个办法是恢复在日志文件出错而且没有归档日志时的最佳方法,但是重建数据库累呀!通宵不睡吧!   
12\---------------------------------------------------------------   
13  
14根据楼上的步骤后   
15alter database open resetlogs   
16\---------------------------------------------------------------   
17  
18我看还是去找oracle的技术支持吧   
19\---------------------------------------------------------------   
20  
21作好的办法就是让你们知道备份的重要性与DBA的重要性。   
22再次哀悼   
23\---------------------------------------------------------------   
24  
25按我的办法来吧,加入 _allow_resetlogs_corruption=true后就可以使用resetlog操作了。   
26也可以请求Oracle的技术支持吗!   
27  
28\---------------------------------------------------------------   
29  
30对于联机日志错误   
31也不用你们那么麻烦   
32connect internal   
33startup mount   
34recover database until cancel ;   
35选择CANCEL   
36alter database open resetlogs ;   
37alter database open ;   
38我试了无数次都可以。   
39  
40\---------------------------------------------------------------   
41  
42看人家贴的吧,兄弟:   
43服务器上突然断电后,oracle8i数据库无法启动,用svrmgrl进去管理后,过程如下:   
44&gt;connect internal/oracle   
45&gt;startup   
46ora-00314: log 2 of thread 1, expected sequenec# 22199 doesn't match 22268   
47ora-00312: online log 2 thread 1: c:\oracle\oradata\orcl\redo02.log'   
48  
49重做日志出错,没有提到系统表空间,而且人家用了上面的方法后,也没有成功啊!   
50我现在还不敢乱讲,毕竟人家没有讲清楚具体情况,比如数据库是否处于归档模式?如果处于非归档模式,那就和我的情形一样,并非系统表空间问题,而是由于重做日志redo02.log发生介质错误,无法恢复,所以才导致数据库启动时,提示系统表空间需要恢复.这一点也和我遇到的报错一致.   
51  
52我建议你做做实验,在非归档模式下强行删除重做日志,然后再做恢复.   
53  
54还有一点,我建议恢复的时候最好备份,然后重建控制文件,重建控制文件时,将日志组2注释掉,再试用我的方法.祝你成功.   
55  
56  
57  
58\---------------------------------------------------------------   
59  
60试试不完全恢复:   
61startup mount;   
62recover database until chang 9999;   
63选择auto   
64  
65呵呵,我才学,这种方法是我书上看到的,不知道有没用。我是用这种方法恢复成功过一次。   
66startup mount;   
67recover database until cancle;   
68这也是不完全恢复,能不能用我不知道喽。</sid></sid>
Published At
Categories with 数据库类
Tagged with
comments powered by Disqus