Understanding and Diagnosing ORA-00600 [12333] / ORA-3137 [12333] Errors (文档 ID 389713.1)
2016-01-07 14:15
846 查看
In this Document
Oracle Database - Enterprise Edition - Version 8.1.7.4 and later
Information in this document applies to any platform.
***Checked for relevance on 16-Jun-2014***
This article will discuss the common causes and troubleshooting tips for ORA-00600 [12333]/ORA-3137 error. ORA-3137[12333] in 11g is the same as ORA-600 [12333] and the same diagnostic steps apply.
ORA-00600 [12333] can occur with three additional numeric values when a request is being received from a network packet and the request code in the packet is not recognized.
For any ONE-TIME occurrence we can safely ignore the error. This error does not cause to any potential data corruption or any data loss. Check Note
35928.1 for known issues and two basic usages of OERI(12333):
Usage with 3 additional numeric values
Usage with 4 additional values ... new since 8.0.X
In case the errors are seen consistently and no known issues matches to your issue then do the following
Common Causes & Solutions:
1. Check the client software version. An incompatible client software is a common cause of this error. Upgrade the client software to current version (i.e. match the server version).
The following note explains the supported combinations of clients for a particular RDBMS Server release.
Note 207303.1 Client / Server / Interoperability Support Between Different Oracle Versions
Similar issues are reported when the client installation is faulty.
2. An incompatible NLS Client setting can also trigger such internal errors. Check the NLS settings as explained in the following note.
Note 77442.1 ORA_NLS (ORA_NLS32, ORA_NLS33, ORA_NLS10) Environment Variables explained
3. There are a number of bugs associated with the use of bind peeking. Turn off bind peeking as follows:
alter system set "_optim_peek_user_binds"=false;
4. Please review your listener.log and SQLNET log for network errors at the time of the ORA-600[12333] errors. Correct these errors.
Try to reproduce the issue from a different client machine, preferably from server. This will rule out the possibility of bad network. If the
execution fails from a particular client then it could be due to the bad network from that client to server. The error ORA-600[12333] could occur when a request is being received from a network packet and the request code in the packet is not recognized.
5. Ask your sysadmin to correct any network delays. A slow network can lead to this error.
6. If the error still continues , then do the following to understand from where the error is generated.
We need to understand which session/program/application that triggers this issue. This shall be found from the trace files under the session state object '(session)'. Sometimes the ORA-00600 [12333] trace files will not capture the session information.
In such cases we can check with the end users about any issues around the time-frame of this internal error.
There is a HIGH chance for application run-time exception to lead to this ORA-00600 [12333]. Due to the unhandled exceptions there is a chance for incomplete information passed to the server hence the internal errors are raised. In such cases, handling
those exceptions (or) addressing those errors on the application code will resolve the issue.
In few cases, the problem application will work for a while before it terminates with the error. This could be due to the TIMEOUT settings at the Application Server (or) Forms Server.,etc. To resolve this either tune the failing application to complete
within the TIMEOUT value (or) reset the TIMEOUT to an optimal value.
There could be more possibilities here; in simple words the approach should be from application side, which would help us to understand the other issues that triggered this network interruption (ORA-00600 [12333]).
Check the 'Current SQL Statement' section of the incident trace files. Does each trace file point to the same SQL statement. If so, there may be a problem with the code.
7. If you notice JDBC Client as the failing program under Session state object, please check the following
That you use latest compatible version of JDBC Drivers in your application side.
Note 430839.1 to verify the version of JDBC Drivers and for Installation steps.
Monitor and try to handle correctly the timeouts from the application
Check that idle or died programs/processes are not just killed at the client side but using a good cleaning procedure.
Increase queue sizes / buffers and similar from the jdbc side.
Further diagnostics regarding JDBC Application driver can be found:
Note 1361107.1 Suggestions For Troubleshooting ORA-3137 [12333] Errors Encou
4000
ntered When Using Oracle JDBC Driver
8. For database version 11.2.0.4 and above, you may encounter this error during a SQL*Net TCP/IP transport.
To determine if you encountered this bug, check your alert log for
ORA-12592 or ORA-3106
and check your incident trace file for
'SQL*Net TCP/IP' or 'TCP/IP'
If any of these exist, proceed with the solution below:
1.
The fix for 18841764 will be included in 12.2 database release. This was not available at the time of writing.
2.
Download and apply patch 18841764 if it is available for your platform.
3.
Workaround the error by setting
sqlnet.send_timeout to any value except 0 on the server and client. In a previous incident setting it to 600 resolved the issue.
9. In-case if all the above suggestions does not help to identify the cause, and the ORA-00600 [12333] persists we may need to enable the networking tracings from the problem client and need to review the network
traces to understand where the problem occurs. See Note 219968.1 Title: SQL*Net, Net8, Oracle Net Services - Tracing and Logging
at a Glance. Check the network logs for errors and fix them with the network administrator.
E.g.:
ifconfig -a
=======
eth0 Link encap:Ethernet HWaddr ...
...
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:7855996 errors:288 dropped:291 overruns:0 frame:0
TX packets:9874201 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:1325085201 (1263.6 Mb) TX bytes:1313633137 (1252.7 Mb)
Interrupt:9 Base address:0x1080
In this case the network administrator should investigate the RX packets errors listed above (RX packets:7855996 errors:288 dropped:291).
NOTE:752297.1 - ORA-03137: TTC Protocol
Internal Error : [12333] Using JDBC Driver
NOTE:1361107.1 - Troubleshooting
ORA-3137 [12333] Errors Encountered When Using Oracle JDBC Driver
NOTE:207303.1 - Client / Server Interoperability
Support Matrix for Different Oracle Versions
NOTE:35928.1 - ORA-600 [12333] "Fatal
Two-Task Protocol Violation"
NOTE:77442.1 - ORA_NLS (ORA_NLS32,
ORA_NLS33, ORA_NLS10) Environment Variables explained.
NOTE:430839.1 - Providing a JDBC Testcase
to Oracle Support
NOTE:219968.1 - SQL*Net & Oracle Net
Services - Tracing and Logging at a Glance
NOTE:1927582.1 - ORA-3137 [12333]
from JDE client
Purpose |
Troubleshooting Steps |
References |
APPLIES TO:
Oracle Database - Enterprise Edition - Version 8.1.7.4 and laterInformation in this document applies to any platform.
***Checked for relevance on 16-Jun-2014***
PURPOSE
This article will discuss the common causes and troubleshooting tips for ORA-00600 [12333]/ORA-3137 error. ORA-3137[12333] in 11g is the same as ORA-600 [12333] and the same diagnostic steps apply.ORA-00600 [12333] can occur with three additional numeric values when a request is being received from a network packet and the request code in the packet is not recognized.
TROUBLESHOOTING STEPS
For any ONE-TIME occurrence we can safely ignore the error. This error does not cause to any potential data corruption or any data loss. Check Note35928.1 for known issues and two basic usages of OERI(12333):
Usage with 3 additional numeric values
Usage with 4 additional values ... new since 8.0.X
In case the errors are seen consistently and no known issues matches to your issue then do the following
Common Causes & Solutions:
1. Check the client software version. An incompatible client software is a common cause of this error. Upgrade the client software to current version (i.e. match the server version).
The following note explains the supported combinations of clients for a particular RDBMS Server release.
Note 207303.1 Client / Server / Interoperability Support Between Different Oracle Versions
Similar issues are reported when the client installation is faulty.
2. An incompatible NLS Client setting can also trigger such internal errors. Check the NLS settings as explained in the following note.
Note 77442.1 ORA_NLS (ORA_NLS32, ORA_NLS33, ORA_NLS10) Environment Variables explained
3. There are a number of bugs associated with the use of bind peeking. Turn off bind peeking as follows:
alter system set "_optim_peek_user_binds"=false;
4. Please review your listener.log and SQLNET log for network errors at the time of the ORA-600[12333] errors. Correct these errors.
Try to reproduce the issue from a different client machine, preferably from server. This will rule out the possibility of bad network. If the
execution fails from a particular client then it could be due to the bad network from that client to server. The error ORA-600[12333] could occur when a request is being received from a network packet and the request code in the packet is not recognized.
5. Ask your sysadmin to correct any network delays. A slow network can lead to this error.
6. If the error still continues , then do the following to understand from where the error is generated.
We need to understand which session/program/application that triggers this issue. This shall be found from the trace files under the session state object '(session)'. Sometimes the ORA-00600 [12333] trace files will not capture the session information.
In such cases we can check with the end users about any issues around the time-frame of this internal error.
There is a HIGH chance for application run-time exception to lead to this ORA-00600 [12333]. Due to the unhandled exceptions there is a chance for incomplete information passed to the server hence the internal errors are raised. In such cases, handling
those exceptions (or) addressing those errors on the application code will resolve the issue.
In few cases, the problem application will work for a while before it terminates with the error. This could be due to the TIMEOUT settings at the Application Server (or) Forms Server.,etc. To resolve this either tune the failing application to complete
within the TIMEOUT value (or) reset the TIMEOUT to an optimal value.
There could be more possibilities here; in simple words the approach should be from application side, which would help us to understand the other issues that triggered this network interruption (ORA-00600 [12333]).
Check the 'Current SQL Statement' section of the incident trace files. Does each trace file point to the same SQL statement. If so, there may be a problem with the code.
7. If you notice JDBC Client as the failing program under Session state object, please check the following
That you use latest compatible version of JDBC Drivers in your application side.
Note 430839.1 to verify the version of JDBC Drivers and for Installation steps.
Monitor and try to handle correctly the timeouts from the application
Check that idle or died programs/processes are not just killed at the client side but using a good cleaning procedure.
Increase queue sizes / buffers and similar from the jdbc side.
Further diagnostics regarding JDBC Application driver can be found:
Note 1361107.1 Suggestions For Troubleshooting ORA-3137 [12333] Errors Encou
4000
ntered When Using Oracle JDBC Driver
8. For database version 11.2.0.4 and above, you may encounter this error during a SQL*Net TCP/IP transport.
To determine if you encountered this bug, check your alert log for
ORA-12592 or ORA-3106
and check your incident trace file for
'SQL*Net TCP/IP' or 'TCP/IP'
If any of these exist, proceed with the solution below:
1.
The fix for 18841764 will be included in 12.2 database release. This was not available at the time of writing.
2.
Download and apply patch 18841764 if it is available for your platform.
3.
Workaround the error by setting
sqlnet.send_timeout to any value except 0 on the server and client. In a previous incident setting it to 600 resolved the issue.
9. In-case if all the above suggestions does not help to identify the cause, and the ORA-00600 [12333] persists we may need to enable the networking tracings from the problem client and need to review the network
traces to understand where the problem occurs. See Note 219968.1 Title: SQL*Net, Net8, Oracle Net Services - Tracing and Logging
at a Glance. Check the network logs for errors and fix them with the network administrator.
E.g.:
ifconfig -a
=======
eth0 Link encap:Ethernet HWaddr ...
...
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:7855996 errors:288 dropped:291 overruns:0 frame:0
TX packets:9874201 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:1325085201 (1263.6 Mb) TX bytes:1313633137 (1252.7 Mb)
Interrupt:9 Base address:0x1080
In this case the network administrator should investigate the RX packets errors listed above (RX packets:7855996 errors:288 dropped:291).
REFERENCES
NOTE:752297.1 - ORA-03137: TTC ProtocolInternal Error : [12333] Using JDBC Driver
NOTE:1361107.1 - Troubleshooting
ORA-3137 [12333] Errors Encountered When Using Oracle JDBC Driver
NOTE:207303.1 - Client / Server Interoperability
Support Matrix for Different Oracle Versions
NOTE:35928.1 - ORA-600 [12333] "Fatal
Two-Task Protocol Violation"
NOTE:77442.1 - ORA_NLS (ORA_NLS32,
ORA_NLS33, ORA_NLS10) Environment Variables explained.
NOTE:430839.1 - Providing a JDBC Testcase
to Oracle Support
NOTE:219968.1 - SQL*Net & Oracle Net
Services - Tracing and Logging at a Glance
NOTE:1927582.1 - ORA-3137 [12333]
from JDE client
相关文章推荐
- ios FMDB数据库
- linux入侵检测
- Delphi内嵌汇编语言BASM精要(转帖)
- tools:context的作用
- 我所理解的大学学习与创业
- linux screen 命令详解
- java源码分析之HashSet和LinkedHashSet
- LintCode: Single Number II
- js将金额专成每隔3位数加逗号
- 5.1.1. Using Lists as Stacks(像栈一样)
- 会声会影 X5 基本用法
- NSScanner类的基本用法
- 为什么Rest的出现影响今天的互联网,以及Web的发展历程
- git代码提交
- Duilib 入门
- 一个男人关心的东西 决定了他的层次
- c++位运算
- 线性哈希-line hash
- 新线程网络请求,回调方法在主线程中进行
- Appium自动化测试工具环境配置[Android]