Solved

ORA-00600 problem

Posted on 2004-08-12
2
2,660 Views
Last Modified: 2009-12-16
I have a java program to select the data from the db for every 15 secs, however after running for 1-2 days, it throws the following exception:

java.sql.SQLException: ORA-02068: following severe error from TECH02
ORA-00600: internal error code, arguments: [1236], [], [], [], [], [], [], []


I know that it is a internal error, but how can I know why it will happen?
0
Comment
Question by:rickychow
2 Comments
 
LVL 47

Expert Comment

by:schwertner
Comment Utility
The ORA-600 [1236] is generated for any session that is currently in the progress to logout from the database. Oracle is pushing a user call to a stack and discovers that there is already a current call present. This error means that a previous call has not been deleted properly. The reason for this error can also be a missing column within table sys.mon_mods$.

Many causes. One of them is defect patching of Oracle 9i. Especially if before patching you do not increase Shared Pool and Java Pool at least to 150 MB and do not ensure at least 10MB free space in SYSTEM tablespace.

So you have to publish the Oracle version. To check if the patching was done correctly (it is easy to do the patch again but make a full cold backup before this - this is DBA task!).
Generally speaking ORA-600 is a caused by Oracle bugs and the best way is to patch Oracle and JDBC drivers.
0
 
LVL 13

Accepted Solution

by:
anand_2000v earned 125 total points
Comment Utility
Oracle Server - Enterprise Edition - Version: 9.2.0.5
This problem can occur on any platform.
Errors
ORA-00600
ORA-00904
[1236]
Symptoms
The following symptoms were logged inside the alert logfile:

1. SMON permanently logs the following errors with a interval of 10 seconds:

   Tue Jun 22 09:02:19 2004
   Errors in file /d/db/app/oracle/admin/oss/bdump/oss_smon_2720.trc:
   ORA-00904: "DROP_SEGMENTS": invalid identifier
   Tue Jun 22 09:02:30 2004
   Errors in file /d/db/app/oracle/admin/oss/bdump/oss_smon_2720.trc:
   ORA-00904: "DROP_SEGMENTS": invalid identifier
   Tue Jun 22 09:02:40 2004
   Errors in file /d/db/app/oracle/admin/oss/bdump/oss_smon_2720.trc:
   ORA-00904: "DROP_SEGMENTS": invalid identifier

2. ORA-00600 with argument [1236] were logged
   *** 2004-06-22 13:24:52.425
   ksedmp: internal or fatal error
   ORA-00600: internal error code, arguments: [1236], [], [], [], [], [], [], []

   The trace file doesn't show a failing command.

   Call Stack Trace
   ~~~~~~~~~~~~~~~~
   ksedmp ksfdmp kgeriv kgesiv ksesic0
   ksupucg opilof opiodr ttcpip opitsk opiino opiodr
   opidrv sou2o main $START$

Both error messages have a common root cause which will be explained next.
Cause
While installing patchset 9.2.0.5. the script catpatch.sql was not executed successfully.

The DROP_SEGMENTS error is returned as the SMON process cannot update column DROP_SEGMENTS which should be part of table sys.mon_mods$.

The ORA-600 [1236] is generated for any session that is currently in the progress to logout from the database. Oracle is pushing a user call to a stack and discovers that there is already a current call present. This error means that a previous call has not been deleted properly. The reason for this error can also be a missing column within table sys.mon_mods$.

Fix

Verify data dictionary table:
                                                                   
   SQL> describe sys.mon_mods$;        
                           
   Name              Null?    Type                                
   ----------------- -------- ------------                        
   OBJ#                       NUMBER                              
   INSERTS                    NUMBER                              
   UPDATES                    NUMBER                              
   DELETES                    NUMBER                              
   TIMESTAMP                  DATE                                
   FLAGS                      NUMBER                              
   DROP_SEGMENTS              NUMBER <== affected column!      

Since upgrading to version 9.2.0.5 an additional column has been added to the dictionary table 'sys.mon_mods$'. In case the column DROP_SEGMENTS is not available this signals the script $ORACLE_HOME/rdbms/admin/catpatch.sql has not been executed after upgrading to version 9.2.0.5 or the affected script failed execution.

In both situations you should connect as SYSDBA and execute the catpatch.sql script file again! This will create the required column (DROP_SEGMENTS) to sys.mon_mods$.

Executing catpatch.sql script

The following describes post-installation tasks related to the 9.2.0.5.0 patch set. These tasks should be run on all updated databases. If you are using the Oracle OLAP option, then ensure that the database listener is up.

Oracle Application Server 10g (9.0.4) customers who use patch set 9.2.0.5.0 need perform steps 1 through 3 only.

1. Start the database listener using a command such as lsnrctl start.

2. Log in as sysdba using SQL*Plus.

3. Run the following commands and scripts in order from ORACLE_HOME
in migrate mode on all updated databases.

a) Run the startup migrate command.

SQLPLUS> startup migrate

Note:
===================================================================
If you are running Oracle Real Application Clusters, then set
cluster_database in the initSID.ora file to FALSE prior to starting
in migrate mode.
===================================================================

b) Run the spool patch.log command.

c) Run the @?/rdbms/admin/catpatch.sql script.

d) Run the spool off command.

e) Review the patch.log file for errors, and rerun the catpatch.sql
script after correcting any problems.

f) Run the shutdown command.

g) Run the startup command.

h) Run the @?/rdbms/admin/utlrp.sql script. This step is optional, and
will recompile all invalid PL/SQL packages now instead of when the
packages are accessed the first time. The utlrcmp.sql script can be
used to parallelize this in multiprocessor machines.
0

Featured Post

PRTG Network Monitor: Intuitive Network Monitoring

Network Monitoring is essential to ensure that computer systems and network devices are running. Use PRTG to monitor LANs, servers, websites, applications and devices, bandwidth, virtual environments, remote systems, IoT, and many more. PRTG is easy to set up & use.

Join & Write a Comment

Subquery in Oracle: Sub queries are one of advance queries in oracle. Types of advance queries: •      Sub Queries •      Hierarchical Queries •      Set Operators Sub queries are know as the query called from another query or another subquery. It can …
How to Create User-Defined Aggregates in Oracle Before we begin creating these things, what are user-defined aggregates?  They are a feature introduced in Oracle 9i that allows a developer to create his or her own functions like "SUM", "AVG", and…
This video explains at a high level about the four available data types in Oracle and how dates can be manipulated by the user to get data into and out of the database.
Video by: Steve
Using examples as well as descriptions, step through each of the common simple join types, explaining differences in syntax, differences in expected outputs and showing how the queries run along with the actual outputs based upon a simple set of dem…

728 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

10 Experts available now in Live!

Get 1:1 Help Now