ORA-00600: internal error code, arguments: [13030], [20]

Hi all!
This days I faced some ORA-600 as per below in a database:

ORA-00600: internal error code, arguments: [13030], [20], [], [], [], [], [], [], [], [], []

Checking for error in Database I find it was related to a pretty complex UPDATE, as per:

adrci> show problem

ADR Home = /u01/app/oracle/diag/rdbms/proddb/PRODDB1:
*************************************************************************
PROBLEM_ID           PROBLEM_KEY                                                 LAST_INCIDENT        LASTINC_TIME                             
-------------------- ----------------------------------------------------------- -------------------- ---------------------------------------- 
[...]     
25                   ORA 600 [13030]                                             4041252              2017-03-23 11:40:52.805000 -07:00       

adrci> show incident

ADR Home = /u01/app/oracle/diag/rdbms/proddb/PRODDB1:
*************************************************************************
INCIDENT_ID          PROBLEM_KEY                                                 CREATE_TIME                              
-------------------- ----------------------------------------------------------- ----------------------------------------      
4041252              ORA 600 [13030]                                             2017-03-23 11:40:52.805000 -07:00       

adrci> show incident -mode detail -p "incident_id=4041252"

ADR Home = /u01/app/oracle/diag/rdbms/proddb/PRODDB1:
*************************************************************************

**********************************************************
INCIDENT INFO RECORD 1
**********************************************************
   INCIDENT_ID                   4041252
   STATUS                        ready
   CREATE_TIME                   2017-03-23 11:40:52.805000 -07:00
   PROBLEM_ID                    25
   CLOSE_TIME                    
   FLOOD_CONTROLLED              none
   ERROR_FACILITY                ORA
   ERROR_NUMBER                  600
   ERROR_ARG1                    13030
   ERROR_ARG2                    20
   ERROR_ARG3                    
   ERROR_ARG4                    
   ERROR_ARG5                    
   ERROR_ARG6                    
   ERROR_ARG7                    
   ERROR_ARG8                    
   ERROR_ARG9                    
   ERROR_ARG10                   
   ERROR_ARG11                   
   ERROR_ARG12                   
   SIGNALLING_COMPONENT          DML
   SIGNALLING_SUBCOMPONENT       
   SUSPECT_COMPONENT             
   SUSPECT_SUBCOMPONENT          
   ECID                          
   IMPACTS                       0
   PROBLEM_KEY                   ORA 600 [13030]
   FIRST_INCIDENT                1230677
   FIRSTINC_TIME                 2016-03-21 08:27:00.578000 -07:00
   LAST_INCIDENT                 4041252
   LASTINC_TIME                  2017-03-23 11:40:52.805000 -07:00
   IMPACT1                       0
   IMPACT2                       0
   IMPACT3                       0
   IMPACT4                       0
   KEY_NAME                      ProcId
   KEY_VALUE                     510.194
   KEY_NAME                      Client ProcId
   KEY_VALUE                     oracle@dbserver (TNS V1-V3).14177_140097497932416
   KEY_NAME                      PQ
   KEY_VALUE                     (16777298, 1490288680)
   KEY_NAME                      Service
   KEY_VALUE                     my_service
   KEY_NAME                      SID
   KEY_VALUE                     10201.34330
   KEY_NAME                      Module
   KEY_VALUE                     httpd.worker@appserver (TNS V1-V3)
   OWNER_ID                      1
   INCIDENT_FILE                 /u01/app/oracle/diag/rdbms/proddb/proddb1/incident/incdir_4041252/proddb1_ora_14177_i4041252.trc
   OWNER_ID                      1
   INCIDENT_FILE                 /u01/app/oracle/diag/rdbms/proddb/proddb1/incident/incdir_4041252/proddb1_m003_11588_i4041252_a.trc
   OWNER_ID                      1
   INCIDENT_FILE                 /u01/app/oracle/diag/rdbms/proddb/proddb1/incident/incdir_4041252/proddb1_m004_11638_i4041252_a.trc
   OWNER_ID                      1
   INCIDENT_FILE                 /u01/app/oracle/diag/rdbms/proddb/proddb1/trace/proddb1_ora_14177.trc

adrci> 
oraproddb >cat /u01/app/oracle/diag/rdbms/proddb/proddb1/incident/incdir_4041252/proddb1_ora_14177_i4041252.trc |head -80
Dump file /u01/app/oracle/diag/rdbms/proddb/proddb1/incident/incdir_4041252/proddb1_ora_14177_i4041252.trc
Oracle Database 12c Enterprise Edition Release 12.1.0.2.0 - 64bit Production
With the Partitioning, Real Application Clusters, Automatic Storage Management, Oracle Label Security,
OLAP, Advanced Analytics and Real Application Testing options
ORACLE_HOME = /u01/app/oracle/product/12.1.0/dbhome_1
System name:	Linux
Node name:	dbserver
Release:	3.8.13-118.4.2.el7uek.x86_64
Version:	#2 SMP Tue Mar 22 20:46:48 PDT 2016
Machine:	x86_64
Instance name: proddb1
Redo thread mounted by this instance: 1
Oracle process number: 510
Unix process pid: 14177, image: oracle@dbserver


*** 2017-03-23 11:40:52.808
*** SESSION ID:(10201.34330) 2017-03-23 11:40:52.808
*** CLIENT ID:() 2017-03-23 11:40:52.808
*** SERVICE NAME:(my_service) 2017-03-23 11:40:52.808
*** MODULE NAME:(httpd.worker@appserver (TNS V1-V3)) 2017-03-23 11:40:52.808
*** CLIENT DRIVER:() 2017-03-23 11:40:52.808
*** ACTION NAME:() 2017-03-23 11:40:52.808
 
[TOC00000]
Jump to table of contents
Dump continued from file: /u01/app/oracle/diag/rdbms/proddb/proddb1/trace/proddb1_ora_14177.trc
[TOC00001]
ORA-00600: internal error code, arguments: [13030], [20], [], [], [], [], [], [], [], [], [], []

[TOC00001-END]
[TOC00002]
========= Dump for incident 4041252 (ORA 600 [13030]) ========

*** 2017-03-23 11:40:52.808
dbkedDefDump(): Starting incident default dumps (flags=0x2, level=3, mask=0x0)
[TOC00003]
----- Current SQL Statement for this session (sql_id=6bmdmwcp9fs23) -----
UPDATE MY_TABLE SET COLUMN1 = 
OWNER.GET_CALC_SOMETHING(PAR1,PAR2,PAR3), COLUMNT2 = OWNER.GET_CALC_SOMETHING_ELSE(PAR1,PAR2,PAR3,PAR4), ....
[TOC00004]
----- PL/SQL Stack -----
----- PL/SQL Call Stack -----
  object      line  object
  handle    number  name
0x6d184fbc88      1406  package body OWNER.GET_CALC_SOMETHING
0x3f5953db70       657  package body OWNER.GEN
0x40a0d0bfb8       205  package body OWNER.PKG
0x6d1e91a828        33  anonymous block
[TOC00004-END]
[TOC00003-END]

[TOC00005]
----- Call Stack Trace -----
calling              call     entry                argument values in hex      
location             type     point                (? means dubious value)     
-------------------- -------- -------------------- ----------------------------
skdstdst()+45        call     kgdsdst()            7FFD97064498 000000002
                                                   7FFD97045ED0 ? 7FFD97045FE8 ?
                                                   7FFD97063CC8 ? 000000082 ?
ksedst()+119         call     skdstdst()           7FFD97064498 000000000
                                                   000000001 7FFD97045FE8 ?
                                                   7FFD97063CC8 ? 000000082 ?
dbkedDefDump()+1119  call     ksedst()             000000000 000000000 ?
                                                   000000001 ? 7FFD97045FE8 ?
                                                   7FFD97063CC8 ? 000000082 ?
ksedmp()+261         call     dbkedDefDump()       000000003 000000002
                                                   000000001 ? 7FFD97045FE8 ?
                                                   7FFD97063CC8 ? 000000082 ?
ksfdmp()+89          call     ksedmp()             0000003EB 000000002 ?
                                                   000000001 ? 000000002
                                                   7FFD97063CC8 ? 000000082 ?
dbgexPhaseII()+1845  call     ksfdmp()             7F6AFD960CA0 0000003EB
                                                   000000001 ? 000000002 ?
                                                   7FFD97063CC8 ? 000000082 ?
dbgexProcessError()  call     dbgexPhaseII()       7F6AFD920648 7F6AFD8C9A48
+2539                                              7FFD97068EA0 000000002 ?
                                                   7FFD97063CC8 ? 000000082 ?
dbgeExecuteForError  call     dbgexProcessError()  7F6AFD920648 7F6AFD8C9A48
()+110                                             000000001 000000000
                                                   7FFD97063CC8 ? 000000082 ?

After researching a bit about, found MOS Ora-00600 [13030], [20] During Update Statement Using V$ tables (Doc ID 1400439.1), pointing to inconsistent source of data (like v$ views) or other situations in SQL like changing values in comparison columns or row to be updated does not exist.

Turns out that, investigating with development, we discovered it was using gv$session in one of the functions used. We basically had to change the SQL.

So, review your SQL if you are hitting this… 😉

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s