Solved

ORA-00600 problem

Posted on 2004-08-12
2
2,700 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
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
2 Comments
 
LVL 48

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

Technology Partners: We Want Your Opinion!

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

Question has a verified solution.

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

Why doesn't the Oracle optimizer use my index? Querying too much data Most Oracle developers know that an index is useful when you can use it to restrict your result set to a small number of the total rows in a table. So, the obvious side…
Have you ever had to make fundamental changes to a table in Oracle, but haven't been able to get any downtime?  I'm talking things like: * Dropping columns * Shrinking allocated space * Removing chained blocks and restoring the PCTFREE * Re-or…
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.
This video shows setup options and the basic steps and syntax for duplicating (cloning) a database from one instance to another. Examples are given for duplicating to the same machine and to different machines

717 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