Oracle错误(ora-00600)问题的处理
ora-00600:internalerrorcode,kcblasm_1论点:{ },{ 103 },{ },{ },{ },{ },{ },{ }
tueaug1209:20:17cst2014
errorsinfile / / /债券APP甲骨文/行政/ Oracle / / orcl_ora_29974.trc非格式化转储:
ora-00600:internalerrorcode,kcblasm_1论点:{ },{ 103 },{ },{ },{ },{ },{ },{ }
tueaug1209:30:17cst2014
errorsinfile / / /债券APP甲骨文/行政/ Oracle / / orcl_ora_30084.trc非格式化转储:
ora-00600:internalerrorcode,kcblasm_1论点:{ },{ 103 },{ },{ },{ },{ },{ },{ }
tueaug1209:40:17cst2014
errorsinfile / / /债券APP甲骨文/行政/ Oracle / / orcl_ora_29919.trc非格式化转储:
ora-00600:internalerrorcode,kcblasm_1论点:{ },{ 103 },{ },{ },{ },{ },{ },{ }
在线检测解决方案:
1:临时解决方案
如果执行计划是由hashjoin,_hash_join_enable= false设置在会话层,如altersessionset_hash_join_enabled=假。
如果执行计划是由hashgroupby,集_gby_hash_aggregation_enabled=假
2的根本解决办法:
2.1。优化SQL语句以避免bug;
2.2。升级
(1)通过升级数据库PSU来10.2.0.5.4 11.2更新数据库可以解决问题
(2)对10.2.0.5.0到10.2.0.5.3版本,打patch7612454避免纠正错误(贴片代替kcbl。O文件库)。
通过临时解决方案解决问题的例子:
跟踪警报日志中提示的跟踪文件,查找导致此错误发生的SQL语句。
ora-00600:internalerrorcode,kcblasm_1论点:{ },{ 103 },{ },{ },{ },{ },{ },{ }
CurrentSQLstatementforthissession:
格式化SQL语句如下所示:
selectindentdate,
indentgroup,
transdate,
transby,
transgroup,
反馈,
feedbackgroup,
financedate,
financeby,
资金小组,
总成本,
A.TOTALPAY,
pay_cash,
pay_points,
pay_advance1,
pay_advance2,
pay_type,
trans_pay,
discount_staff,
discount_special,
gain_cash,
gain_points,
gain_advance1,
gain_advance2,
trans_custname,
trans_tel,
trans_province,
trans_city,
trans_address,
trans_zipcode,
trans_weight,
trans_comments,
indent_comments,
indent_id,
a.partner_guid,
a.proxy_guid,
trans_tel2,
cust_media_id,
cust_partner_guid,
cust_proxy_guid,
partner_value,
proxy_value,
cust_partner_value,
cust_proxy_value,
dealby,
A.FAILREASON,
isfoot,
s_reasonid,
dealfailreason,
a.pre_fund,
media_calltype,
pre_advance,
web_flag,
need_invoice,
invoice_title,
trans_area,
ORDERTYPE,
pay_pointsprice,
嗜水气,
userdefinedstatus,
客,
CustomerID
fromelite.tabcindenta
leftjoinelite.objectiveb
在relation_id = b.objective_guid。
leftjoinelite.customerc
在customer_guid = c.customer_guid。
在(indentdatebetween:1and:2orb。modifieddatebetween:3and:4);
变量:1,2,,3,,4,由特定值执行替换:
selectindentdate,
indentgroup,
transdate,
transby,
transgroup,
反馈,
feedbackgroup,
financedate,
financeby,
资金小组,
总成本,
A.TOTALPAY,
pay_cash,
pay_points,
pay_advance1,
pay_advance2,
pay_type,
trans_pay,
discount_staff,
discount_special,
gain_cash,
gain_points,
gain_advance1,
gain_advance2,
trans_custname,
trans_tel,
trans_province,
trans_city,
trans_address,
trans_zipcode,
trans_weight,
trans_comments,
indent_comments,
indent_id,
a.partner_guid,
a.proxy_guid,
trans_tel2,
cust_media_id,
cust_partner_guid,
cust_proxy_guid,
partner_value,
proxy_value,
cust_partner_value,
cust_proxy_value,
dealby,
A.FAILREASON,
isfoot,
s_reasonid,
dealfailreason,
a.pre_fund,
media_calltype,
pre_advance,
web_flag,
need_invoice,
invoice_title,
trans_area,
序型,
pay_pointsprice,
嗜水气,
userdefinedstatus,
客,
CustomerID
fromelite.tabcindenta
leftjoinelite.objectiveb
在relation_id = b.objective_guid。
leftjoinelite.customerc
在customer_guid = c.customer_guid。
在(indentdatebetween '2012-06-19'and '2012-08-19'orb。modifieddatebetween '2012-06-19'and '2012-08-1);
错误的实现:
uff1a结算条款
altersessionset_hash_join_enabled=假;
altersessionset_gby_hash_aggregation_enabled=假
-先试一个。如果一个解决了,就没有必要再设置一个。
然后再执行上面的查询,没有错,嘎嘎
成功(* ^ __ ^ *),嘻嘻......
让开发人员将此命令添加到程序中。