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