ORA-600[6122]报错处理[转载]

转载:
 

接到一个ORA-600[6122]的报错:

Fri Aug  5 04:03:41 2011
Errors in file /ora/admin/SCRM01P/udump/scrm01p5_ora_11314.trc:
ORA-00600: internal error code, arguments: [6122], [0], [1], [0], [], [], [], []

根据oracle metalink的Doc ID 99300.1,这是关于index block corrupt的问题,我们来看看该报错的trace文件:

au11qapcwctels2:SCRM01P5:/ora/admin>more /ora/admin/SCRM01P/udump/scrm01p5_ora_11314.trc Dump file /ora/admin/SCRM01P/udump/scrm01p5_ora_11314.trc Oracle9i Enterprise Edition Release 9.2.0.8.0 - 64bit Production With the Partitioning, Real Application Clusters, OLAP and Oracle Data Mining options JServer Release 9.2.0.8.0 - Production ORACLE_HOME = /ora/product/v920 System name:    SunOS Node name:      au11qapcwctels2 Release:        5.9 Version:        Generic_118558-39 Machine:        sun4u Instance name: SCRM01P5 Redo thread mounted by this instance: 5 Oracle process number: 959 Unix process pid: 11314, image: oracle@au11qapcwctels2 (TNS V1-V3) *** 2011-08-05 04:03:41.468 *** SESSION ID:(261.840) 2011-08-05 04:03:41.466 Block header dump:  0xab6090bc Object id on Block? Y seg/obj: 0xedddb  csc: 0x9d0.1d45fd41  itc: 10  flg: -  typ: 2 - INDEX      fsl: 0  fnx: 0x0 ver: 0x01

 

从trace文件中,我们可以获得一些信息:
在21行,seg/obj: 0xedddb,这里显示了data object id,在72行开始,还显示了一个很长的sql,这个sql就是引起ora600[6122]的sql。

那么究竟是这个sql中的哪个表,哪个索引引起了ora600?

根据21行的seg/obj: 0xedddb,我们把edddb从16进制转换成十进制,974299,然后找其对象:

1* select OBJECT_NAME,OWNER,OBJECT_TYPE from dba_objects where DATA_OBJECT_ID=974299
SQL> /
 
OBJECT_NAME                    OWNER                          OBJECT_TYPE
------------------------------ ------------------------------ ------------------
ITEM_S_ORDER_U1                BELSIE                         INDEX

我们检验一下这个索引说对应的表,是不是trace文件中的表:

SQL> select owner,table_name from dba_indexes where index_name='ITEM_S_ORDER_U1';
 
OWNER                          TABLE_NAME
------------------------------ ------------------------------
BELSIE                         ITEM_S_ORDER
 
SQL>

我们看到该表确实是在539行出现。

因此,找到该对象后,找个时间进行索引的drop,create重建,问题解决。


ORA-600 [6122] "Index Block Corrupt" [ID 99300.1] Note: For additional ORA-600 related information please read Note:146580.1

PURPOSE:           
  This article discusses the internal error "ORA-600 [6122]", what
  it means and possible actions. The information here is only applicable
  to the versions listed and is provided only for guidance.

ERROR:             
  ORA-600 [6122] [a] [b] [c]

VERSIONS:          
  versions 7.1 to 10.1

DESCRIPTION:       

  Block checking has found a logically corrupt block.

  In most cases the bad block will have been marked as soft corrupt
  and so will result in ORA-1578 errors after this error has occured.

ARGUMENTS:         
  Arg [a] Number of rows deleted in the block
  Arg [b] Number of row locks left
  Arg [c] Number of rows left in the block

FUNCTIONALITY:     
  Kernel Data indeX block

IMPACT:            
  PROCESS FAILURE
  INDEX BLOCK CORRUPTION

SUGGESTIONS:

  This error would indicate an index block corruption.

  Please refer to the following Metalink article for information:

 
Note:28814.1 Handling Oracle Block Corruptions in Oracle7/8/8i

  If the Known Issues section below does not help in terms of identifying      
  a solution, please submit the trace files and alert.log to Oracle            
  Support Services for further analysis.                                       

  Known Issues:

  Bug# 2909160   See
Note:2909160.8
      OERI[6122] / index corruption for DML against AUTO space managed indexes
      Fixed: 9.2.0.4, 10.1.0.2
 

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/507279/viewspace-706733/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/507279/viewspace-706733/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值