码迷,mamicode.com
首页 > 其他好文 > 详细

undo回滚异常导致实例奔溃,无法正常open

时间:2014-08-13 22:38:17      阅读:459      评论:0      收藏:0      [点我收藏+]

标签:undo   database   oracle   数据库   

接到地市反馈某一个数据库打不开了

1.登陆主机,查看数据库告警日志

最早数据库出现问题时的日志是在2014年6月7日

bubuko.com,布布扣

数据库在切换redo时异常关闭,之后数据库一直为开启使用

2.数据库在2014年6月8日 OPEN后,有recovery的进程报错

bubuko.com,布布扣

目前已经找不到这些文件,无法核实当时的异常信息源,接着往下看日志

3.数据库在2014年6月9日11:36:45时又异常关闭

bubuko.com,布布扣

4.同样的现象出现在2014年8月11日13:26:07,数据库异常关闭

bubuko.com,布布扣

5.数据库在2014年8月11日13:18:46再次启动

bubuko.com,布布扣

bubuko.com,布布扣

整个数据库打开的过程中,控制文件正常加载,redo正常recovery,且前滚已经结束,在做后滚的时候数据库出现异常

6.可以从v$database、v$datafile_header、v$datafile看出数据库的scn已经处于一致状态,说明前滚已经结束,可以正常OPEN

bubuko.com,布布扣

bubuko.com,布布扣

。。。后面的数据文件省略

bubuko.com,布布扣

。。。后面的数据文件省略

7.查看pmon和smon的trace文件

PMON TRACE:/opt/oracle/app/admin/hfjyfx/bdump/hfjyfx_pmon_8198.trc

bubuko.com,布布扣

SMON TRACE:/opt/oracle/app/admin/hfjyfx/bdump/hfjyfx_smon_8210.trc

bubuko.com,布布扣

说明数据库在前滚结束,OPEN数据库的同时,由于UNDO里面的事务回滚时(undo segment 12),无法对file 63 block 1531279进程更新,导致回滚失败,实例异常终止。


【解决方案】

1.使用隐含参数屏蔽异常回滚段_offline_rollback_segments=_SYSSMU12$


2.修改undo_tablespace=SYSTEM/undo_management=MANUAL


3.启动数据库,快速删除包含_SYSSMU12$ undo表空间


4.新建undo表空间


5.修改undo_tablespace=new_undo/undo_management=AUTO,除掉隐含参数


6.使用新参数文件重启数据库


7.建议:使用逻辑导出导入重建数据库





undo回滚异常导致实例奔溃,无法正常open,布布扣,bubuko.com

undo回滚异常导致实例奔溃,无法正常open

标签:undo   database   oracle   数据库   

原文地址:http://blog.csdn.net/tonny5102/article/details/38541283

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!