Solved

ORA-00600 problem

Posted on 2004-08-12
2
2,673 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
ID: 11790760
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
ID: 11791565
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.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Suggested Solutions

Title # Comments Views Activity
Oracle RAC 12c 8 72
Deny Oracle DBAs from Connecting  "/ as sysdba" 5 63
Query to identify changes between rows of two tables 8 47
database upgrade 8 74
Configuring and using Oracle Database Gateway for ODBC Introduction First, a brief summary of what a Database Gateway is.  A Gateway is a set of driver agents and configurations that allow an Oracle database to communicate with other platforms…
How to Unravel a Tricky Query Introduction If you browse through the Oracle zones or any of the other database-related zones you'll come across some complicated solutions and sometimes you'll just have to wonder how anyone came up with them.  â€¦
This video shows, step by step, how to configure Oracle Heterogeneous Services via the Generic Gateway Agent in order to make a connection from an Oracle session and access a remote SQL Server database table.
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.

773 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