Solved

ORA-00600 problem

Posted on 2004-08-12
2
2,694 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

Instantly Create Instructional Tutorials

Contextual Guidance at the moment of need helps your employees adopt to new software or processes instantly. Boost knowledge retention and employee engagement step-by-step with one easy solution.

Question has a verified solution.

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

Working with Network Access Control Lists in Oracle 11g (part 2) Part 1: http://www.e-e.com/A_8429.html Previously, I introduced the basics of network ACL's including how to create, delete and modify entries to allow and deny access.  For many‚Ķ
Using SQL Scripts we can save all the SQL queries as files that we use very frequently on our database later point of time. This is one of the feature present under SQL Workshop in Oracle Application Express.
Via a live example show how to connect to RMAN, make basic configuration settings changes and then take a backup of a demo database
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.

732 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