ORA-03137: TTC 协议内部错误: [12333] [48] [9] [91] [] [] [] []

最近系统检查发现有个系统一直在报错:ORA-03137: TTC 协议内部错误: [12333] [48] [9] [91] [] [] [] []
检查trc文件发现有如下问题:
ump file /oracle/app/db/diag/rdbms/oracle1/oracle1/incident/incdir_7497/oracle1_ora_17113_i7497.trc
Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options
ORACLE_HOME = /oracle/app/11.2.0/db_1
System name:    Linux
Node name:      d4jttisvprd01
Release:        2.6.32-358.el6.x86_64
Version:        #1 SMP Tue Jan 29 11:47:41 EST 2013
Machine:        x86_64
VM name:        VMWare Version: 6
Instance name: oracle1
Redo thread mounted by this instance: 1
Oracle process number: 37
Unix process pid: 17113, image: oracle@d4jttisvprd01




*** 2015-04-10 14:31:42.994
*** SESSION ID:(77.17211) 2015-04-10 14:31:42.994
*** CLIENT ID:() 2015-04-10 14:31:42.994
*** SERVICE NAME:(oracle1) 2015-04-10 14:31:42.994
*** MODULE NAME:( SQL Loader Conventional Path Load) 2015-04-10 14:31:42.994
*** ACTION NAME:( d:\hrHFM\ctl\periodic.ctl) 2015-04-10 14:31:42.994


Dump continued from file: /oracle/app/db/diag/rdbms/oracle1/oracle1/trace/oracle1_ora_17113.trc
ORA-03137: TTC ?????’?©????????????????: [12333] [4] [71] [65] [] [] [] []


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


*** 2015-04-10 14:31:43.063
dbkedDefDump(): Starting incident default dumps (flags=0x2, level=3, mask=0x0)
----- SQL Statement (None) -----
Current SQL information unavailable - no cursor.


----- Call Stack Trace -----
calling              call     entry                argument values in hex
location             type     point                (? means dubious value)
-------------------- -------- -------------------- ----------------------------
skdstdst()+41        call     kgdsdst()            000000000 ? 000000000 ?
                                                   7FFF3A97E6F0 ? 7FFF3A97E7C8 ?
                                                   7FFF3A983270 ? 000000002 ?
ksedst1()+103        call     skdstdst()           000000000 ? 000000000 ?
                                                   7FFF3A97E6F0 ? 7FFF3A97E7C8 ?
                                                   7FFF3A983270 ? 000000002 ?
搜了一下,网上太多解决方案,最后在MOS上看到如下解决方案,与我的问题极为相似,数据库版本都是一致的。

The alert logfile shows the following error:

...
Sat Jul 05 11:42:48 2014
Errors in file /oracle_base/diag/rdbms/ORCL/ORCL/trace/ORCL_ora_16057148.trc  (incident=247676):
ORA-03137: TTC protocol internal error: [12333] [50] [9] [7] [] [] [] []
Incident details in: /oracle_base/diag/rdbms/ORCL/ORCL/incident/incdir_247676/ORCL_ora_16057148_i247676.trc
Sat Jul 05 11:42:52 2014
Dumping diagnostic data in directory=[cdmp_20140705114252], requested by (instance=1, osid=16057148), summary=[incident=247676].
...

The errors are occasional: if the load is re-run then it is likely that the sqlldr job now succeeds without errors.

Other possible errors:

ORA-25408: can not safely replay call
ORA-25402: transaction must roll back
ORA-12152: TNS:unable to send break message
ORA-12592  TNS: Bad Packet


CHANGES

You recently upgraded to 11.2.0.4 and are loading data to the database server with SQL*Loader.

The problem is caused by a inconsistency in the SQL*Net layer on the server side, when a data package from the client is read in two different modes (first part in non-fast path mode and second part in fast path mode).
As a result of that, the first part of the package data is lost, resulting in:
ORA-03137: TTC protocol internal error : [12333] [50] [9] [7] [] [] [] []
or
ORA-12592: TNS:BAD PACKET

References:
Bug 18841764 - ORA-12592 TNS:BAD PACKET OR ORA-3137 OR ORA-1 (not a public bug), fixed in 12.2.0.1
Note 18841764.8 - Bug 18841764 - Network related error like ORA-12592 or ORA-3137 or ORA-3106 may be signaled

Other references:
Bug 18483043 - ORA-25408, ORA-25402, ORA-12152 AND ORA-12592 AFTER UPGRADE TO 11.2.0.4, closed as a duplicate of Bug 18841764
Bug 18783135 - SQL*LOADER FAILS WITH ORA-3137, fixed with fix of Bug 18841764, closed as a duplicate of Bug 18841764
Bug 18790512 - ORA-12592 ERRORS AFTER DATABASE UPGRADE TO 11.2.0.4

SOLUTION

1. Confirm that the workaround of Bug 18841764 actually fixes the problem.
Set in the Server side sqlnet.ora file following parameter:

File: sqlnet.ora (server side)
--------------------------------
...
SQLNET.SEND_TIMEOUT=600

This file is located in the directory: $ORACLE_HOME/network/admin

2. Retest the issue by re-running the SQL*Loader loads.

3. If the problem is fixed, and you need to remove the entry SQLNET.SEND_TIMEOUT from the sqlnet.ora file on the server, then apply Patch 18841764 if available for your platform and version (or request this fix from Oracle Support), and re-run the SQL*Loader job.

4. Migrate the solution as appropriate to other environments.


参考自: Occasional ORA-12592 (TNS:BAD PACKET) and ORA-03137 [12333] When Running SQL*Loader Jobs (Doc ID 1905674.1)

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/28612416/viewspace-1821257/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/28612416/viewspace-1821257/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值