ORA-00600: internal error code, arguments: [kgantc_1], [0], [1]

1 数据库的报错信息

Wed Sep 01 19:38:00 2021

Errors in file /u01/app/oracle/diag/rdbms/ractest/ractest1/trace/ractest1_ora_176925.trc  (incident=411775):

ORA-00600: 内部错误代码, 参数: [kgantc_1], [0], [1], [], [], [], [], [], [], [], [], []

ORA-00604: 递归 SQL 级别 1 出现错误

ORA-01013: 用户请求取消当前的操作

ORA-06508: PL/SQL: 无法找到正在调用 : "SYS.PP_B" 的程序单元

ORA-06512: 在 line 1

ORA-01013: 用户请求取消当前的操作

ORA-06512: 在 "userA.table_A", line 1398

ORA-06512: 在 "userA.table_A", line 54

ORA-06512: 在 line 3

Incident details in: /u01/app/oracle/diag/rdbms/ractest/ractest1/incident/incdir_411775/ractest1_ora_176925_i411775.trc

.............................

Wed Sep 01 19:40:31 2021

Errors in file /u01/app/oracle/diag/rdbms/ractest/ractest1/trace/ractest1_ora_176925.trc  (incident=430639):

ORA-00603: ORACLE server session terminated by fatal error

ORA-00600: internal error code, arguments: [kgantc_1], [0], [1], [], [], [], [], [], [], [], [], []

ORA-00604: error occurred at recursive SQL level 1

ORA-01013: user requested cancel of current operation

ORA-06508: PL/SQL: could not find program unit being called: "SYS.PP_B"

ORA-06512: at line 1

ORA-01013: user requested cancel of current operation

ORA-06512: at "userA.table_A", line 1398

ORA-06512: at "userA.table_A", line 54

ORA-06512: at line 3

Incident details in: /u01/app/oracle/diag/rdbms/ractest/ractest1/incident/incdir_430639/ractest1_ora_176925_i430639.trc

Errors in file /u01/app/oracle/diag/rdbms/ractest/ractest1/incident/incdir_430639/ractest1_ora_176925_i430639.trc:

ORA-00603: ORACLE server session terminated by fatal error

ORA-00600: internal error code, arguments: [kgantc_1], [0], [1], [], [], [], [], [], [], [], [], []

ORA-00604: error occurred at recursive SQL level 1

ORA-01013: user requested cancel of current operation

ORA-06508: PL/SQL: could not find program unit being called: "SYS.PP_B"

ORA-06512: at line 1

ORA-01013: user requested cancel of current operation

ORA-06512: at "userA.table_A", line 1398

ORA-06512: at "userA.table_A", line 54

ORA-06512: at line 3


2  查看ORA-603错误的原因,说明是由于致命错误导致进程终止

[oracle@hosta ~]$ oerr ora 603

00603, 00000, "ORACLE server session terminated by fatal error"

// *Cause:  An ORACLE server session was in an unrecoverable state.

// *Action: Login to ORACLE again so a new server session will be created


3 查看Oracle生成的trace文件,主要看ractest1_ora_176925_i430639.trc 文件的内容,尤其是针对call stack,此trace才会有正确的信息,ractest1_ora_176925.trc生成的信息中,call stack同Oracle官方文档的BUG对不上,但ractest1_ora_176925_i411775.trc 同Oracle官方文档的BUG是一致的


Dump file /u01/app/oracle/diag/rdbms/ractest/ractest1/incident/incdir_411775/ractest1_ora_176925_i411775.trc

Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production

With the Partitioning, Real Application Clusters, Automatic Storage Management, OLAP,

Data Mining and Real Application Testing options

ORACLE_HOME = /u01/app/oracle/product/11.2.0/db_1

System name: Linux

Node name: hosta

Release: 2.6.32-642.el6.x86_64

Version: #1 SMP Wed Apr 13 00:51:26 EDT 2016

Machine: x86_64

Instance name: ractest1

Redo thread mounted by this instance: 1

Oracle process number: 199

Unix process pid: 176925, image: oracle@hosta



*** 2021-09-01 19:38:00.476

*** SESSION ID:(2991.49395) 2021-09-01 19:38:00.476

*** CLIENT ID:() 2021-09-01 19:38:00.476

*** SERVICE NAME:(ractest) 2021-09-01 19:38:00.476

*** MODULE NAME:(PL/SQL Developer) 2021-09-01 19:38:00.476  --报错使用的客户端未PL/SQL

*** ACTION NAME:(测试窗口 - procedure user_A.proc_tt_A@2) 2021-09-01 19:38:00.476

 

Dump continued from file: /u01/app/oracle/diag/rdbms/ractest/ractest1/trace/ractest1_ora_176925.trc

ORA-00600: 内部错误代码, 参数: [kgantc_1], [0], [1], [], [], [], [], [], [], [], [], []

ORA-00604: 递归 SQL 级别 1 出现错误

ORA-01013: 用户请求取消当前的操作

ORA-06508: PL/SQL: 无法找到正在调用 : "SYS.PP_B" 的程序单元

ORA-06512: 在 line 1

ORA-01013: 用户?

========= Dump for incident 411775 (ORA 600 [kgantc_1]) ========


*** 2021-09-01 19:38:00.480

dbkedDefDump(): Starting incident default dumps (flags=0x2, level=3, mask=0x0)

----- Current SQL Statement for this session (sql_id=8qz18zaafy6hs) -----

begin

  -- Call the procedure

  user_A.proc_tt_A(p_date => :p_date);  --调用的存储过程

end;


----- Call Stack Trace -----  报错的堆盏信息

calling              call     entry                argument values in hex      

location             type     point                (? means dubious value)     

-------------------- -------- -------------------- ----------------------------

skdstdst()+41        call     kgdsdst()            000000000 ? 000000000 ?

                                                   7FFDBD5916D0 ? 7FFDBD5917A8 ?

                                                   7FFDBD596250 ? 000000002 ?

ksedst1()+103        call     skdstdst()           000000000 ? 000000000 ?

                                                   7FFDBD5916D0 ? 7FFDBD5917A8 ?

                                                   7FFDBD596250 ? 000000002 ?

ksedst()+39          call     ksedst1()            000000000 ? 000000001 ?

                                                   7FFDBD5916D0 ? 7FFDBD5917A8 ?

                                                   7FFDBD596250 ? 000000002 ?

dbkedDefDump()+2746  call     ksedst()             000000000 ? 000000001 ?

                                                   7FFDBD5916D0 ? 7FFDBD5917A8 ?

                                                   7FFDBD596250 ? 000000002 ?

ksedmp()+41          call     dbkedDefDump()       000000003 ? 000000002 ?

                                                   7FFDBD5916D0 ? 7FFDBD5917A8 ?

                                                   7FFDBD596250 ? 000000002 ?

ksfdmp()+69          call     ksedmp()             000000003 ? 000000002 ?

                                                   7FFDBD5916D0 ? 7FFDBD5917A8 ?

                                                   7FFDBD596250 ? 000000002 ?

dbgexPhaseII()+1764  call     ksfdmp()             000000003 ? 000000002 ?

                                                   7FFDBD5916D0 ? 7FFDBD5917A8 ?

                                                   7FFDBD596250 ? 000000002 ?

dbgexProcessError()  call     dbgexPhaseII()       7F1CB54A5738 ? 7F1CB52D3F60 ?

+2680                                              7FFDBD59AD28 ? 7FFDBD5917A8 ?

                                                   7FFDBD596250 ? 000000002 ?

dbgeExecuteForError  call     dbgexProcessError()  7F1CB54A5738 ? 7F1CB52D3F60 ?

()+88                                              000000001 ? 000000000 ?

                                                   7FFDBD596250 ? 000000002 ?

dbgePostErrorKGE()+  call     dbgeExecuteForError  7F1CB54A5738 ? 7F1CB52D3F60 ?

2136                          ()                   000000001 ? 000000001 ?

                                                   000000000 ? 000000002 ?

dbkePostKGE_kgsf()+  call     dbgePostErrorKGE()   00C110DA0 ? 7F1CB5211168 ?

71                                                 000000258 ? 000000001 ?

                                                   000000000 ? 000000002 ?

kgeadse()+390        call     dbkePostKGE_kgsf()   00C110DA0 ? 7F1CB5211168 ?

                                                   000000258 ? 000000001 ?

                                                   000000000 ? 000000002 ?

kgerinv_internal()+  call     kgeadse()            00C110DA0 ? 7F1CB5211168 ?

50                                                 000000258 ? 000000001 ?

                                                   000000000 ? 000000002 ?

kgerinv()+38         call     kgerinv_internal()   00C110DA0 ? 7F1CB5211168 ?

                                                   000000258 ? 000000001 ?

                                                   000000000 ? 000000002 ?

kgesinv()+33         call     kgerinv()            00C110DA0 ? 7F1CB5211168 ?

                                                   000000258 ? 000000001 ?

                                                   000000000 ? 000000002 ?

kgesin()+128         call     kgesinv()            00C110DA0 ? 7F1CB5211168 ?

                                                   000000258 ? 000000001 ?

                                                   000000000 ? 000000002 ?

kgantc_term_call()+  call     kgesin()             00C110DA0 ? 7F1CB5211168 ?

166                                                000000258 ? 000000001 ?

                                                   000000000 ? 000000000 ?

kqanntc()+16         call     kgantc_term_call()   00C110DA0 ? 7F1CB5211168 ?

                                                   000000258 ? 000000001 ?

                                                   000000000 ? 000000000 ?

ksudlc()+1080        call     kqanntc()            00C110DA0 ? 7F1CB5211168 ?

                                                   000000258 ? 000000001 ?

                                                   000000000 ? 000000000 ?

kssdel()+155         call     ksudlc()             6B2D59D40 ? 00C1153C0 ?

                                                   000000258 ? 000000001 ?

                                                   000000000 ? 000000000 ?

ksupop()+465         call     kssdel()             6B2D59D40 ? 000000002 ?

                                                   000000258 ? 000000001 ?

                                                   000000000 ? 000000000 ?

opiodr()+4149        call     ksupop()             000000002 ? 000000002 ?

                                                   000000258 ? 000000001 ?

                                                   000000000 ? 000000000 ?

ttcpip()+2183        call     opiodr()             00000005E ? 00000001C ?

                                                   7FFDBD59EB20 ? 000000001 ?

                                                   000000000 ? 000000000 ?

opitsk()+1710        call     ttcpip()             00C12E9F0 ? 0099D4190 ?

                                                   7FFDBD59EB20 ? 000000000 ?

                                                   7FFDBD59E578 ? 7FFDBD59EB1C ?

opiino()+969         call     opitsk()             00C12E9F8 ? 000000000 ?

                                                   7FFDBD59EB20 ? 000000000 ?

                                                   7FFDBD59E578 ? 7FFDBD59EB1C ?

opiodr()+917         call     opiino()             00000003C ? 000000004 ?

                                                   7FFDBD5A0318 ? 000000000 ?

                                                   7FFDBD59E578 ? 7FFDBD59EB1C ?

opidrv()+570         call     opiodr()             00000003C ? 000000004 ?

                                                   7FFDBD5A0318 ? 000000000 ?

                                                   7FFDBD59E578 ? 7FFDBD59EB1C ?

sou2o()+103          call     opidrv()             00000003C ? 000000004 ?

                                                   7FFDBD5A0318 ? 000000000 ?

                                                   7FFDBD59E578 ? 7FFDBD59EB1C ?

opimai_real()+133    call     sou2o()              7FFDBD5A02F0 ? 00000003C ?

                                                   000000004 ? 7FFDBD5A0318 ?

                                                   7FFDBD59E578 ? 7FFDBD59EB1C ?

ssthrdmain()+265     call     opimai_real()        000000002 ? 7FFDBD5A04E0 ?

                                                   000000004 ? 7FFDBD5A0318 ?

                                                   7FFDBD59E578 ? 7FFDBD59EB1C ?

main()+201           call     ssthrdmain()         000000002 ? 7FFDBD5A04E0 ?

                                                   000000001 ? 000000000 ?

                                                   7FFDBD59E578 ? 7FFDBD59EB1C ?

__libc_start_main()  call     main()               000000002 ? 7FFDBD5A0688 ?

+253                                               000000001 ? 000000000 ?

                                                   7FFDBD59E578 ? 7FFDBD59EB1C ?

_start()+41          call     __libc_start_main()  000A2A2C4 ? 000000002 ?

                                                   7FFDBD5A0678 ? 000000000 ?

                                                   7FFDBD59E578 ? 7FFDBD59EB1C ?


4 查看官方文档,

ORA-00600 [kgantc_1] (Doc ID 1380118.1),

此文档说明是由于会话持有一个锁,但用户使用crtl + C 或 kill终止了会话引起的,

Oracle建议使用alter system kill session方法终止会话,此情况同生成环境报错一致,认为有这种可能性。


APPLIES TO:

Oracle Database - Enterprise Edition - Version 11.2.0.2 and later

Oracle Database Cloud Schema Service - Version N/A and later

Oracle Database Exadata Cloud Machine - Version N/A and later

Oracle Cloud Infrastructure - Database Service - Version N/A and later

Oracle Database Exadata Express Cloud Service - Version N/A and later

Information in this document applies to any platform.

SYMPTOMS

Executing PL/SQL code fails with next errors in the alert log:

ORA-00600: internal error code, arguments: [kgantc_1], [0], [1], [], [], [], [], [], [], [], [], []

ORA-00604: error occurred at recursive SQL level 1

ORA-06510: PL / SQL: non-operated excluding certain user-

ORA-06512: at "SYS.PBREAK", line 1087

ORA-06512: at "SYS.PBSDE", line 201

ORA-06510: PL / SQL: non-operated excluding certain user-

ORA-06512: at line 1

ORA-01013: user requested cancel of current operation

ORA-06512: at ".", line 14

ORA-06512: at ".", line 289

ORA-06510: PL / SQL: non-operated excluding certain user-

ORA-06512: at "SYS.PBREAK", line 1087

ORA-06512: at "SYS.PBSDE", line 201

ORA-06510: PL / SQL: do not operate


You make see some of all of the following function codes in the "Call Stack" portion of the trace file.

... kgantc_term_call kqanntc ksudlc kssdel ksupop opiodr ...

 

  

NOTE: In this case the session information the trace file showed the use of the 3rd party 

tool PL/SQL Developer (plsqldev.exe).

  


CHANGES

 

CAUSE

Sudden exit of the program using kill -9 or ctrl + c command when the session is still holding a lock.


SOLUTION

It is not recommended that you terminate the session with Ctrl+C or kill-9. 

Oracle recommends you only kill a sessions via standard 'alter system kill session' command.


根据ORA-600[kgantc_1] from PL/SQL Execution (Doc ID 2472133.1)文档中的信息,

发现Oracle生成的报错信息同此文档一致,如下:

APPLIES TO:

Oracle Database - Enterprise Edition - Version 11.2.0.4 to 12.1.0.2 [Release 11.2 to 12.1]

Information in this document applies to any platform.

SYMPTOMS

PL/SQL execution fails with the following errors in the alert log:

ORA-00603: ORACLE server session terminated by fatal error

ORA-00600: internal error code, arguments: [kgantc_1], [0], [1], [], [], [], [], [], [], [], [], []

 

The Call Stack Trace in the associated incident trace file shows:


 kgantc_term_call <- kqanntc <- ksudlc <- kss_del_cb <- kssdel <- ksupop <- opiodr <- ttcpip

  <- opitsk <- opiino <- opiodr <- opidrv <- sou2o <- opimai_real <- ssthrdmain <- main

CAUSE

The error is caused by a product defect and was investigated in unpublished Bug 22502861.

 

SOLUTION

1.  Upgrade to 12.2

-OR-

2.  Apply Patch 22502861 if available for your version and platform.

To check for conflicting patches, please use the My Oracle Support (MOS) Patch Planner Tool.

Reference:

Note 1317012.1 - How To Use MOS Patch Planner To Check And Request The Conflict Patches?

    If no patch exists for your platform and version, please contact Oracle Support to request a fix.


5 查看数据库的PSU,发现确实没有22502861的补丁,如下:

[oracle@host1 ~]$ opatch lsinventory |grep 22502861

[oracle@host1 ~]$ opatch lsinventory 

Oracle Interim Patch Installer version 11.2.0.3.16

Copyright (c) 2021, Oracle Corporation.  All rights reserved.



Oracle Home       : /u01/app/oracle/product/11.2.0/db_1

Central Inventory : /u01/app/oraInventory

   from           : /u01/app/oracle/product/11.2.0/db_1/oraInst.loc

OPatch version    : 11.2.0.3.16

OUI version       : 11.2.0.4.0

Log file location : /u01/app/oracle/product/11.2.0/db_1/cfgtoollogs/opatch/opatch2021-09-06_17-44-21PM_1.log


Lsinventory Output file location : /u01/app/oracle/product/11.2.0/db_1/cfgtoollogs/opatch/lsinv/lsinventory2021-09-06_17-44-21PM.txt


--------------------------------------------------------------------------------

Local Machine Information::

Hostname: dbssvrb

ARU platform id: 226

ARU platform description:: Linux x86-64


Installed Top-level Products (1): 


Oracle Database 11g                                                  11.2.0.4.0

There are 1 products installed in this Oracle Home.



Interim patches (2) :


Patch  26609929     : applied on Sat Dec 16 15:31:42 CST 2017

Unique Patch ID:  21512432

Patch description:  "OCW Patch Set Update : 11.2.0.4.170814 (26609929)"

   Created on 10 Aug 2017, 22:16:45 hrs PST8PDT

   Bugs fixed:

     19270660, 18328800, 18508710, 18691572, 20038451, 21251192, 22162062

     21232394, 20365005, 17750548, 17387214, 17617807, 14497275, 20219458

     17733927, 18180541, 23757020, 18962892, 17292250, 17378618, 16759171

     20110156, 17843489, 17065496, 21694632, 13991403, 17273020, 22762046

     17155238, 18261183, 18053580, 20012766, 21245437, 20218012, 17013634

     17886392, 20995001, 17039197, 17947785, 16317771, 10052729, 22353346

     20340620, 16237657, 20317221, 15917869, 18199185, 18399991, 20186278

     18024089, 17374271, 16849642, 20246071, 20746251, 14270845, 23621494

     20552947, 18414137, 18882642, 17001914, 17927970, 14378120, 16346413

     15986647, 18068871, 21222147, 18143836, 16206997, 21982225, 25490238

     19168690, 20235511, 18343490, 21875360, 16613232, 19276791, 17722664

     20440643, 12928658, 18952577, 16249829, 18520351, 18226143, 18265482

     16076412, 18229842, 17172091, 20676340, 17818075, 20091753, 18231837

     14373486, 20136892, 17483479, 20551654, 18120545, 18729166, 13843841

     21225209, 17405302, 18709496, 18330979, 18744838, 14525998, 18187697

     17087371, 20531190, 20598625, 14385860, 18348155, 19479503, 12928592

     17516024, 18370031, 17764053, 19272663, 17551223, 14671408, 18272135

     14207615, 21255373, 17500165, 18875012, 14769643, 25656952, 19558324

     18464784, 18848125, 19241857, 17955615, 14851828, 20315294, 14693336

     20014326, 17352230, 16284825, 17238586, 17089344, 17405605, 21327402

     17531342, 26546632, 19398098, 17640316, 17159489, 13823394, 16543190


6 总结: 

根据如上信息,客户端使用的PL/SQL ,且是用户自己终止了会话,触发了ORACLE的BUG,从而

产生ORA-600 kgantc_1 的错误,

解决方法为:1 打补丁或升级到12以上 2 使用正确的方法杀相关的会话。

请使用浏览器的分享功能分享到微信等