【1】问题背景:Oracle数据库版本为11.2.0.1,操作系统CentOS release 5.9,详细的报错信息如下:

Dump file /data/oracle/diag/rdbms/db01/db01/incident/incdir_70215/db01_ora_17588_i70215.trc
Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options
ORACLE_HOME = /data/oracle/oracle11
System name:    Linux
Node name:    db01
Release:    2.6.18-348.el5
Version:    #1 SMP Tue Jan 8 17:53:53 EST 2013
Machine:    x86_64
Instance name: db01
Redo thread mounted by this instance: 1
Oracle process number: 52
Unix process pid: 17588, image: oracle@db01

*** 2014-06-20 22:33:42.577
*** SESSION ID:(204.33501) 2014-06-20 22:33:42.577
*** CLIENT ID:() 2014-06-20 22:33:42.577
*** SERVICE NAME:(SYS$USERS) 2014-06-20 22:33:42.577
*** MODULE NAME:() 2014-06-20 22:33:42.577
*** ACTION NAME:() 2014-06-20 22:33:42.577
Dump continued from file: /data/oracle/diag/rdbms/db01/db01/trace/db01_ora_17588.trc
ORA-03137: TTC 协议内部错误: [12333] [32] [49] [50] [] [] [] []

========= Dump for incident 70215 (ORA 3137 [12333]) ========

*** 2014-06-20 22:33:42.600
dbkedDefDump(): Starting incident default dumps (flags=0x2, level=3, mask=0x0)
----- Current SQL Statement for this session (sql_id=6v8rd0sq5a8m3) -----
select count(t.fd_id) as COUNT from sys_notify_todo_done_info t inner join
(select distinct(sysnotifyt1_.fd_subject) FD_SUBJECT,max(sysnotifyt0_.fd_id) as FD_ID
,sysnotifyt1_.fd_app_name,sysnotifyt1_.fd_type,sysnotifyt1_.fd_create_time
from sys_notify_todo_done_info sysnotifyt0_ inner join sys_notify_todo sysnotifyt1_ 
on sysnotifyt0_.fd_todoid=sysnotifyt1_.fd_id 
where (sysnotifyt0_.fd_elementid = :1) 
group by sysnotifyt1_.fd_subject,sysnotifyt1_.fd_app_name,sysnotifyt1_.fd_type,sysnotifyt1_.fd_create_time) f on t.fd_id = f.fd_id

----- Call Stack Trace -----
calling              call    entry                argument values in hex      
location            type    point                (? means dubious value)    
-------------------- -------- -------------------- ----------------------------

*** 2014-06-20 22:33:42.834
skdstdst()+36        call    kgdsdst()            000000000 ? 000000000 ?
                                                  7FFF5BCF02B8 ? 000000001 ?
                                                  7FFF5BCF47B8 ? 000000000 ?
ksedst1()+98        call    skdstdst()          000000000 ? 000000000 ?
                                                  7FFF5BCF02B8 ? 000000001 ?
                                                  000000000 ? 000000000 ?
ksedst()+34          call    ksedst1()            000000000 ? 000000001 ?
                                                  7FFF5BCF02B8 ? 000000001 ?
【2】问题的解决方法

Metalink上面居然没有发现症状一样的问题,关于ORA-03137的错误,问题有很多,常见的问题有JDBC、绑定变量窥视、ORACLE的BUG等,Metalink也提供了一系列的排查方法,具体如下:

2.1 绑定变量的窥视

解决方法:SQL> alter system set "_optim_peek_user_binds"=false;

弊端:关闭绑定变量的窥视,会导致当SQL语句使用绑定变量的时候,产生的执行计划可能会出现不准,在生产环境中要长期关闭该特性需要认真测试;

2.2 更新数据库最新的PSU,当通过禁用绑定变量后数据库不再报错,可以应用每个数据库最新的PSU。或者当禁用绑定变量的时候也继续报错,也可以考虑应用PSU进行测试;

以下是相关的PSU信息:
PSU 11.1.0.7.8 Patch 12419384 includes Patch:9703463.
For 11.1.0.7, Patch 9243912 can be applied on top of 11.1.0.7.8 ( no conflict).
Patch:9703463  can also be applied individually but requires PSU 11.1.0.7.6 
Patch:8625762  may also be applicable to databases version 11.1.0.7
  2.3 更新数据库到11.2.0.3这个版本 
在ORACLE 11.2.0.3这个版本中可以解决所有的ORA-3137的错误;

2.4 联系ORACLE SUPPORT解决这个问题 经过以上操作,你都踩到这个地雷了,说明楼主平时烧香少,需要联系ORALCE的大神么出手;

【3】总结:经过验证发现运行alter system set "_optim_peek_user_binds"=false后报错就消失了;

其实很多时候我们可以规避这个问题的,因为当初在选择数据库版本的时候,当初没有什么经验直接安装了11.2.0.1这个版本,大家都知道R1版本的BUG是比较多的,R2相对来说会稳定很多,但是在选择数据库的时候,也建议不要选小版本为1的,现在我装数据库的时候一般都会选择11.2.0.3这个版本;

ORA-03137: TTC 协议内部错误: [12333] [4] [49] [51] [] [] [] []的更多相关文章

  1. Oracle ORA-03137: TTC protocol internal error : [12333] 故障分析

    程序通过JDBC 连接数据库异常,报 ORA-03137[12333]的错误. 当前程序的JDBC 驱动版本:ojdbc16-11.2.0.1.0.jar 数据库版本: 11.2.0.3 一. Log ...

  2. TNS-12541: TNS: 无监听程序 TNS-12560: TNS: 协议适配器错误 TNS-00511: 无监听程序

    文章转自:http://www.luocs.com/archives/464.html 此文版权归作者 – yaogang所有,转载请注明yaogang©www.luocs.com. Luocs说:这 ...

  3. Oracle问题之ORA-12560TNS:协议适配器错误

    Oracle问题之ORA-12560TNS:协议适配器错误 一.造成ORA-12560: TNS: 协议适配器错误的问题的原因有三个: 1.监听服务没有起起来.windows平台个一如下操作:开始-- ...

  4. Oracle问题之ORA-12560TNS:协议适配器错误-转载

    作者:@haimishasha本文为作者原创,转载请注明出处:https://www.cnblogs.com/haimishasha/p/5394963.html 目录 Oracle问题之ORA-12 ...

  5. ORA-12560: TNS: 协议适配器错误的解决方法

    ORA-12560: TNS: 协议适配器错误的解决方法 造成ORA-12560: TNS: 协议适配器错误的问题的原因有三个: 1.监听服务没有起起来.windows平台个一如下操作:开始---程序 ...

  6. 安装完ODTwithODAC112012,出现ORA-12560:TNS:协议适配器错误

    参考:http://blog.csdn.net/tan_yixiu/article/details/6762357 操作系统:windows2008 Enterprise 64位 开发工具:VS201 ...

  7. oracle:ora-12560 tns 协议适配器错误

    今天新安装了一个oracle server,实例启动了,监听状态也正常. [oracle@db ~]$ lsnrctl status LSNRCTL for Linux: Version 11.2.0 ...

  8. ORACLE中的Net Configuration Assistant 点击后无反应, sqlplus登录数据库提示Oracle11g ORA-12560: TNS: 协议适配器错误

    首先是对于点击无反应问题: 如果是客户端下的Net Configuration Assistant可用,而服务器端的Net Configuration Assistant等工具不可用的原因如下. 环境 ...

  9. 应用人员反馈报错,ORA-03137: TTC protocol internal error : [12333]

    一.报错现象 应用人员反馈连接不上数据库,连接报错. 我们使用PLSQL发现可以连接数据库,但是数据库DB Alert存在如下报错信息 DB AlertFri Oct :: Errors ): ORA ...

随机推荐

  1. spring开启事务时启动报错SAXParseException

    在启动项目时报解析xml文件异常:   org.xml.sax.SAXParseException: cvc-complex-type.2.4.c 'aop:config'......   由报错提示 ...

  2. 函数式语言(Functional language)简单介绍

    函数式语言(functional language)一类程序设计语言,是一种非冯·诺伊曼式的程序设计语言.函数式语言主要成分是原始函数.定义函数和函数型. 函数式语言有:Haskell,Clean,M ...

  3. Oracle启动和归档模式

    数据库运行 Oracle数据库的完整启动过程是分步骤完成的,包含以下3个步骤: 启动实例–>加载数据库–>打开数据库 因为Oracle数据库启动过程中不同的阶段可以对数据库进行不同的维护操 ...

  4. 学号 20175223 《Java程序设计》第4周学习总结

    学号 20175223 <Java程序设计>第4周学习总结 教材学习内容总结 第五章要点: 要点1:子类与父类:extends.类的树形结构: 要点2:子类的继承性:同一包中与不在同一包中 ...

  5. 关于vuex和Promise reject 或.catch 的报错处理。

    在我们开发过程中,经常会使用vuex来管理接口请求和返回数据. 在vue组件页面使用computed来读取vuex中state的数据. getTaskList({ commit }, payload) ...

  6. python网页爬虫小项目开发

    这是我最近接的一个小项目,花了是整整四天多时间. 任务是将http://www.examcoo.com/index/detail/mid/7网站下所有的试卷里的试题全部提取出来,首先按照题型进行分类, ...

  7. 剑指Offer 3. 从尾到头打印链表 (链表)

    题目描述 输入一个链表,按链表值从尾到头的顺序返回一个ArrayList. 题目地址 https://www.nowcoder.com/practice/d0267f7f55b3412ba93bd35 ...

  8. Locust 集合点

    直接编写接口事务脚本对后台接口进行测试:有时测试需要让所有并发用户完成初始化后再进行压力测试,这就需要类似于LoadRunner中的集合点的概念,由于框架本身没有直接封装,有如下办法实现: from ...

  9. Windows下 安装Jenkins 并发布至docker 实战

    网上的教程基本都是Linux系统下安装Jenkins,并且发布到Linux系统下的docker中, 于是打算在全部windows的环境中,完成Jenkins的持续集成功能. 环境: 服务器环境: wi ...

  10. C语言笔记1

    第一部分 计算机常识 1,人与计算机交流 2,人机交互方式 3,计算机的组成结构 4,计算机的系统组成 5,进制 6,程序和指令  第二部C开发环境 1 人与计算机交流 现实中人与人交流靠语言,那么人 ...