ITPUB论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

返回列表 发新帖
更多
查看: 10186|回复: 39

[精华] 前在线日志文件损坏与ora-600 [4000]处理  关闭 [复制链接]

注册会员

缥缈游侠

精华贴数
4
技术积分
3672
社区积分
51
注册时间
2004-8-5
论坛徽章:
0
发表于 2006-8-14 17:23:05 |显示全部楼层
这次又是一台机器上面有两个实例A和B。又是由于非当前的在线日志文件的状态是处于closed状态的(裸设备),于是dba将A节点的非当前在线日志文件填加到了B节点上面去了,于是在A节点日志发生切换时,导致了当前在线日志文件损坏。

一般情况下当前在线日志文件损坏也是还好处理的,但是这次却是较为复杂。。。。

系统环境:aix p550,oracle 9206




首先检查v$datafile_header,发现checkpoint_change#都是一致的。

于是按着一般的当前在线日志文件损坏步骤处理:

增加下列参数至Oracle启动文件:

_allow_resetlogs_corruption=TRUE

_corrupted_rollback_segments=(list of all your rollback segments)
注释掉启动文件中的rollback_segments参数或undo_tablespaces参数
startup mount
recover database until cancel
alter database open resetlogs;

一般情况下,open resetlogs后最容易出现的600号错误为ora-600 [2662]和ora-600 [2256]。这两个错误也相对来说好处理一些,只需要采用10015事件adjust scn号即可。

但是这次我却是碰到了ora-600 [4000]号错误。

Errors in file /home/oracle/app/oracle/admin/test/udump/test_ora_2838638.trc:
ORA-00704: bootstrap process failure
ORA-00704: bootstrap process failure
ORA-00600: internal error code, arguments: [4000], [46], [], [], [], [], [], []
Mon Aug 14 15:05:31 2006
Error 704 happened during db open, shutting down database
USER: terminating instance due to error 704
Instance terminated by USER, pid = 2838638

metalink上对该错误的解释是:

DESCRIPTION:

This has the potential to be a very serious error.

It means that Oracle has tried to find an undo segment number in the
dictionary cache and failed.

ARGUMENTS:
Arg [a] Undo segment number

FUNCTIONALITY:
KERNEL TRANSACTION UNDO

IMPACT:
INSTANCE FAILURE - Instance will not restart
STATEMENT FAILURE

由于一开始_corrupted_rollback_segments里面只是列到_syssmu20$,于是将它列到_syssmu60$。重试后还是报这个错。

增加10513事件,禁止smon进程回滚,结果还是一样。

在600号的Trace文件中有:

ORA-00600: internal error code, arguments: [4000], [46], [], [], [], [], [], []
Current SQL statement for this session:
select ctime, mtime, stime from obj$ where obj# = :1

于是我怀疑会不会是undo$基表中没有46号回滚段的信息?

采用bbed检查undo$表格,发现里面是有这个回滚段的信息。

于是我想这个错误是出现在访问obj$基表上面,也就是说该表格的scn号与系统当前的scn号是不一致的。于是我想偿试修改该块的scn号。依然采用bbed,偿试修改该块的scn号。修改后,结果还是一样的。

于是我想应该是obj$基表上还有一个未提交的事务。于是继续查看trace文件,发现如下信息:

Itl Xid Uba Flag Lck Scn/Fsc
0x01 0x002e.025.00005b2c 0x00800f78.080c.01 --U- 1 fsc 0x0000.c5b527cf

data_block_dump,data header at 0x700000001f6e044
===============
tsiz: 0x1fb8
hsiz: 0xea
pbl: 0x700000001f6e044
bdba: 0x0040007a
76543210
flag=--------

很明显,是有一个未提交的事务,于是我就偿试用bbed修改该事务的状态,将该事务改成提交状态。

首先找到itl信息:find /x 00005b2c,找到flag状态,现在其状态是20,也就是未提交,将之修改为80(提交状态),并修改checkval。

之后去掉所有隐含参数,正常启动数据库,发现后台报出了ora-600[2662]错误。哈哈,事情至此就好办了,采用10015 adjust scn号,正常启动数据库:

Mon Aug 14 15:47:23 2006
Completed: ALTER DATABASE OPEN
Mon Aug 14 15:47:23 2006
Fatal internal error happened while SMON was doing active transaction recovery.
Mon Aug 14 15:47:23 2006
Errors in file /home/oracle/app/oracle/admin/test/bdump/test_smon_2293872.trc:
ORA-00600: internal error code, arguments: [ktpridestroy2], [], [], [], [], [], [], []
SMON: terminating instance due to error 600
Instance terminated by SMON, pid = 2293872

从这块日志可以看出数据库正常启动后,马上因为smon回滚又导致了实例宕下来。

增加10513事件,启动数据库,一切正常。

想drop tablespce undotbs1,但是报出59号回滚段还有active事务无法删除。

于是增加_corrupted_rollback_segments参数,将数据库启来,新建一个回滚表空间,将原来的回滚表空间重建后,一切正常。

注册会员

老会员

精华贴数
0
技术积分
3861
社区积分
3311
注册时间
2005-5-10
论坛徽章:
89
发表于 2006-8-14 17:41:39 |显示全部楼层

Re: 前在线日志文件损坏与ora-600 [4000]处理

最初由 logzgh 发布
[B]Itl Xid Uba Flag Lck Scn/Fsc
0x01 0x002e.025.00005b2c 0x00800f78.080c.01 --U- 1 fsc 0x0000.c5b527cf

data_block_dump,data header at 0x700000001f6e044
===============
tsiz: 0x1fb8
hsiz: 0xea
pbl: 0x700000001f6e044
bdba: 0x0040007a
76543210
flag=--------

很明显,是有一个未提交的事务 [/B]

赞一个 ,有个问题要问一下:
lz,你是从哪里得出有一个未提交的事务的?
itl 的flag、lock吗?还是要到transaction table slot中看。

因为fast commit cleanout的时候,产生的flag,lock标志和这 是一样的。

使用道具 举报

版主

人生积极一点好

精华贴数
7
技术积分
15669
社区积分
1384
注册时间
2004-2-19
论坛徽章:
32
ITPUB北京香山2007年会纪念徽章
日期:2007-01-24 14:35:022010数据库技术大会纪念徽章
日期:2010-05-13 10:04:282010年世界杯参赛球队:南非
日期:2010-07-03 19:32:292011新春纪念徽章
日期:2011-01-25 15:41:012011新春纪念徽章
日期:2011-01-25 15:41:502011新春纪念徽章
日期:2011-01-25 15:42:152011新春纪念徽章
日期:2011-01-25 15:42:332011新春纪念徽章
日期:2011-01-25 15:42:56管理团队成员
日期:2011-05-07 01:45:082010年世界杯参赛球队:斯洛文尼亚
日期:2010-04-19 22:39:482010新春纪念徽章
日期:2010-03-01 11:06:22参与2007年甲骨文全球大会(中国上海)纪念
日期:2007-08-06 15:19:01
发表于 2006-8-14 19:46:23 |显示全部楼层
牛, 这也能搞出来. 实在太......了

使用道具 举报

版主

版主

精华贴数
32
技术积分
53884
社区积分
6677
注册时间
2001-12-18
论坛徽章:
48
2007年度最佳版主
日期:2008-04-03 16:46:152011新春纪念徽章
日期:2011-01-25 15:41:012011新春纪念徽章
日期:2011-01-25 15:41:502011新春纪念徽章
日期:2011-01-25 15:42:152011新春纪念徽章
日期:2011-01-25 15:42:332011新春纪念徽章
日期:2011-01-25 15:42:562011新春纪念徽章
日期:2011-02-18 11:42:48现任管理团队成员
日期:2011-05-07 01:45:08双黄蛋
日期:2011-06-15 17:03:342012新春纪念徽章
日期:2012-01-04 11:49:54ITPUB9周年纪念徽章
日期:2010-10-08 09:28:52ITPUB技术丛书作者
日期:2010-09-26 15:24:56
发表于 2006-8-14 20:00:47 |显示全部楼层
晕, 原来是你啊,

使用道具 举报

超级版主

人生就是如此

精华贴数
39
技术积分
113462
社区积分
12356
注册时间
2001-12-12
论坛徽章:
73
ITPUB元老
日期:2005-02-28 12:57:00ITPUB十周年纪念徽章
日期:2011-11-01 16:19:41蜘蛛蛋
日期:2011-07-01 08:38:17蛋疼蛋
日期:2011-05-27 08:50:45现任管理团队成员
日期:2011-05-07 01:45:082010广州亚运会纪念徽章:皮划艇
日期:2011-04-26 11:24:14咸鸭蛋
日期:2011-11-09 09:55:402011新春纪念徽章
日期:2011-02-18 11:43:322011新春纪念徽章
日期:2011-01-25 15:42:562011新春纪念徽章
日期:2011-01-25 15:42:332011新春纪念徽章
日期:2011-01-25 15:42:152011新春纪念徽章
日期:2011-01-25 15:41:50
发表于 2006-8-14 20:01:40 |显示全部楼层
这种错误也能出…… 该dba也太不谨慎了!

使用道具 举报

版主

版主

精华贴数
32
技术积分
53884
社区积分
6677
注册时间
2001-12-18
论坛徽章:
48
2007年度最佳版主
日期:2008-04-03 16:46:152011新春纪念徽章
日期:2011-01-25 15:41:012011新春纪念徽章
日期:2011-01-25 15:41:502011新春纪念徽章
日期:2011-01-25 15:42:152011新春纪念徽章
日期:2011-01-25 15:42:332011新春纪念徽章
日期:2011-01-25 15:42:562011新春纪念徽章
日期:2011-02-18 11:42:48现任管理团队成员
日期:2011-05-07 01:45:08双黄蛋
日期:2011-06-15 17:03:342012新春纪念徽章
日期:2012-01-04 11:49:54ITPUB9周年纪念徽章
日期:2010-10-08 09:28:52ITPUB技术丛书作者
日期:2010-09-26 15:24:56
发表于 2006-8-14 20:06:03 |显示全部楼层
很快就同事了

使用道具 举报

注册会员

高级会员

精华贴数
0
技术积分
4657
社区积分
89
注册时间
2004-6-24
论坛徽章:
4
授权会员
日期:2005-10-30 17:05:33会员2007贡献徽章
日期:2007-09-26 18:42:10ITPUB新首页上线纪念徽章
日期:2007-10-20 08:38:44生肖徽章2007版:鼠
日期:2008-01-02 17:35:53
发表于 2006-8-14 20:11:57 |显示全部楼层
学习

使用道具 举报

注册会员

高级会员

精华贴数
2
技术积分
12550
社区积分
342
注册时间
2001-9-26
论坛徽章:
17
ITPUB元老
日期:2005-02-28 12:57:002010年世界杯参赛球队:南非
日期:2010-04-19 12:17:452010新春纪念徽章
日期:2010-03-01 11:05:01生肖徽章2007版:牛
日期:2009-11-02 17:04:55祖国60周年纪念徽章
日期:2009-10-09 08:28:00生肖徽章2007版:兔
日期:2008-09-22 19:33:402008北京奥运纪念徽章:蹦床
日期:2008-09-09 11:00:242008北京奥运纪念徽章:跳水
日期:2008-06-16 06:59:25ITPUB新首页上线纪念徽章
日期:2007-10-20 08:38:44数据库板块每日发贴之星
日期:2007-10-08 01:03:42会员2007贡献徽章
日期:2007-09-26 18:42:10会员2006贡献徽章
日期:2006-04-17 13:46:34
发表于 2006-8-14 20:16:38 |显示全部楼层
为什么说10513是禁止smon做事务恢复的??

使用道具 举报

注册会员

资深会员

精华贴数
1
技术积分
1270
社区积分
94
注册时间
2004-5-24
论坛徽章:
1
授权会员
日期:2006-02-09 23:06:32
发表于 2006-8-14 20:58:14 |显示全部楼层
前面看的还比较顺,但下面有点看不懂了,总觉得有点怪怪的,楼主有没有看一下那个对应的事务到底是做了什么东西?

使用道具 举报

版主

何乡是吾乡,归期未有期

精华贴数
6
技术积分
13512
社区积分
4358
注册时间
2004-12-7
论坛徽章:
110
ITPUB元老
日期:2007-12-12 18:09:57八级虎吧徽章
日期:2008-12-08 16:10:56生肖徽章2007版:狗
日期:2009-01-15 19:45:13生肖徽章2007版:龙
日期:2009-09-16 13:11:59祖国60周年纪念徽章
日期:2009-10-09 08:28:00生肖徽章2007版:蛇
日期:2009-11-13 10:54:512010数据库技术大会纪念徽章
日期:2010-05-13 10:04:282011新春纪念徽章
日期:2011-01-25 15:41:012011新春纪念徽章
日期:2011-01-25 15:41:502011新春纪念徽章
日期:2011-01-25 15:42:152011新春纪念徽章
日期:2011-01-25 15:42:332011新春纪念徽章
日期:2011-01-25 15:42:56
发表于 2006-8-14 21:06:16 |显示全部楼层
这个,也太强了吧,直接改file。。。

10513事件不熟,找时间看看

使用道具 举报

相关内容推荐
您需要登录后才可以回帖 登录 | 注册

TOP技术积分榜 社区积分榜 徽章 电子杂志 团队 统计 邮箱 虎吧 老博客 文本模式 帮助
  ITPUB首页 | ITPUB论坛 | 数据库技术 | 企业信息化 | 开发技术 | 微软技术 | 软件工程与项目管理 | IBM技术园地 | 行业纵向讨论 | IT招聘 | IT文档 | IT博客
CopyRight 1999-2011 itpub.net All Right Reserved. 北京皓辰网域网络信息技术有限公司版权所有 联系我们 网站律师 隐私政策 知识产权声明
京ICP证:060528号 北京市公安局海淀分局网监中心备案编号:1101082001 广播电视节目制作经营许可证:编号(京)字第1149号
  
回顶部