ICode9

精准搜索请尝试: 精确搜索
首页 > 数据库> 文章详细

Oracle索引修复 ,ORA-00600: internal error code, arguments: [6200],

2020-12-08 09:02:15  阅读:305  来源: 互联网

标签:00600 ORA 索引 code internal bydata Total Pages row


Oracle索引修复 ,ORA-00600: internal error code, arguments: [6200],

问题背景:客户反馈DB每天产生的incident日志很多,需要排查原因

查看alert日志发现大量的ORA-07445、ORA-00600错误

Errors in file /data/oracle/diag/rdbms/bydata/bydata/trace/bydata_mmon_3667.trc (incident=111052):

ORA-00600: internal error code, arguments: [6200], [18446744073709551615], [], [], [], [], [], [], [], [], [], []

Exception [type: SIGSEGV, SI_KERNEL(general_protection)] [ADDR:0x0] [PC:0x2278EA1, kghstack_err()+85] [flags: 0x0, count: 1]

Errors in file /data/oracle/diag/rdbms/bydata/bydata/trace/bydata_mmon_3667.trc (incident=111053):

ORA-07445: exception encountered: core dump [kghstack_err()+85] [SIGSEGV] [ADDR:0x0] [PC:0x2278EA1] [SI_KERNEL(general_protection)] []

ORA-00600: internal error code, arguments: [6200], [18446744073709551615], [], [], [], [], [], [], [], [], [], []

Incident details in: /data/oracle/diag/rdbms/bydata/bydata/incident/incdir_111053/bydata_mmon_3667_i111053.trc

Mon Oct 21 09:50:30 2019

 

一般情况下,ORA-600被证明为oracle的内部错误,通常由数据文件的坏块或者oracle的bug引起

首先查看是否有数据文件坏块

[oracle@OA_oracle ~]$ dbv file =/data/oracle/oradata/bydata/SYSAUX01.DBF

DBVERIFY: Release 11.2.0.1.0 - Production on Mon Oct 21 15:12:29 2019

Copyright (c) 1982, 2009, Oracle and/or its affiliates. All rights reserved.

 

DBVERIFY - Verification starting : FILE = /data/oracle/oradata/bydata/SYSAUX01.DBF

Block Checking: DBA = 8522163, Block Type = KTB-managed data block

**** row 0: row length 35 past end of block

**** row 0: row skipped so other stats may be wrong

**** row 1: row length 7641 past end of block

**** row 1: row skipped so other stats may be wrong

**** row 2: row length 1002 past end of block

**** row 2: row skipped so other stats may be wrong

**** row 3: row length 1951 past end of block

**** row 3: row skipped so other stats may be wrong

**** row 4: row length 441 past end of block

**** actual free space = -277001 < kdxcoavs = 29

**** key (begin=0x594, len=1438) overlaps with another

begin = 0x5ae len = 1428

---- end index block validation

Page 133555 failed with check code 6401

 

 

DBVERIFY - Verification complete

 

Total Pages Examined : 144640

Total Pages Processed (Data) : 47272

Total Pages Failing (Data) : 0

Total Pages Processed (Index): 39600

Total Pages Failing (Index): 1 ---需要留意

Total Pages Processed (Lob) : 9592

Total Pages Failing (Lob) : 0

Total Pages Processed (Other): 26419

Total Pages Processed (Seg) : 0

Total Pages Failing (Seg) : 0

Total Pages Empty : 21757

Total Pages Marked Corrupt : 0

Total Pages Influx : 0

Total Pages Encrypted : 0

Highest block SCN : 296083261 (0.296083261)

这次检查的有可能存在讹误索引的数据文件是sysaux,对于系统文件无法通过重建索引处理,建议客户重新恢复一个库

 

2> 如何在ORA-600 [6200] 报错中定位讹误的索引

描述:

在访问某张表时,你遇到ORA-600 [6200]报错,这个报错意味着相关索引被探测到存在讹误。

标准的解决方法是drop掉索引并为这张表重建所有相关索引。

不过,我们可以从trace文件当时生成的报错中定位哪个索引出的问题。


例如:

例子中显示的是从trace文件中看到的索引报错信息。

trace file报错信息:

 

ksedmp: internal or fatal error

ORA-00600: internal error code, arguments: [6200], [260], [262], [], [], [], [], []

 

Block header dump: dba: 0x7b404757

Object id on Block? Y

seg/obj: 0x6190 csc: 0x00.4e537b5 itc: 2 flg: -typ: 2 - INDEX

fsl: 0 fnx: 0x0

 

注意这里seg/obj指出的Hex值,我们可以将其转为十进制值,这个值就是对象id号。

0x6190 也就是24976 Hex = 00006190 Octal = 00000060620

这样我们就能在DBA_OBJECTS视图中找到索引对象了.

SVRMGR> SELECT OBJECT_ID, OBJECT_NAME FROM DBA_OBJECTS

WHERE DATA_OBJECT_ID = '24976';

 

DATA_OBJEC OBJECT_NAME

---------- ------------------------------------------------------

24976 tab1_index5

这个索引就是我们应该去重建的那个。

标签:00600,ORA,索引,code,internal,bydata,Total,Pages,row
来源: https://www.cnblogs.com/shujuyr/p/14100769.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有