20160522-ORA-00600: 内部错误代码, 参数: [kcbchg1_14]

在这里插入图片描述

说明:

本文整理自我的ITPUB博客,链接如下:

https://blog.itpub.net/29785807/viewspace-2104959/

环境说明:

数据库版本: Oracle 10.2.0.5.0
数据库服务器操作系统: Windows server 2008

问题现象:

业务人员在前台执行某些计算操作时, ORA-00600: 内部错误代码 , 参数 : [kcbchg1_14] ], [], [], [], [], [], [], [] ;

解决方案:

查看 alert 警告日志,查找对应的 trace 文件 ;

*** CLIENT ID:(ncMem01#WebContainer : 3) 2016-03-03 09:02:56.796
*** SESSION ID:(1075.1160) 2016-03-03 09:02:56.796
BH (00000003D8F89438) file #: 8 rdba: 0x0205ef69 ( 8 / 388969 ) class: 1 ba: 00000003D8244000

发现:问题出现在 8 号数据文件, 388969 块对应的对象上;

Block header dump:  0x0205ef69
 Object id on Block? Y
 seg/obj: 0x2c7d3  csc: 0x00.14d8d008  itc: 3  flg: E  typ: 2 - INDEX
     brn: 1  bdba: 0x205ef59 ver: 0x01 opc: 0
     inc: 0  exflg: 0

发现:此对象类型为 INDEX;

找到触发此 bug 的 sql 语句如下:
Current SQL statement for this session:
INSERT INTO TAB_1(COL_1,COL_2,COL_3) VALUES(:1,:2,:3);

根据 MOS 查看,和 Bug 8255717 比较匹配,但没有提供解决方案;

解决方案:
找到具体出现问题的索引对象,进行删除重建索引,或者升级数据库,跳过此 BUG ;
一:通过 file_id 和 block_id 查找具体索引对象

select segment_name,owner,tablespace_name from dba_extents where 388969 between BLOCK_ID and BLOCK_ID+BLOCKS-1 and FILE_ID=8;

select index_name,table_name,column_name from user_ind_columns where index_name='INDEX_NAME';

二:删除重建该索引

select dbms_metadata.get_ddl('INDEX','INDEX_NAME','USER_NAME') from dual;
drop index ......;
create index ......; 

参考: ORA-600 [kcbchg1_14] ( 文档 ID 1267223.1)
欢迎关注我的微信公众号"IT小Chen"

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值