天天看點

oracle 11.2.0.1告警日志報錯ORA-03137與綁定變量窺探BUG9703463

作業系統版本:windows server 2008R2

資料庫版本:oracle 11.2.0.1

問題描述:2017年12月份第二次巡檢中,發現告警日志報錯,報錯資訊如下:

19/12/2017 08:27:35 Tue Dec 19 08:27:35 2017

ORA-03137: TTC 協定内部錯誤: [12333] [6] [50] [48] [] [] [] []

Errors in file d:appadministratordiagrdbmsorclorcltraceorcl_ora_5480.trc (incident=36699):

Incident details in: d:appadministratordiagrdbmsorclorclincidentincdir_36699orcl_ora_5480_i36699.trc

18/12/2017 17:19:56 Mon Dec 18 17:19:56 2017

Incident details in: d:appadministratordiagrdbmsorclorclincidentincdir_36554orcl_ora_4572_i36554.trc

Errors in file d:appadministratordiagrdbmsorclorcltraceorcl_ora_4572.trc (incident=36554):

18/12/2017 16:18:58 ORA-03137: TTC 協定内部錯誤: [12333] [6] [50] [48] [] [] [] []

Errors in file d:appadministratordiagrdbmsorclorcltraceorcl_ora_3968.trc (incident=36547):

Mon Dec 18 16:18:58 2017

Incident details in: d:appadministratordiagrdbmsorclorclincidentincdir_36547orcl_ora_3968_i36547.trc

根據orcl_ora_5480_i36699.trc檔案發現觸發ORA-03137的應用SQL語句确實使用綁定變量:

-----sql_id=cjx2sya2mu4zm

select *

from (select row_.*, rownum NumRow

from (select *

from (select

sid,

code,

to_char(month, 'yyyyMM') as month,

hisid,

bill_no,

state,

billdate,

hospital_id,

patient_id,

patient_name,

admission_number,

admission_disease_name,

disease_name,

claim_name,

benefit_name,

bmino,

benefit_group_name,

item_date,

dept_id,

dept_name,

item_id,

item_name,

item_type,

physician_name,

bmi_convered_amount,

bmi_nopay,

reject_reson,

remrk,

version_no,

hospital_backs,

versionstate,

rule_name,

back_reson,

reback_reason,

processState,

is_approval,

nvl(version, 1) as version,

nvl(trickProgress, 0) as trickProgress,

nvl(is_retrick, 0) as is_retrick,

PERIOD,

billex.NUMBER01 as Number01,

billex.NUMBER02 as Number02,

billex.NUMBER03 as Number03,

billex.NUMBER05 as Number05,

billex.NUMBER06 as Number06,

billex.NUMBER07 as Number07,

HOSPITAL_REMARK_DETAIL,

decode(bitand((select sum(distinct(nvl(g.rule_bit, 0)))

from gz_list g

where g.business_type = '0'),

rule_bit),

0,

1) as BUSINESS_TYPE,

REFEEDBACK_REASON_DETAIL,

(select sum(a.reject_money)

from dw_opinion_details b

join dw_billdetail a

on a.id = b.detailid

where b.code = dw_opinions.code

and b.version_no = dw_opinions.version_no

and b.month = dw_opinions.month) as sumrejectmoney

from dw_opinions

left join dw_bill_ex billex

on dw_opinions.hisid = billex.billid

where 1 = 1

and month = to_date(:ParamMonth0, 'yyyyMM')

and hospital_id = :ParamHospitalId1

and version_no = :versionno2

and bill_no = :ParamBillNo3

order by month desc, sid)) row_

where rownum <= 10)

where NumRow > 0 ;

是非公共Bug:9703463(文檔 ID 1615363.1):

oracle 11.2.0.1告警日志報錯ORA-03137與綁定變量窺探BUG9703463

解決辦法:

1、解決Oracle 11.2.0.1 因綁定變量觸發ora-03137錯誤的更新檔已包含在PSU更新檔集Patch:10245351中,需要對資料庫應用更新檔集Patch:10245351

2、關閉oracle 11.2.0.1綁定變量功能:alter system set "_optim_peek_user_binds"=false;

3、将資料庫版本更新到11.2.0.3以上版本可解決ORA-03137問題