I got ” ORA-03137: TTC protocol internal error ” error in Oracle database.
ORA-03137: TTC protocol internal error
Details of error are as follows.
ORA-03137 TTC protocol internal error: [%s] [%s] [%s] [%s] [%s] [%s] [%s] [%s]" Cause: TTC protocol internal error. Action: Contact Oracle Support
TTC protocol internal error
This ORA-04063 errors are related with the TTC protocol internal error.
This is a bug investigated by Development in 12.1 Bug 23220453 : ORA-3137: TTC PROTOCOL INTERNAL ERROR: [12333].
The SQL that skipped reading bind data had a construct like “insert into … select :b1 … UNION ALL select :b1 …”.
Analysis by OCI experts revealed that the (left over) data was unread bind data passed by DB-client during execution of previous statement.
To solve this error, you should download and apply Patch 23220453: ORA-3137: TTC PROTOCOL INTERNAL ERROR: [12333] for your platform and version.
To check for conflicting patches, please use the MOS Patch Planner Tool
Please refer to
Note 1317012.1 – How To Use MOS Patch Planner To Check And Request The Conflict Patches?
If no patch exists for your version, please contact Oracle Support for a backport request.
The fix for Bug 23220453 is first included in:
– 12.2.0.1 (Base Release)
– 12.1.0.2.170117 (Jan 2017) Database Patch Set Update (DB PSU)
– 12.1.0.2.170117 (Jan 2017) Database Proactive Bundle Patch
– 12.1.0.2.170117 (Jan 2017) Bundle Patch for Windows Platforms
Known Database Issues
Unpublished Bug 8625762 – ORA-3137 [12333] due to bind data not read from wire
This bug affects RDBMS version lower than version 11.2. It is fixed in version 11.2 of the database.
It can occur intermittently, due to bind data being left unread database connection. This is a bind peeking bug.
This bug is also known for causing
ORA-3137: TTC protocol internal error : [1010] [] [] [] [] [] [] []
Unpublished Bug 9703463 – ORA-3137 [12333] or ORA-600 [kpobav-1] When Using Bind Peeking
This bug affects versions 11.1.0.6, 11.1.0.7, and 11.2.0.1 of the RDBMS. It is fixed in version 11.2.0.2 of the database.
It can also occur intermittently; similarly to unpublished Bug:8625762, this is a bind peeking bug.
Unpublished Bug:9243912 – Additional diagnostics for ORA-3137 [12333] / OERI:12333
This bug affects versions of the RDBMS lower than version 11.2.0.2. It is fixed in version 11.2.0.2 of the database.
This bug addresses scenarios in which the ORA-3137 [12333] error occur bind issues during the client/server communication process. When this particular bug is fixed, the result may be the uncovering of an additional, more descriptive error: ORA-600 [kpobav-1]
Bug 7390077 ORA-03137: TTC PROTO INTERNAL ERROR: [12333] [8] [80] [65]
This bug affects the RDBMS 11.1.0.6 and is resolved with RDBMS 11.1.0.7.
typical errors:
ORA-03137: TTC protocol internal error : [12333] [10] [83] [74] [] [] [] []
ORA-03137: TTC protocol internal error : [12333] [7] [120] [108] [] [] [] []
example stack:
DELETE FROM PORTAL_CONCURRENT_USER_SCRATCH
WHERE LAST_LOGIN < :intervalStartDate
—– Call Stack Trace —–
calling call entry argument values in hex
location type point (? means dubious value)
——————– ——– ——————– —————————-
skdstdst()+002c bl 105e2771c
ksedst1()+0064 bl 101fad134
ksedst()+0028 bl ksedst1() 60000B8104C4A30 ?
600000002050032 ?
dbkedDefDump()+07fc bl 101fae954
ksedmp()+0048 bl 101fad130
opiierr()+0168 bl ksedmp() 000000000 ?
opitsk()+1344 bl 103ec9a5c
opiino()+09a0 bl opitsk() 110098B40 ? 000000000 ?
opiodr()+0b48 bl 103ec7a30
opidrv()+0440 bl opiodr() 3C61672F72 ? 41032E668 ?
A common thread through the database bugs listed above is that the problem does not occur if bind peeking is shut off. Temporarily disabling bind peeking allows you to confirm whether this is the case in your environment as well.
This can be done dynamically:
SQL> alter system set "_optim_peek_user_binds"=false;
If the ORA-3137 [12333] error no longer reproduces after disabling bind peeking, then in most cases, the problem is due to one of the database bugs listed above, or due to some variant of one of those bugs.
Do you want to learn Oracle Database for Beginners, then read the following articles.
Oracle Tutorial | Oracle Database Tutorials for Beginners ( Junior Oracle DBA )