ITPub博客

首页 > Linux操作系统 > Linux操作系统 > 掉电无法启动数据库问题解决

掉电无法启动数据库问题解决

原创 Linux操作系统 作者:yezhibin 时间:2010-01-18 09:56:57 0 删除 编辑
         由于突然掉电,造成客户在windows平台上10.2.0.1数据库无法驱动,以下是具体解决步骤:

一、定位故障问题:

1、启动数据库,查看错误
SQL>startup
ora-01113: file 1 needs media recovery
ora-01110: data file 1: 'C:\xxx\xxx\xxx\system01.dbf'

2、使用dbv命令扫描数据文件,发现system出现2个坏块和sysaux表空间出现6个坏块
$dbv file=C:\xxxxx\xxxx\xxxx\system01 blocksize=8192

二、修复

1、修复所有的数据文件
SQL>recover datafile 'C:\xxx\xxx\xxx\xxxx.dbf'

2、试图打开数据库
SQL>alter database open;
出现oralce异常中断退出

3、查看alert.log日志,出现ora-600 [4193]错误,通过metalink查看为undo和redo 不一致造成错误。

4、将undo管理模式改成手动管理模式,打开数据库
SQL>alter system set undo_manage=manual scope=spfile;

5、重新启动数据库,能正常打开数据库,但无法正常关闭数据库,存在数据库坏块问题。

6、system表空间和sysaux表尝试用BBED修复失败,只能将应用的表备份出来,重新创建数据库,在将应用数据导入。

三、遗留问题发现及研究

1、在windows平台上使用BBED读取数据文件时候,发现头文件的信息偏移1block;

2、需要弄清楚在10g中,对于block corrupt,是哪些标识符被修改?查询中seg_kcbh=0x01。


来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/354732/viewspace-625344/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2008-12-18

  • 博文量
    159
  • 访问量
    559682