oracle 11.2.0.1告警日志报错ORA-03137与绑定变量窥探BUG9703463

2017年12月份第二次oracle数据库巡检中,发现某一地市oracle数据库发现SQL语句触发特定版本BUG,详细信息如下:

操作系统版本: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
ORA-03137: TTC 协议内部错误: [12333] [6] [50] [48] [] [] [] []
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,
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 ;

    针对ORA03137与oracle 11.2.0.1 for windows server 2008R2查看oracle metalink,ORA-03137: TTC 协议内部错误: [12333] [6] [50] [48] 与应用SQL语句使用绑定变量有关,

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

解决办法:
1、解决Oracle 11.2.0.1 因绑定变量触发ora-03137错误的补丁已包含在PSU补丁集Patch:10245351中,需要对数据库应用补丁集Patch:10245351

 风险:oracle数据库应用补丁集可能引入新的未知BUG

2、关闭oracle 11.2.0.1绑定变量功能:alter system set "_optim_peek_user_binds"=false;

 风险:将导致数据库不稳定,引起应用sql语句执行计划不准确

3、将数据库版本升级到11.2.0.3以上版本可解决ORA-03137问题

时间: 2024-11-09 23:09:54

oracle 11.2.0.1告警日志报错ORA-03137与绑定变量窥探BUG9703463的相关文章

Oracle 绑定变量窥探

     Bind Peeking是Oracle 9i中引入的新特性,一直持续到Oracle 10g R2.它的作用就是在SQL语句硬分析的时候,查看一下当前SQL谓词的值 ,以便生成最佳的执行计划.而在oracle 9i之前的版本中,Oracle 只根据统计信息来做出执行计划. 一.绑定变量窥探     使用SQL首次运行时的值来生成执行计划.后续再次运行该SQL语句则使用首次执行计划来执行.     影响的版本:Oracle 9i, Oracle 10g     对于绑定变量列中的特殊值或非

oracle 11.2.0.1 for windows server2008r2告警ORA-03137

2017.10.20贵州一地市oracle 11.2.0.1医保相关应用程序功能异常无法运行,查看数据库告警日志有如下报错: Fri Oct 20 16:03:04 2017 Trace dumping is performing id=[cdmp_20171020160304] Fri Oct 20 16:03:05 2017 Sweep [inc][140434]: completed Sweep [inc2][140434]: completed Fri Oct 20 16:12:40 2

solaris x86安装ORACLE 11.2.0.3因SWAP不足报错

solaris x86安装ORACLE 11.2.0.3软件时因SWAP不足报错: INFO: ld: fatal: mmap anon failed 1.ORACLE软件安装到86%时报错,图忘截了.日志如下: /oracle/u01/app/oracle/product/11.2.0/ INFO: db_1/lib/sysliblist` -R /opt/SUNWcluster/lib -R/export/home/oracle/u01/app/oracle/product/11.2.0/d

Oracle 11.2.0.3 ORA-12012ORA-29280 ORA-06512

  Oracle 11.2.0.3 ORA-12012ORA-29280 ORA-06512   问题现象: db alert日志中出现如下告警信息: Errors in file/app/oracle/diag/rdbms/cctv/CCTV2/trace/CCTV2_j000_1370.trc: ORA-12012: error on auto execute of job"ORACLE_OCM"."MGMT_CONFIG_JOB_2_2" ORA-29

【故障处理】告警日志报“ORA-01565 Unable To open Spfile”

[故障处理]告警日志报"ORA-01565 Unable To open Spfile" 1.1  BLOG文档结构图   1.2  故障分析及解决过程 1.2.1  故障环境介绍   项目 source db db 类型 RAC db version 12.1.0.2.0 db 存储 ASM OS版本及kernel版本 SuSE Linux Enterprise Server(SLES 11) 64位 1.2.2  故障发生现象及报错信息 客户的12.1.0.2的RAC库告警日志报O

oracle 11.1.0.7版本也会出现access$表丢失导致数据库无法启动

下面我们来看看oracle 11.1.0.7版本也会出现access$表丢失导致数据库无法启动,有需要了解的朋友可以进入看看吧. 有网友咨询数据库启动报ora-01092:ORACLE 实例终止.强制断开连接,请求帮忙处理 数据库版本 Trace file d:appadministratordiagrdbmsorclorcltraceorcl_ora_5648.trc Oracle Database 11g Enterprise Edition Release 11.1.0.7.0 - 64b

ORACLE 11.2.0.4 dg搭建及对DDL的支持验证

    今天,有同事问ORACLE 11.2.0.4 dataguard是否对DDL支持:由于,我工作中oracle 11g的dataguard环境很少,所以对她的研究不是很多:因此,对于有疑问的知识,最好的办法就是用实验数据进行验证了.     首先,先说明下实验结论:ORACLE 11.2.0.4的dataguard对DDL是支持的.     服务器环境: 主库 [oracle@oradbs ~]$ uname -a Linux oradbs 2.6.18-194.el5 #1 SMP Tu

Oracle 11.2.0.1升级到11.2.0.3

Oracle  11.2.0.1升级到11.2.0.3 最近听了李光老师的关于oracle的升级公开课,深有感悟,之前一直想自己测试的,没有下定决心,这几天自己在虚拟机上测试了一下,测试的过程如下,当然这个只是一些基本的步骤,实际的生产环境我想比这个复杂的多了,但是不用急,慢慢来,循序渐进吧... 由于blog的文档结构没有办法显示,所以这里我截取我的文档结构图: 数据库情况 单实例非ASM存储 ORACLE_SID : orcl ORACLE_HOME: /u01/app/oracle/pro

MQ6.0发送消息时对方总是丢消息,日志报错。但是用笔记本与服务器直连,MQ正常。

问题描述 浪潮服务器的03系统,在用MQ6.0发送消息时对方总是丢消息,日志报错.但是用笔记本与服务器直连,MQ正常.日志报:数据发送到主机220.21.11.33的错误,在将数据通过TCP/IP发送到220.21.11.33时发生错误.其原因可能是通信故障,TCP/IP(send)调用的返回码是10054X('2746').记录这些值并通知系统管理员 解决方案 解决方案二: 底层网络不通排查防火墙设置timeout解决方案三: 还有就是回退阀值解决方案四: 网络问题核实网络吧解决方案五: 防火