免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12下一页
最近访问板块 发新帖
查看: 8876 | 回复: 10
打印 上一主题 下一主题

急!!!数据库 起不来了 哪位高手能帮忙 解决一下 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2005-09-04 20:10 |只看该作者 |倒序浏览
求各位高手帮帮忙
数据库在起到 startup后
出现以下保错信息
ORA-00314:log 3 of thread 1 ,expected sequence# doesn't match
ORA-00312nline log 3 thread 1 :'/home/oracle/app/oracle/oradata/ora8/redo01.log'

现在数据库起不来 很急啊 哪位能告诉 告诉详细的解决方法

在此先 谢过了

论坛徽章:
0
2 [报告]
发表于 2005-09-04 22:05 |只看该作者

急!!!数据库 起不来了 哪位高手能帮忙 解决一下

LOGFILE问题了,要做恢复
首先你在这次STARTUP之前有没有正常SHUTDOWN?要分析你的这个LOGFILE是不是在线日志,恢复的方法有所不同

论坛徽章:
0
3 [报告]
发表于 2005-09-05 14:51 |只看该作者

急!!!数据库 起不来了 哪位高手能帮忙 解决一下

这是以前从网上搜回来的一片文章,看有没有帮助吧:


Oracle联机日志文件丢失或损坏的处理方法

经验总结:

联机日志分为当前联机日志和非当前联机日志,非当前联机日志的损坏是比较简单的,一般通过clear命令就可以解决问题。

损坏非当前联机日志:
1、启动数据库,遇到ORA-00312 or ORA-00313错误,如:
ORA-00313: open failed for members of log group 4 of thread 1
ORA-00312: online log 3 thread 1: '/opt/oracle/db04/oradata/ORCL/redo03.log'
从这里我们知道日志组1的数据文件损坏或丢失了
从报警文件可以看到更详细的信息
2、查看V$log视图:
SQL>; select group#,sequence#,archived,status from v$log;

    GROUP#  SEQUENCE# ARC STATUS

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

         1         54 YES INACTIVE

         2         55 NO  CURRENT

3             53 YES INACTIVE


可以知道,该组是非当前状态,而且已经归档。
3、用CLEAR命令重建该日志文件
SQL>;alter database clear logfile group 3;
如果是该日志组还没有归档,则需要用
SQL>;alter database clear unarchived logfile group 3;
4、打开数据库,重新备份数据库
SQL>;alter database open;
说明:
1)、如果损坏的是非当前的联机日志文件,一般只需要clear就可以重建该日志文件,但是如果该数据库处于归档状态但该日志还没有归档,就

需要强行clear。
2)、建议clear,特别是强行clear后作一次数据库的全备份。
3)、此方法适用于归档与非归档数据库。

损坏当前联机日志:

归档模式下当前日志的损坏有两种情况,
一、是数据库是正常关闭,日志文件中没有未决的事务需要实例恢复,当前日志组的损坏就可以直接用alter database clear unarchived

logfile group n来重建。
二、是日志组中有活动的事务,数据库需要媒体恢复,日志组需要用来同步,有两种补救办法
A. 最好的办法就是通过不完全恢复,可以保证数据库的一致性,但是这种办法要求在归档方式下,并且有可用的备份
B. 通过强制性恢复,但是可能导致数据库不一致。
下面分别用来说明这两种恢复方法
5.1.2.1 通过备份来恢复
1、打开数据库,会遇到一个类似的错误
ORA-00313: open failed for members of log group 1 of thread 1
ORA-00312: online log 1 thread 1: 'D:\ORACLE\ORADATA\TEST\REDO01.LOG'
ORA-27041: unable to open file
OSD-04002: unable to open file
O/S-Error: (OS 2) 系统找不到指定的文件

2、查看V$log,发现是当前日志
SQL>; select group#,sequence#,archived,status from v$log;

GROUP# SEQUENCE# ARCHIVED STATUS
---------- ---------- -------- ----------------
1 1 NO CURRENT
2 2


YES INACTIVE
3 3 YES INACTIVE

3、发现clear不成功
SQL>; alter database clear unarchived logfile group 1;
alter database clear unarchived logfile group 1
*
ERROR at line 1:
ORA-01624: log 1 needed for crash recovery of thread 1
ORA-00312: online log 1 thread 1: 'D:\ORACLE\ORADATA\TEST\REDO01.LOG'

4、拷贝有效的数据库的全备份,并不完全恢复数据库
可以采用获取最近的SCN的办法用until scn恢复或用until cnacel恢复
recover database until cancel
先选择auto,尽量恢复可以利用的归档日志,然后重新
recover database until cancel
这次输入cancel,完成不完全恢复,也就是说恢复两次。
如:
SQL>; recover database until cancel;
Auto
……
SQL>; recover database until cancel;
Cancel;
5、利用alter database open resetlogs打开数据库
说明:
1、这种办法恢复的数据库是一致的不完全恢复,会丢失当前联机日志中的事务数据
2、这种方法适合于归档数据库并且有可用的数据库全备份。
3、恢复成功之后,记得再做一次数据库的全备份。
4、建议联机日志文件一定要实现镜相在不同的磁盘上,避免这种情况的发生,因为任何数据的丢失对于生产来说都是不容许的。

如果没有备份,进行强制性恢复
1、打开数据库,会遇到一个类似的错误
ORA-00313: open failed for members of log group 1 of thread 1
ORA-00312: online log 1 thread 1: 'D:\ORACLE\ORADATA\TEST\REDO01.LOG'
ORA-27041: unable to open file
OSD-04002: unable to open file
O/S-Error: (OS 2) 系统找不到指定的文件

2、查看V$log,发现是当前日志
SQL>; select group#,sequence#,archived,status from v$log;

GROUP# SEQUENCE# ARCHIVED STATUS
---------- ---------- -------- ----------------
1 1 NO CURRENT
2 2 YES INACTIVE
3 3 YES INACTIVE

3、发现clear不成功
SQL>; alter database clear unarchived logfile group 1;
alter database clear unarchived logfile group 1
*
ERROR at line 1:
ORA-01624: log 1 needed for crash recovery of thread 1
ORA-00312: online log 1 thread 1: 'D:\ORACLE\ORADATA\TEST\REDO01.LOG'

4、把数据库down掉
SQL>;shutdown immediate

5、在init<sid>;.ora中加入如下参数
_allow_resetlogs_corruption=TRUE

6、重新启动数据库,利用until cancel恢复
SQL>;recover database until cancel;
Cancel
如果出错,不再理会,发出
SQL>;alter database open resetlogs;

7、数据库被打开后,马上执行一个full export

8、shutdown数据库,去掉_all_resetlogs_corrupt参数

9、重建库

10、import并完成恢复

11、建议执行一下ANALYZE TABLE ...VALIDATE STRUCTURE CASCADE;
说明:
1、该恢复方法是没有办法之后的恢复方法,一般情况下建议不要采用,因为该方法可能导致数据库的不一致
2、该方法也丢失数据,但是丢失的数据没有上一种方法的数据多,主要是未写入数据文件的已提交或未提交数据。
3、建议成功后严格执行以上的7到11步,完成数据库的检查与分析
4、全部完成后做一次数据库的全备份
5、建议联机日志文件一定要实现镜相在不同的磁盘上,避免这种情况的发生,因为任何数据的丢失对于生产来说都是不容许的。

论坛徽章:
59
2015七夕节徽章
日期:2015-08-24 11:17:25ChinaUnix专家徽章
日期:2015-07-20 09:19:30每周论坛发贴之星
日期:2015-07-20 09:19:42ChinaUnix元老
日期:2015-07-20 11:04:38荣誉版主
日期:2015-07-20 11:05:19巳蛇
日期:2015-07-20 11:05:26CU十二周年纪念徽章
日期:2015-07-20 11:05:27IT运维版块每日发帖之星
日期:2015-07-20 11:05:34操作系统版块每日发帖之星
日期:2015-07-20 11:05:36程序设计版块每日发帖之星
日期:2015-07-20 11:05:40数据库技术版块每日发帖之星
日期:2015-07-20 11:05:432015年辞旧岁徽章
日期:2015-07-20 11:05:44
4 [报告]
发表于 2005-09-05 16:12 |只看该作者

急!!!数据库 起不来了 哪位高手能帮忙 解决一下

用startup force试试!

论坛徽章:
0
5 [报告]
发表于 2005-09-06 13:43 |只看该作者

急!!!数据库 起不来了 哪位高手能帮忙 解决一下

terryno1写得好详细哦,_allow_resetlogs_corruption=TRUE
这个我用过,数据库可以起来,但是数据是不是完整,还不一定,但数据库可以起来

论坛徽章:
0
6 [报告]
发表于 2005-09-06 13:49 |只看该作者

急!!!数据库 起不来了 哪位高手能帮忙 解决一下

收益匪浅~~

论坛徽章:
0
7 [报告]
发表于 2005-09-07 09:41 |只看该作者

急!!!数据库 起不来了 哪位高手能帮忙 解决一下

需要重新启动一个log
SQL>;RECOVER DATABASE UNTILE CANCEL;
数据库会自己找一些它所需要的文件来进行数据库恢复;
SQL>;ALTER DATABASE OPEN RESETLOGS;
不知道你做没有做归档,如果做了,那么这个RECOVER还是比较有效的
没做的话估计不行

论坛徽章:
0
8 [报告]
发表于 2005-09-07 10:43 |只看该作者

急!!!数据库 起不来了 哪位高手能帮忙 解决一下

做恢复之前,请千万记住要把目前的系统作一个备份,以备恢复出错时可以退回到目前的状况。

论坛徽章:
0
9 [报告]
发表于 2005-09-07 11:07 |只看该作者

急!!!数据库 起不来了 哪位高手能帮忙 解决一下

请加
中国数据
QQ群:13509723

论坛徽章:
0
10 [报告]
发表于 2005-09-07 15:58 |只看该作者

急!!!数据库 起不来了 哪位高手能帮忙 解决一下

Cause: The online log is corrupted or is an old version.

Action: Find and install correct version of log or reset logs.


Cause: This message reports the filename for details of another message.

Action: Other messages will accompany this message. See the associated messages for the appropriate action to take.





这个是错误的信息,给你参考呢?
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP