查看: 19219|回复: 40

[精华] ORA-00600 [2662]错误解决过程

[复制链接]
论坛徽章:
16
2010数据库技术大会纪念徽章
日期:2010-05-13 10:04:27ITPUB技术丛书作者
日期:2010-09-26 15:24:562011新春纪念徽章
日期:2011-01-25 15:41:01管理团队成员
日期:2011-05-07 01:45:082012新春纪念徽章
日期:2012-02-13 15:11:18马自达
日期:2014-01-27 11:47:11
发表于 2004-11-24 14:54 | 显示全部楼层 |阅读模式
数据库版本:7.3.2

背景:
客户那边数据库突然出现一个current日志文件坏了,导致数据库crash了,然后现场工程师使用_ALLOW_RESETLOGS_CORRUPTION = TRUE这个隐含参数,做了不完全恢复后强行将数据库打开。可是打开数据库后发现只能用internal用户连接进去,别的用户连接都报错,错误信息如下:
ORA-00600: internal error code, arguments: [2662], [0], [431267936], [0], [431273216], [0], [], []
查询不了任何应用的表,应用也没法使用,于是想尝试全库的exp出来然后重新imp进去建库,结果发现exp数据也不成功,也是报同样的ORA-600的错误,用户当时数据没有任何的备份过,只能想办法尽量打开数据库,导出数据了。

处理过程:
先检查了600错误产生的trace文件:
*** SESSION ID7.15) 2004.11.23.23.28.16.824
ksedmp: internal or fatal error
ORA-00600: internal error code, arguments: [2662], [0], [431267754], [0], [431272752], [0], [], []
Current SQL statement for this session:
SELECT * FROM "WHSB"."SB_BSBF"
得到的信息有限,只能看到是严重内部错误,剩下的都是内存堆栈的一堆信息,于是查找了一下这个错误的具体相关信息。
ORA-600 [2662] "Block SCN is ahead of Current SCN",说明当前数据库的数据块的SCN早于当前的SCN,主要是和存储在UGA变量中的dependent SCN进行比较,如果当前的SCN小于它,数据库就会产生这个ORA-600 [2662]的错误了。这个错误一共有五个参数,分别代表不同的含义,
ORA-600 [2662] [a] [c] [d] [e]
Arg [a]  Current SCN WRAP
Arg   Current SCN BASE
Arg [c]  dependent SCN WRAP
Arg [d]  dependent SCN BASE  
Arg [e]  Where present this is the DBA where the dependent SCN came from.
我们分析错误中的提示,它的参数b=431267754,d=431272752,表明当前的SCN确实是小于dependent SCN,所以产生了这个600的错误。
通过查阅文档,发现这个错误的产生原因主要有以下几条:
        使用隐含参数_ALLOW_RESETLOGS_CORRUPTION后resetlogs打开数据库
        硬件错误引起数据库没法写控制文件和重做日志文件
        错误的部分恢复数据库
        恢复了控制文件但是没有使用recover database using backup controlfile进行恢复
        数据库crash后设置了_DISABLE_LOGGING隐含参数
        在并行服务器环境中DLM存在问题
仔细对比了一下,发现问题可能是由于第一条产生的,由于设置了_ALLOW_RESETLOGS_CORRUPTION这个隐含参数后,虽然强制性的打开数据库,但是数据库本身存在了corruption,仍然存在严重的问题。
于是想到使用ADJUST_SCN事件来调整当前的SCN,使其大于dependent SCN,然后保证数据库可以全库的导出,然后重建数据库导入数据。
用internal用户登陆数据库后,连接别的用户,还是失败报错,执行:
alter session set events '10015 trace name adjust_scn level 1';
然后尝试连接别的用户,连接成功。
最后exp整个数据库,重建数据库后导入数据,整个数据库恢复成功!

通过这个实例,我们可以看到,尽量的不要去使用那些隐含参数,这些参数是oracle所不推荐使用的,也不是万能的!如果使用了可能会存在一些遗留的问题,如果非要使用,建议使用后一定要exp/imp重建建立数据库。
论坛徽章:
7
ITPUB元老
日期:2005-10-27 20:45:16会员2006贡献徽章
日期:2006-04-17 13:46:34会员2007贡献徽章
日期:2007-09-26 18:42:10数据库板块每日发贴之星
日期:2011-06-09 01:01:01数据库板块每日发贴之星
日期:2011-07-28 01:01:01ITPUB十周年纪念徽章
日期:2011-11-01 16:19:41
发表于 2004-11-24 15:06 | 显示全部楼层
每天学习一点的感觉真好:)

使用道具 举报

回复
论坛徽章:
63
版主7段
日期:2012-05-15 15:24:11itpub13周年纪念徽章
日期:2014-10-08 15:16:50itpub13周年纪念徽章
日期:2014-10-08 15:16:50itpub13周年纪念徽章
日期:2014-10-08 15:16:50itpub13周年纪念徽章
日期:2014-10-10 14:34:59马上加薪
日期:2015-01-08 15:39:192015年新春福章
日期:2015-03-04 14:19:112015年新春福章
日期:2015-03-06 11:57:31
发表于 2004-11-24 15:20 | 显示全部楼层
好,这个我没有想到.

使用道具 举报

回复
论坛徽章:
16
2010数据库技术大会纪念徽章
日期:2010-05-13 10:04:27ITPUB技术丛书作者
日期:2010-09-26 15:24:562011新春纪念徽章
日期:2011-01-25 15:41:01管理团队成员
日期:2011-05-07 01:45:082012新春纪念徽章
日期:2012-02-13 15:11:18马自达
日期:2014-01-27 11:47:11
 楼主| 发表于 2004-11-24 15:37 | 显示全部楼层
最初由 jlandzpa 发布
[B]好,这个我没有想到. [/B]


不是你们的客户吧,

使用道具 举报

回复
论坛徽章:
63
版主7段
日期:2012-05-15 15:24:11itpub13周年纪念徽章
日期:2014-10-08 15:16:50itpub13周年纪念徽章
日期:2014-10-08 15:16:50itpub13周年纪念徽章
日期:2014-10-08 15:16:50itpub13周年纪念徽章
日期:2014-10-10 14:34:59马上加薪
日期:2015-01-08 15:39:192015年新春福章
日期:2015-03-04 14:19:112015年新春福章
日期:2015-03-06 11:57:31
发表于 2004-11-24 15:40 | 显示全部楼层
最初由 coolyl 发布
[B]

不是你们的客户吧, [/B]


我同事也找过我,
把客户名发给我,我看看是不是我们的客户。

使用道具 举报

回复
论坛徽章:
1
祖国60周年纪念徽章
日期:2009-10-09 08:28:00
发表于 2004-11-24 16:26 | 显示全部楼层
好文,有启发。

使用道具 举报

回复
论坛徽章:
1
授权会员
日期:2005-10-30 17:05:33
发表于 2004-11-24 16:58 | 显示全部楼层
和厉害,请介绍ADJUST_SCN 事件好吗?

使用道具 举报

回复
认证徽章
论坛徽章:
168
马上加薪
日期:2014-02-19 11:55:142012新春纪念徽章
日期:2012-02-13 15:10:582012新春纪念徽章
日期:2012-01-04 11:49:54蜘蛛蛋
日期:2011-12-05 16:08:56ITPUB十周年纪念徽章
日期:2011-11-01 16:19:41设计板块每日发贴之星
日期:2011-07-22 01:01:02ITPUB官方微博粉丝徽章
日期:2011-06-30 12:30:16管理团队成员
日期:2011-05-07 01:45:082011新春纪念徽章
日期:2011-01-25 15:42:562011新春纪念徽章
日期:2011-01-25 15:42:33
发表于 2004-11-24 17:01 | 显示全部楼层
解决问题的思路很值得借鉴!

使用道具 举报

回复
论坛徽章:
0
发表于 2004-11-24 17:01 | 显示全部楼层
美文。回了再讀一遍。。。謝謝分享:)

使用道具 举报

回复
论坛徽章:
50
2015年新春福章
日期:2015-03-06 11:57:31复活蛋
日期:2011-07-26 15:00:15蜘蛛蛋
日期:2011-06-22 16:25:38双黄蛋
日期:2011-06-17 09:28:35鲜花蛋
日期:2011-05-24 10:57:112010广州亚运会纪念徽章:武术
日期:2011-05-09 16:03:252010广州亚运会纪念徽章:橄榄球
日期:2011-05-03 15:43:102010广州亚运会纪念徽章:高尔夫球
日期:2011-04-20 22:04:572010广州亚运会纪念徽章:武术
日期:2011-04-09 20:29:292011新春纪念徽章
日期:2011-02-18 11:42:47
发表于 2004-11-24 17:09 | 显示全部楼层
好!建议加精

使用道具 举报

回复

您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

TOP技术积分榜 社区积分榜 徽章 团队 统计 知识索引树 积分竞拍 文本模式 帮助
  ITPUB首页 | ITPUB论坛 | 数据库技术 | 企业信息化 | 开发技术 | 微软技术 | 软件工程与项目管理 | IBM技术园地 | 行业纵向讨论 | IT招聘 | IT文档
  ChinaUnix | ChinaUnix博客 | ChinaUnix论坛
CopyRight 1999-2011 itpub.net All Right Reserved. 北京盛拓优讯信息技术有限公司版权所有 联系我们 
京ICP备09055130号-4  北京市公安局海淀分局网监中心备案编号:11010802021510 广播电视节目制作经营许可证:编号(京)字第1149号
  
快速回复 返回顶部 返回列表