视频1 视频21 视频41 视频61 视频文章1 视频文章21 视频文章41 视频文章61 推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37 推荐39 推荐41 推荐43 推荐45 推荐47 推荐49 关键词1 关键词101 关键词201 关键词301 关键词401 关键词501 关键词601 关键词701 关键词801 关键词901 关键词1001 关键词1101 关键词1201 关键词1301 关键词1401 关键词1501 关键词1601 关键词1701 关键词1801 关键词1901 视频扩展1 视频扩展6 视频扩展11 视频扩展16 文章1 文章201 文章401 文章601 文章801 文章1001 资讯1 资讯501 资讯1001 资讯1501 标签1 标签501 标签1001 关键词1 关键词501 关键词1001 关键词1501 专题2001
记一次redo和undo的损坏问题
2020-11-09 07:47:48 责编:小采
文档


今天数据库启动时遇到这个错误: ORA-00283: 恢复会话因错误而取消 ORA-00368: 重做日志块中的校验和错误 ORA-00353: 日志损坏接近块 138240 更改 925634142 时间 12/16/2013 11:39:30 ORA-00334: 归档日志: D:\ORACLE\ORADATA\ONLINELOG\REDO01.LOG 原来是r

今天数据库启动时遇到这个错误:

ORA-00283: 恢复会话因错误而取消

ORA-00368: 重做日志块中的校验和错误

ORA-00353: 日志损坏接近块 138240 更改 925634142 时间 12/16/2013 11:39:30

ORA-00334: 归档日志: 'D:\ORACLE\ORADATA\ONLINELOG\REDO01.LOG'

原来是redo文件损坏了,由于是测试数据,没有归档也没有备份, 数据不太重要

解决如下:

1.设置初始化参数 _allow_resetlogs_corruption = true

注意如果使用的是spfile,需要修改spfile

2.startup mount

recover database using backup controlfile until cancel;

执行恢复后敲cancel

3.alter database open resetlogs;

打开数据库

4.如果能正常打开数据库就Ok了。

可能打不开,那么尝试shutdown immediate以后,再startup

5.修改参数文件去掉_allow_resetlogs_corruption参数

本以为ok了,但是开发那边一试,说又连不上了

我一看确实,数据库可以起来但是随便执行一个查询就又挂了,这是咋回事?

看alert日志发现:

ORA-00600: internal error code, arguments: [4194], [62], [53], [], [], [], [], []
网上一搜说这种错误表示undo表空间有问题

所以重建undo:

create undo tablespace undotbs2 datafile 'D:\oracle\product\10.2.0\oradata\hyd\undotbs02.dbf' size 625M;

ALTER SYSTEM SET undo_tablespace = undotbs2

DROP TABLESPACE "undotbs1" INCLUDING CONTENTS AND DATAFILES

show parameter undo

ok!

怪不得数据可以起来,但是一执行操作就挂。

这是redo 和 undo 一起坏了,很庆幸数据文件是完好的。

下载本文
显示全文
专题