ORA-00600 internal error code – What it Means and the 3 Steps to Fix it

Text Size 100%:

ORA-00600 is a generic internal error. It indicates the relevant process has encountered a low-level unexpected condition – which typically means you’ve encountered a bug.

The impact can vary from just being an annoyance that shows up in your logs once in a while, to something major that brings the database down.

Follow these step-by-step instructions for everything you need to do to resolve ORA-00600.

 

Carry on reading to see all the steps, or follow them in this video.

This post is part of the Autonomous Health Framework Fix Flow series, review them all to learn how to resolve the following problems:

 

Understanding ORA-00600

ORA-00600 is a generic internal error. It indicates the process has encountered a low-level unexpected condition – which typically means you’ve encountered a bug.

The impact can vary from just being an annoyance that shows up in your logs once in a while, to something major that brings the database down.

When an ORA-00600 error is logged it includes a list of arguments in square brackets.

  • The first argument can be useful to narrow down to known asserts, as it indicates the function logging the error.

    • However, beware if this is a commonly used function there may be multiple different possible causes.

  • The remaining arguments are used to show various internal variables for debugging.

ORA-00600 Error Layout

Whenever an ORA-00600 occurs, it will be logged in the database instance alert.log, which will also point to a trace file. This trace file will contain more detailed call stack information, which may be required to identify the error.

ORA-00600 Alert Log and Trace File

Depending on the cause of the ORA-00600, it may be necessary to look at other information to isolate the exact cause. 

This can include understanding other configuration details such as:

  • Database
  • Operating System

 

ORA-00600 Error Troubleshooting Steps

The basic Fix Flow steps for an ORA-00600 are:

1. Use Oracle Autonomous Health Framework to generate an ORA-00600 Service Request Data Collection (SRDC)

Oracle Autonomous Health Framework works autonomously 24×7 to keep database systems healthy and running while minimizing human reaction time. Utilizing applied machine-learning technologies, Autonomous Health Framework provides early warnings or automatically solves operational runtime issues faced by Database and System administrators in the areas of availability and performance. 

It’s the same technology Oracle uses in the cloud to keep the Autonomous Database running, and it’s available for you at no extra cost as part of your existing software support agreement.

In the first step we’re going to use Autonomous Health Framework to generate an ORA-00600 diagnostic collection.

AHF Services

You can download Autonomous Health Framework by logging into My Oracle Support and searching – or you can just go to http://bit.ly/oracleahf, which will take you directly to the download page.

AHF Data Collection

Autonomous Health Framework can collect many differing types of diagnostic collections, with problem specific SRDCs being one of them.

Before Autonomous Health Framework, Oracle Support would ask you to go through 11 different steps as part of SRDC or Service Request Data Collection for ORA-00600. This would involve collecting and trimming different logs and running scripts, to understand how to perform it correctly required watching a video and reading other knowledge documents.

Now all this SRDC logic is packaged within Autonomous Health Framework and you can capture it all with a single command.

 

Login to the machine where the ORA-00600 occurred and as the Oracle user run the command:

tfactl diagcollect –srdc ORA-00600

You’ll be prompted to enter the date and time of the ORA-00600 you’re interested in – if you’re not sure just press return.

You’ll then be prompted to enter the database name.

Autonomous Health Framework will then check to find all the ORA-00600s that occurred on that database around that time you selected, or if you left the prompts blank it will just find recent ones.

Next it will show you a list of everything it found and ask you to choose the specific ORA-00600 you’re interested in.

For example:

$ tfactl diagcollect -srdc ORA-00600
Enter the time of the ORA-00600 [YYYY-MM-DD HH24:MI:SS,<RETURN>=ALL] : 
Enter the Database Name [Required for this SRDC] : cdb19

1. Feb/11/2024 10:15:56 PST: [cdb19] ORA-00600: internal error code, arguments: [ktsircinfo_num1], [7], [1024], [1921], [], [], [], [], [], [], [], []
2. Feb/11/2024 06:14:48 PST: [cdb19] ORA-00600: internal error code, arguments: [ktsircinfo_num1], [7], [1024], [1921], [], [], [], [], [], [], [], []

Please choose the event : 1-2 [1] 
Selected value is : 1 ( Feb/11/2024 10:15:56 )

Components included in this collection: OS DATABASE NOCHMOS ASM SOSREPORT
Preparing to execute support diagnostic scripts.

Collecting data for local node(s).

TFA is using system timezone for collection, All times shown in PST.
Scanning files from 2024-02-11 09:45:56 PST to 2024-02-11 10:45:56 PST

Collection Id : 20240212103041mymachine

Detailed Logging at : /run/oracle.ahf/data/repository/srdc_ora600_collection_Mon_Feb_12_10_30_44_PST_2024_node_local/diagcollect_20240212103041_mymachine.log

Waiting up to 120 seconds for collection to start
2024/02/12 10:30:49 PST : NOTE : Any file or directory name containing the string .com will be renamed to replace .com with dotcom
2024/02/12 10:30:49 PST : Collection Name : tfa_srdc_ora600_Mon_Feb_12_10_30_43_PST_2024.zip
2024/02/12 10:30:50 PST : Scanning of files for Collection in progress...
2024/02/12 10:30:50 PST : Collecting Additional Diagnostic Information...
2024/02/12 10:31:10 PST : Getting list of files satisfying time range [02/11/2024 09:45:56, 02/11/2024 10:45:56]
2024/02/12 10:31:22 PST : Collecting ADR incident files...
2024/02/12 10:31:31 PST : Executing TFA rdahcve with timeout of 600 seconds...
2024/02/12 10:31:32 PST : Executing IPS Incident Package Collection(s)...
2024/02/12 10:31:34 PST : Generating IPS Pack for 2 incidents on database cdb19
2024/02/12 10:31:48 PST : Executing SQL Script db_feature_usage.sql on cdb19 with timeout of 600 seconds...
2024/02/12 10:31:48 PST : Executing Collection for ASM with timeout of 1800 seconds...
2024/02/12 10:32:13 PST : Executing Collection for AFD with timeout of 1860 seconds...
2024/02/12 10:32:16 PST : Executing Collection for OS with timeout of 1920 seconds...
2024/02/12 10:32:22 PST : Executing Collection for SOSREPORT with timeout of 1980 seconds...
2024/02/12 10:33:21 PST : Completed Collection of Additional Diagnostic Information...
2024/02/12 10:33:24 PST : Completed Local Collection
2024/02/12 10:33:24 PST : Not Redacting this Collection on Exadata with no redaction option passed ..
2024/02/12 10:33:24 PST : Not Redacting this Collection ...
2024/02/12 10:33:24 PST : Collection completed on host: mymachine 
2024/02/12 10:33:24 PST : Completed collection of zip files.

.---------------------------------------.
|           Collection Summary          |
+-------------+-----------+------+------+
| Host        | Status    | Size | Time |
+-------------+-----------+------+------+
| mymachine   | Completed | 53MB | 155s |
'-------------+-----------+------+------'

Logs are being collected to: /run/oracle.ahf/data/repository/srdc_ora600_collection_Mon_Feb_12_10_30_44_PST_2024_node_local
/run/oracle.ahf/data/repository/srdc_ora600_collection_Mon_Feb_12_10_30_44_PST_2024_node_local/mymachine.tfa_srdc_ora600_Mon_Feb_12_10_30_43_PST_2024.zip

 

Once it’s finished Autonomous Health Framework will package everything for you in a zip file.

Now we can move onto step number two. Use the My Oracle Support ORA-00600 troubleshooting tool to find recommendations. 

 

2. Use ORA-00600 Troubleshooting Tool to find recommendations

Log into My Oracle Support and search for ORA-00600, or alternatively go to http://bit.ly/ORA-00600 to access it directly.

When you get to the troubleshooting tool click the Next button at the top right

ORA-00600 Troubleshooting Tool Step 1

Select the first radio button to choose to upload a Trace File Analyzer package. (Trace File Analyzer is one of the components of Autonomous Health Framework)

Then click the Choose file button, select the zip file Autonomous Health Framework captured for you in step 1.

Then press the Upload button.

ORA-00600 Troubleshooting Tool Step 2

Once this is uploaded click the Next button at the top right again.

ORA-00600 Troubleshooting Tool Step 2

 

The troubleshooting tool will then analyze the contents of the diagnostic collection and compare the log entries against its list of known problems.

It will then recommend a My Oracle Support (MOS) Knowledge document for you that it thinks is the best fit.

This knowledge document will either advise you what to do or show you several bugs where that ORA-00600 has been reported.

You can use this to look up which Database Release Update (RUs) fixed the bug.

If you go through the MOS troubleshooting tool and can’t find a solution, or you just need some more help, then Oracle Support is just a click away.

  

3.  Log a new SR using the diagnostic collection

Press the Create SR button at the bottom.

ORA-00600 Create SR Step 1

 

You’ll then be prompted to clarify your:

  • Product
  • Product Version
  • Support Identifier
  • Operating System
  • SR severity

Then press the Create SR button.

And you’ll get a new SR number.

ORA-00600 Create SR Step 2

 

That’s it!

The Autonomous Health Framework diagnostic collection you uploaded originally will be routed onto your SR and Oracle Support will take over.

Download Autonomous Health Framework today.

Gareth Chapman

Senior Principal Product Operations Manager

Gareth is Senior Principal Product Operations Manager for Oracle Autonomous Health Framework.