ora-600[12333]错误小结及跟踪方法

该错误,是当服务器接收到无法识别的网络代码或请求时引起Oracle发出的告警  ,主要原因来自于网络,
与Oracle 本身没有关系。
如果该错误持续出现,建议用以下代码进行跟踪,有可能是病毒引发的:
===========================================
create table
SYSTEM.login_info
( logindatetime date,
LogoffDateTime Date,
LoggedUser Varchar2(30),
SESSIONID Number,
TERMINAL varchar2(20),
ip       varchar2(16),
PROGRAM varchar2(20)
);
--------------------------------------------------------------------
CREATE OR REPLACE TRIGGER logoff_audit Before LOGOFF ON DATABASE
BEGIN
insert into system.login_info
select
'',sysdate,user,sys_context('USERENV','SESSIONID'),sys_context('USERENV'
,'TERMINAL'),utl_inaddr.get_host_address, program from v$session where logon_time = (select
logindatetime from SYSTEM.login_info where SESSIONID=
sys_context('USERENV','SESSIONID'));
END;
---------------------------------------------------------------------
CREATE OR REPLACE TRIGGER logon_audit AFTER LOGON ON DATABASE
BEGIN
insert into system.login_info
select sysdate,null,user,sys_context('USERENV','SESSIONID'),sys_context(
'USERENV','TERMINAL'),utl_inaddr.get_host_address,program from v$session;
END;
==============================================================

其他可能原因:
Typically the ORA-600 [12333] itself is not the problem,
It may be a chance of the underlying network problems
This is usually a client side related issue and is not normally related to server. It is a communications issue and not related to the version of the RDBMS. Thats why you do have this errors intermittently only.

Most occurances of ORA-600 [12333] just means that something has
gone wrong in the communication between the client and the server processes. Often, this could be the result of an abnormal condition (a process is inadvertently killed, or a database shuts down)

The error indicates a protocol communications mismatch

<Note:112660.1>

PURPOSE
-------

This paper describes one known reason of frequent occurence of ORA-600 [12333]
errors.
NOTE: There may exist many other issues however.

SCOPE & APPLICATION
-------------------

Support Analysts and DBAs.


ORA-600 [12333] in case of termination of user sessions
-------------------------------------------------------

ORA-600 [12333] may occur in case of abnormal termination of user
sessions, eg. shutdown immediate, forced disconnections etc.


Frequent ORA-600 [12333] in case of using resource limit
--------------------------------------------------------

Using user profiles and resource_limit=true may cause frequent ORA-600 [12333]occurence. We may also see many SNIPPED session in V$SESSION. For those ones resources are not freed until any server related action is taken at the client side. It seems that ORA-600 [12333] appears while sending ORA-1012 or ORA-2396 messages to the client process.

If we really have to use user profiles to enforce resource limit policies(especially idle time) we'd better proactively remove such sessions.
For now, the only found way preventing from ORA-600 [12333] occurence
caused by resource_limit issue is killing processes related to SNIPPED sessions at OS level. This implies it is applicable only to the DEDICATED server processes. Killing shadow processes for SNIPPED sessions is explained in <Note:96170.1>.

NOTE: Killing shadow processes only decreases the likehood of ORA-600 [12333] occurence. It is a workaround.


Couple of suggestion
=======================

1)Check the network errors, their should be any errors or protocol mismatch

2)Check the NLS settings on client as well as server side settings
ORA_NLS (ORA_NLS32, ORA_NLS33) Environment Variables.

Article-ID: <Note:77442.1>
Title: ORA_NLS (ORA_NLS32, ORA_NLS33) Environment Variables

3)NO users should disconnect abnormally.
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值