程序通过JDBC 连接数据库异常,报 ORA-03137[12333]的错误。

当前程序的JDBC 驱动版本:ojdbc16-11.2.0.1.0.jar

数据库版本: 11.2.0.3

一. Log 信息

1.1 alert log

TNS-12637: Packet receive failed

ns secondary err code: 12532

nt main err code: 0

nt secondary err code: 0

nt OS err code: 0

opiodr aborting process unknown ospid(28518) as a result of ORA-609

Fri Aug 09 15:41:20 2013

Errors in file /u01/app/oracle/diag/rdbms/tserpdb/tserpdb/trace/tserpdb_ora_28329.trc  (incident=60746):

ORA-03137: TTC protocolinternal error : [12333] [19] [3] [14] [] [] [] []

Incident details in:/u01/app/oracle/diag/rdbms/tserpdb/tserpdb/incident/incdir_60746/tserpdb_ora_28329_i60746.trc

Fri Aug 09 15:41:21 2013

Sweep [inc][60746]: completed

Sweep [inc2][60746]: completed

Fri Aug 09 15:41:21 2013

Dumping diagnostic data indirectory=[cdmp_20130809154121], requested by (instance=1, osid=28329),summary=[incident=60746].

Fri Aug 09 15:59:42 2013

1.2 trace 文件

Dump file/u01/app/oracle/diag/rdbms/tserpdb/tserpdb/incident/incdir_60746/tserpdb_ora_28329_i60746.trc

Oracle Database 11g Enterprise EditionRelease 11.2.0.3.0 - 64bit Production

With the Partitioning, Automatic StorageManagement, OLAP, Data Mining

and Real Application Testing options

ORACLE_HOME =/u01/app/oracle/product/11.2.0/dbhome_1

System name:    Linux

Node name:  sh-tsiagent-003180

Release:    2.6.18-308.el5

Version:    #1SMP Tue Feb 21 20:06:06 EST 2012

Machine:    x86_64

Instance name: tserpdb

Redo thread mounted by this instance: 1

Oracle process number: 92

Unix process pid: 28329, image:oracle@sh-tsiagent-003180

*** 2013-08-09 15:41:20.138

*** SESSION ID:(1911.53519) 2013-08-0915:41:20.138

*** CLIENT ID:() 2013-08-09 15:41:20.138

*** SERVICE NAME:(tsdb3180.develop)2013-08-09 15:41:20.138

*** MODULE NAME:(JDBC Thin Client)2013-08-09 15:41:20.138

*** ACTION NAME:() 2013-08-09 15:41:20.138

Dump continued from file:/u01/app/oracle/diag/rdbms/tserpdb/tserpdb/trace/tserpdb_ora_28329.trc

ORA-03137: TTC protocol internal error :[12333] [19] [3] [14] [] [] [] []

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

*** 2013-08-09 15:41:20.139

dbkedDefDump(): Starting incident defaultdumps (flags=0x2, level=3, mask=0x0)

----- Current SQL Statement for thissession (sql_id=35tr4jfq0x3jw) -----

select mpzone0_.ZONEID as ZONEID83_0_,mpzone0_.AREACODE as AREACODE83_0_, mpzone0_.CARDTYPE as CARDTYPE83_0_,mpzone0_.city as city83_0_, mpzone0_.province as province83_0_ fromIAGENT.MPZONE mpzone0_ where mpzone0_.ZONEID=:1

----- Call Stack Trace -----

calling              call     entry                argument values in hex

location             type     point                (? means dubious value)

-------------------- ---------------------------- ----------------------------

skdstdst()+36        call    kgdsdst()            000000000 ?000000000 ?

7FFF91403248 ? 000000001 ?

000000001 ?000000002 ?

__libc_start_main()  call    main()               000000002 ?7FFF91414458 ?

+244                                              000000001 ? 000000000 ?

009B910C0 ? 000000000 ?

_start()+36          call     __libc_start_main()  000A0AF38 ? 000000002 ?

7FFF91414448 ? 000000000 ?

009B910C0 ? 000000002 ?

--------------------- Binary Stack Dump---------------------

========== FRAME [1] (skdstdst()+36 ->kgdsdst()) ==========

defined by frame pointers0x7fff91407b00  and 0x7fff91407af0

CALL TYPE: call   ERROR SIGNALED: no   COMPONENT: (null)

RDI 0000000000000000 RSI 0000000000000000RDX 00007FFF91403248

RCX 0000000000000001 R8 0000000000000001 R90000000000000002

RAX 0000000000000000 RBX 0000000000000003RBP 00007FFF91407B00

R10 00007FFF913FFA80 R11 0000000000000000R12 0000000000000003

R13 0000000000000002 R14 0000000000000000R15 0000000000000001

RSP 00007FFF91407B00 RIP 0000000006772B38

Dump of memory from 0x7fff91407af0 to0x7fff91407b00

7FFF91407AF0 91407B00 00007FFF 06772B3D00000000  [.{@.....=+w.....]

========== FRAME [2] (ksedst1()+98 ->skdstdst()) ==========

defined by frame pointers0x7fff91407bb0  and 0x7fff91407b00

CALL TYPE: call   ERROR SIGNALED: no   COMPONENT: KSE

1.3 Java 错误

org.springframework.transaction.TransactionSystemException:Could not commit Hibernate transaction; nested exception isorg.hibernate.TransactionException: JDBC commit failed

org.springframework.orm.hibernate3.HibernateTransactionManager.doCommit(HibernateTransactionManager.java:660)

org.springframework.transaction.support.AbstractPlatformTransactionManager.processCommit(AbstractPlatformTransactionManager.java:754)

org.springframework.transaction.support.AbstractPlatformTransactionManager.commit(AbstractPlatformTransactionManager.java:723)

org.springframework.transaction.interceptor.TransactionAspectSupport.commitTransactionAfterReturning(TransactionAspectSupport.java:394)

.

.

.

java.sql.SQLRecoverableException:No more data to read from socket

oracle.jdbc.driver.T4CMAREngine.unmarshalUB1(T4CMAREngine.java:1200)

oracle.jdbc.driver.T4CMAREngine.unmarshalSB1(T4CMAREngine.java:1155)

oracle.jdbc.driver.T4CTTIfun.receive(T4CTTIfun.java:279)

oracle.jdbc.driver.T4CTTIfun.doRPC(T4CTTIfun.java:186)

oracle.jdbc.driver.T4C7Ocommoncall.doOCOMMIT(T4C7Ocommoncall.java:75)

oracle.jdbc.driver.T4CConnection.doCommit(T4CConnection.java:558)

oracle.jdbc.driver.PhysicalConnection.commit(PhysicalConnection.java:3674)

oracle.jdbc.driver.PhysicalConnection.commit(PhysicalConnection.java:3680)

org.apache.tomcat.dbcp.dbcp.DelegatingConnection.commit(DelegatingConnection.java:334)

org.apache.tomcat.dbcp.dbcp.PoolingDataSource$PoolGuardConnectionWrapper.commit(PoolingDataSource.java:211)

org.hibernate.transaction.JDBCTransaction.commitAndResetAutoCommit(JDBCTransaction.java:166)

二.解决方法

在MOS上搜了一下,该问题与Bug9445675 非常像。

Bug 9445675  NO MOREDATA TO READ FROM SOCKET WHEN USING END-TO-END METRICS

This bug does affect the JDBC driver. This bug may be the cause when all of the following conditions are met:

1)  You are using the 10.1.x.x orthe 11.2.0.1 JDBC driver; the bug does not affect 10.2.x.x, or 11.1.x.xversions of the driver, nor versions 11.2.0.2 or above

2)  You are using end-to-endmetrics in your Java code

3)  The server side ORA-3137[12333] error is accompanied by the client side Java exception "No moredata to read from socket"

This bug is fixed in the11.2.0.2 version of the JDBC driver and above.

而当前版本的JDBC Driver 也是:11.2.0.1.0。 所以将JDBC DRIVER升级到11.2.0.2 之后,故障解决。

参考MOS:

Understanding and Diagnosing ORA-00600[12333]  ORA-3137 [12333] Errors (文档 ID 389713.1)

ORA-03137 TTC Protocol Internal Error  [12333] Using JDBC Driver (文档 ID 752297.1)

Troubleshooting ORA-3137 [12333] ErrorsEncountered When Using Oracle JDBC Driver (文档 ID1361107.1)

--------------------------------------------------------------------------------------------

版权所有,文章允许转载,但必须以链接方式注明源地址,否则追究法律责任!

QQ:      251097186

Skype:    tianlesoftware

Email:    tianlesoftware@gmail.com

Blog:     http://blog.csdn.net/tianlesoftware

Weibo:    http://weibo.com/tianlesoftware

Twitter:  http://twitter.com/tianlesoftware

Facebook: http://www.facebook.com/tianlesoftware

Linkedin: http://cn.linkedin.com/in/tianlesoftware

Oracle ORA-03137: TTC protocol internal error : [12333] 故障分析的更多相关文章

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

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

  2. ORA-00600: internal error code, arguments: [4194], [53], [41], [], [], [], [], []

    真的不动,关闭同事开发测试IBM 3650server它直接关系到电源插头行??? 第二天加点重新启动之后oracle 打开报错ORA-00600: internal error code, argu ...

  3. 07 oracle 归档模式 inactive/current redo log损坏修复--以及错误ORA-00600: internal error code, arguments: [2663], [0], [9710724], [0], [9711142], [], [], [], [], [], [], []

    07 oracle 归档模式 inactive/current redo log损坏修复--以及错误ORA-00600: internal error code, arguments: [2663], ...

  4. oracle plsql 无法连接 报 ORA-12560: TNS:protocol adapter error

    ORA-12560: TNS:protocol adapter error 添加一个环境变量,名为TNS_ADMIN,值为 tnsnames.ora 文件所在路径.比如我的本机为:D:/instant ...

  5. oracle 断电启动失败:ORA-00600: internal error code, arguments

    转载地址: http://www.2cto.com/database/201312/261602.html 由于服务器断电,启动 oracle 时报 ORA-00600 错误 查看 oracle tr ...

  6. ORA-00600: internal error code, arguments: [4194]

    使用PlateSpin复制出来的一数据库服务器(Oracle 10g)在启动数据库实例时遇到"ORA-00600: internal error code, arguments: [4194 ...

  7. ORA-00600: internal error code, arguments: [17281], [1001], [0x1FF863EE8], [], [], [], [], []

    我们生产服务器中的一个数据库发出监控告警日志的邮件,内容如下所示,在31号09:11分出现了大名鼎鼎的ORA-00600错误. Dear All: The Instance xxx' alert lo ...

  8. ORA-00600: internal error code, arguments: [LibraryCacheNotEmptyOnClose]

      案例环境: 操作系统版本: Red Hat Enterprise Linux ES release 4 数据库版本  : 10.2.0.4.0 32 bit 案例介绍: 今天我执行stop_ora ...

  9. 启动监听报错:TNS-12537: TNS:connection closed TNS-12560: TNS:protocol adapter error TNS-00507: Connection closed Linux Error: 29: Illegal seek

    启动监听程序报错: 说明:在rhel5.8上安装完成oracle11g数据库后,使用netca创建完监听,启动监听时报错.还未使用dbca创建实例. [oracle@rusky-oracle11g ~ ...

随机推荐

  1. [转]Ubuntu Tweak 0.8.7 发布:支持 Ubuntu 14.04

    原文网址:http://www.oschina.net/news/51054/ubuntu-tweak-0-8-7 这是我开发 Ubuntu Tweak 七年以来第一次没在 Ubuntu 正式发布之前 ...

  2. [Javascript] How to use JavaScript's String.replace

    In JavaScript, you can change the content of a string using the replace method. This method signatur ...

  3. JavaLearning:JAVA IO Piped流

    package org.fun.io; import java.io.IOException; import java.io.PipedInputStream; import java.io.Pipe ...

  4. bat处理文件

    bat处理文件 作用:可以一次性执行多个命令的文件. 为什么要学bat处理文件? 快速运行一个软件一般都会把软件打包一个jar包,但是jar双击可以运行仅对图形化界面的软件起作用,对于控制台的程序是不 ...

  5. 你所不知道的java编程思想

    读thinking in java这本书的时候,有这么一句话“在编译单元的内部,可以有一个公共(public)类,它必须拥有与文件相同的名字” 有以下疑问: 在一个类中说可以有一个public类,那是 ...

  6. tomcat配置数据源

    1.修改conf下的context.xml,在<context>标签中添加: <Resource name="jdbc/soa" auth="Conta ...

  7. 单例模式(Singleton)详解——转载

    单例模式(Singleton) 首先来明确一个问题,那就是在某些情况下,有些对象,我们只需要一个就可以了, 比如,一台计算机上可以连好几个打印机,但是这个计算机上的打印程序只能有一个, 这里就可以通过 ...

  8. c# 代码执行时间

    Stopwatch sw = new Stopwatch(); sw.Start(); Thread.Sleep(2000); sw.Stop(); System.Diagnostics.Trace. ...

  9. Java数据结构漫谈-ArrayList

    ArrayList是一个基于数组实现的链表(List),这一点可以从源码中看出: transient Object[] elementData; // non-private to simplify ...

  10. java Math.random()随机数的产生

    Math.random()是java内置产生随机数的函数,Math.random()能够产生[0,1)的浮点数,当我们要产生特定范围的数时,可以采用如下办法: 1.Math.random()*(最大数 ...