ORA-00600: internal error code, arguments: [13013], [5001], [1675658], [773963968], [10], [773963968], [17], []

4k Views Asked by At

While executing the below query, I am getting the error:

ORA-00600: internal error code, arguments: [13013], [5001], [1675658], [773963968], [10], [773963968], [17], []

MERGE INTO nbfc_address_m t1
USING (SELECT a.col2, b.lesseeid
        FROM DT_AMRID a,
        LEA_AGREEMENT_DTL b
        WHERE a.agrid=b.agreementid) t2
ON (t1.bpid=t2.lesseeid)
WHEN MATCHED THEN
UPDATE SET t1.mobile=t2.col2

This is for updating mobile number.

2

There are 2 best solutions below

1
On

Specific, less useful answer

Oracle is trying to get a stable set of rows to update and could not, after 5001 attempts.

Here is what the arguments mean:

  • [13013] ==> indicates the problem is a failure to identify a stable set of rows to update
  • [5001] ==> the number of times Oracle tried
  • [1675658] => The data object number (SELECT * FROM DBA_OBJECTS WHERE DATA_OBJECT_ID = 1675658)
  • [773963968] => Tablespace-relative data block address
  • [10] ==> row slot number
  • [773963968] ==> decimal relative data block address of block being updated
  • [17] ==> internal code
  • [] ==> not used

What to try:

First, check for block corruption in your table's indexes: ANALYZE TABLE <table_name> VALIDATE STRUCTURE CASCADE. Then drop and re-create and indexes that show problems.

General, more useful answer

OK, how did I know all of the above (assuming it's even correct)?...

"ORA-00600", "ORA-00700", and "ORA-07445" errors are internal Oracle errors. The only entity really capable of diagnosing / explaining / fixing them is Oracle Corporation. To that end, Oracle provides a diagnostic tool on their support website: http://support.oracle.com. It is document ID 153788.1 on their site (though you can also just search on their site for "ORA-600 tool").

Using that tool, you enter the specifics of your ORA-00600 error (usually just the first argument - "13013", in your case) and, if you're lucky, it will redirect you to a note telling you all about it.

2
On

This might be caused by Oracle memory corruption.

Try -

  1. Drop and recreate Indexes on both the tables used in the query.
  2. Flush the database cache memory
  3. Try adding the table owner prefix at the session level

It must help you.

Cheers!!