This error occurs because of the oracle bug. Most of the time it happens with the database with deferred_segment_creation=true and the error will be specific to a database object. The object id for the particular object will be the second argument in the ORA-00600 error. Object name can be identified from the trace file mentioned in the first ora-00600 error in the alert.log file.
Re execute the command mentioned in the trace file and you can reproduce the error again. Most cases any dml operation with the same table/object will fail with the ora-600 error. Check the number of segments created for the object using the following query.
select count(*) from dba_segments where segment_name ='<object_name>';
- Take the table structure / ddl using following command
select dbms_metadata.get_ddl('TABLE','TEST') FROM DUAL
- Drop the table or object
- Purge the recyclebin
- Recreate the object with DDL fetched in the first step.
I wanted to enforce one thing. For ora-00600 errors you have to contact Oracle support for permanent fix as they are the owners for the internals.