ORA-00600[kole_t2u][34]

本文记录了在Oracle数据库中遇到的ORA-00600内部错误,详细分析了错误原因及发生场景,并提供了具体的SQL语句与解决方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

--今天例行检查数据库的时候发现有两个库都报了ORA-00600: internal error code,arguments: [kole_t2u], [34], [], [], [], [], [], []的错。
--通常ora-600的错误都是oracle内部的bug引起的,安全起见还是查了一下
--参考资料:http://blog.chinaunix.net/uid-20276248-id-3198915.html

--问题原因:
oracle的解释是:对于lob字段的字符处理出现问题。

--出错的地方:
从trace文件中可以看出,出错的程序是
image: oracle@cisdb2 (m000)
image: oracle@DBServer1 (m000)
是mmon的slave进程,mmon是数据库复制awr和ash报告等的维护采样工作,所以是在这期间出的问题

--具体sql:
从trace 文件的current sql部分可以看到,两个错误分别是在插入
wrh$_sql_plan 和 wrh$_sqltext 表的时候出错,
经查验得知,两个表均存在lob对象字段。与猜测的一致


--trace文件1
Unix process pid: 1200210, image: oracle@cisdb2 (m000)

*** ACTION NAME:(Auto-Flush Slave Action) 2014-08-2518:01:10.858
*** MODULE NAME:(MMON_SLAVE) 2014-08-25 18:01:10.858
*** SERVICE NAME:(SYS$BACKGROUND) 2014-08-2518:01:10.858
*** SESSION ID:(6335.61932) 2014-08-25 18:01:10.858
*** 2014-08-25 18:01:10.858
ksedmp: internal or fatal error
ORA-00600: internal error code, arguments: [kole_t2u], [34],[], [], [], [], [], []
Current SQL statement for this session:
INSERT INTO wrh$_sql_plan sp
  (snap_id,
   dbid,
   sql_id,
   plan_hash_value,
   id,
   operation,
   options,
   object_node,
   object#,
   object_owner,
   object_name,
   object_alias,
   object_type,
   optimizer,
   parent_id,
   depth,
   position,
   search_columns,
   cost,
   cardinality,
   bytes,
   other_tag,
   partition_start,
   partition_stop,
   partition_id,
   other,
   distribution,
   cpu_cost,
   io_cost,
   temp_space,
   access_predicates,
   filter_predicates,
   projection,
   time,
   qblock_name,
   remarks,
   timestamp,
   other_xml)
  SELECT
   :lah_snap_id    lsnid,
   :dbid           dbid,
   p.sql_id,
   p.plan_hash_value,
   p.id,
   p.operation,
   p.o            ptions,
   p.object_node,
   p.object#,
   p.object_owner,
   p.object_name,
   p.object_alias,
   p.object_type,
   p.optimizer,
   p.parent_id,
   p.depth,
   p.position,
   p.search_columns,
   p.cost,
   p.cardinality,
   p.bytes,
   p.other_tag,
   p.partition_start,
   p.partition_stop,
   p.partition_id,
   p.other,
   p.distribution,
   p.cpu_cost,
   p.io_cost,
   p.temp_space,
   NULL           access_predicates,
   NULL           filter_predicates,
   NULL           projection,
   p.time,
   p.qblock_name,
   p.remarks,
   p.timestamp,
   p.other_xml
    FROM x$kewra ttrnew atn,x$kewrtsqlplan spn, v$sql_plan p
   WHERE atn.str1_kewrattr =spn.sqlid_kewrspe
     ANDatn.num1_kewrattr = spn.planhash_kewrspe
     ANDspn.sqlid_kewrspe = p.sql_id
     ANDspn.planhash_kewrspe = p.plan_hash_value
     ANDspn.childaddr_kewrspe = p.child_address



--trace文件2
Unix process pid: 446676, image: oracle@DBServer1 (m000)

*** ACTION NAME:(Auto-Flush Slave Action) 2014-08-2521:00:28.216
*** MODULE NAME:(MMON_SLAVE) 2014-08-25 21:00:28.216
*** SERVICE NAME:(SYS$BACKGROUND) 2014-08-2521:00:28.216
*** SESSION ID:(5440.1674) 2014-08-25 21:00:28.216
*** 2014-08-25 21:00:28.216
ksedmp: internal or fatal error
ORA-00600: internal error code, arguments: [kole_t2u], [34],[], [], [], [], [], []
Current SQL statement for this session:
INSERT INTO wrh$_sqltext
  (sql_id, dbid, sql_text, command_type,snap_id, ref_count)
  SELECT sqlid_kewrstx,
        :dbid,
        sqlfulltext_kewrstx,
        cmdtype_          kewrstx,
        :lah_snap_id,
        0                ref_count
    FROMx$kewrtsqltext


--原因分析:
该错误对应 bug 5017909
当sql的第一千个字节刚好是中文时,clob字段会包含multibytecodepoints,从而触发该600错误
不过这个错误不影响应用以及sql的执行,只是对awr或者V$sql相关的视图有些影响

--解决方法:
修改程序代码,把第一千个字节刚好是中文的sql修改掉
或者升级oracle,该BUG在10.2.0.4 及以后版本的patchset中修复
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值