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… 😉
