`

ORA-00600: internal error code, arguments: [kgantc_1]错误排查记录(原创)

 
阅读更多

操作系统:AIX 6.1 数据库环境:RAC 10.2.0.5

2011/10 /08 16:33左右,节点1出现的ORA-00600错误,产生dump文件为5M多的 zgscdb1_ora_26739166.trc ,2011/10/09 15:43左右,节点二出现ORA-00600错误,dump文件为 159K的zgscdb2_ora_35651868.trc
节点1:
这个错误是由于取消当前操作所引发。
Sat Oct 08 16:33:46 GMT+08:00 2011Errors in file /oracle10g/app/oracle/admin/zgscdb/udump/zgscdb1_ora_26739166.trc:
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
根据错误信息和错误的发生时间,基本上可以确定,问题是由于取消当前操作引起的,下面检查一下详细信息,查看当前执行的操作是什么。
Trace开头部分内容如下:
*** 2011-10-08 16:33:45.573
*** ACTION NAME:(Test Window - Script for procedu) 2011-10-08 16:33:45.565
*** MODULE NAME:(PL/SQL Developer) 2011-10-08 16:33:45.565
*** SERVICE NAME:(zgscdb) 2011-10-08 16:33:45.565
*** SESSION ID:(5211.11033) 2011-10-08 16:33:45.564
Probe:read_pipe: receive failed, status 3
*** 2011-10-08 16:33:45.574
ksedmp: internal or 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

从这里可以看到错误会话是通过PL/SQL Developer连接到数据库的,下面是出错SQL部分:
Current SQL statement for this session:
begin
  -- Call the procedure
  p_fp_dk_sfxx(inwspzxh => :inwspzxh,
               errcode => :errcode,
               errmean => :errmean);
end;

从这里只能看出错误的发生与用户取消操作有关,调用的PL/SQL包本身并没有什么异常。
 O/S info: user: Administrator, term: FZLTAX-SK-DL, ospid: 844:5076, machine: SK\FZLTAX-SK-DL
              program: plsqldev.exe    application name: PL/SQL Developer

这 是开发人员通过windows平台,使用PL/SQL Developer连接数据库做了PL/SQL代码测试,终端名称为FZLTAX-SK-DL,开 发人员运行此代码过程中取消了该操作,触发ORA-00600。搜索METALINK  ORA-00600 [kgantc_1],并没有发现什么有价值的线索,发现有一个与此相类似的问题,此错误发生的ORACLE版本范围比较大,是一个未发布的bug,在11.2版本以后才修补,10.2.0.5是 10G最后一个补丁,出现类似的bug也属正常:
Applies to:
Oracle Server - Enterprise Edition - Version: 8.1.7.0 to 11.1.0.7
This problem can occur on any platform.
Symptoms
A user interrupted the session while in the process of creating the connection - this is seen in the alert.log as something like:
ORA-00600: internal error code, arguments: [ttcgcshnd-2], [0], [], [], [], [], [], []
ORA-01013: user requested cancel of current operation
The instance continues to operate normally after the error.
Cause
The root cause is a problem handling the client interrupt (Ctrl-C) during connection handshake - this has been discussed in non-published bug:3210738.
Solution
The issue is completely harmless and can be safely ignored.
From 11.2 a fix has been implemented that will cause the client to raise an ORA-28547 (or an ORA-3106 if the client is pre-11.2). This has been implemented via non-published bug:6859408
References
在当前的例子中,是可能由于错误是ORA-1031,是用户取消造成的,相对比较特殊,Oracle没有正确的捕获和处理,从而导致了这一系列Oracle内部错误的出现。
总的来说,这个错误出现的概率很小,且本身没有什么维护。如有特殊疑问,也可以与开发人员进行沟通。
节点2:
仍然是由于取消当前操作所引发。
Unix process pid: 35651868, image: oracle@fjlt_zgsc_db02
*** ACTION NAME:() 2011-10-09 15:41:36.670
*** MODULE NAME:(plsqldev.exe) 2011-10-09 15:41:36.670
*** SERVICE NAME:(zgscdb) 2011-10-09 15:41:36.670
*** SESSION ID:(5020.1926) 2011-10-09 15:41:36.670
qm_init_uga_helper: received error e=604 e2=1013
*** 2011-10-09 15:41:36.674
ksedmp: internal or fatal error
ORA-00604: error occurred at recursive SQL level 2
ORA-01013: user requested cancel of current operation
代码如下:
Current SQL statement for this session:
select count(*)  from user$ u, xdb.xdb$schema s  where u.user# = :1  and   u.name  = s.xmldata.schema_owner  and  (xdb.xdb$Extname2Intname(s.xmldata.schema_url, s.xmldata.schema_owner) = :2)

另外在搜索ora-600 kgantc_1错误时发现了由于没有debug权限导致该错误的例子,这里也一并记录下来,以便日后查看。

参考

http://yangtingkun.itpub.net/post/468/521820

客户碰到了这个错误,在这个错误出现同时,伴随着大量PL/SQL相关的错误信息。
详细的错误信息为:
Errors in file /opt/oracle/diag/rdbms/mobiledb_n/mobiledb/trace/mobiledb_ora_3450.trc (incident=48961):
ORA-00600: 内部错误代码, 参数: [kgantc_1], [0], [1], [], [], [], [], [], [], [], [], []
ORA-00604: 递归 SQL 级别 1 出现错误
ORA-06510: PL/SQL: 用户定义的异常错误未得到处理
ORA-06512: 在 "SYS.PBREAK", line 1087
ORA-06512: 在 "SYS.PBSDE", line 201
ORA-06510: PL/SQL: 用户定义的异常错误未得到处理
ORA-06512: 在 line 1
ORA-06510: PL/SQL: 用户定义的异常错误未得到处理
ORA-00604: 递归 SQL 级别 1 出现错误
ORA-06510: PL/SQL: 用户定义的异常错误未得到处理
ORA-06512: 在 "SYS.PBREAK", line 1087
ORA-06512: 在 "SYS.PBSDE", line 201
ORA-06510: PL/SQL: 用户定义的异常错误未得到处理
ORA-06512: 在 line 1
ORA-06512: 在 "HCONTENT.INFODLFLOG", line 13
ORA-06512: 在 line 3
Incident details in: /opt/oracle/diag/rdbms/mobiledb_n/mobiledb/incident/incdir_48961/mobiledb_ora_3450_i48961.trc
Thu Aug 04 12:17:41 2011
Dumping diagnostic data in directory=[cdmp_20110804121741], requested by (instance=1, osid=3450), summary=[incident=48961].
Use ADRCI or Support Workbench to package the incident.
See Note 411.1 at My Oracle Support for error and packaging details.
Errors in file /opt/oracle/diag/rdbms/mobiledb_n/mobiledb/trace/mobiledb_ora_3450.trc:
ORA-00600: 内部错误代码, 参数: [kgantc_1], [0], [1], [], [], [], [], [], [], [], [], []
ORA-00604: 递归 SQL 级别 1 出现错误
ORA-06510: PL/SQL: 用户定义的异常错误未得到处理
Errors in file /opt/oracle/diag/rdbms/mobiledb_n/mobiledb/trace/mobiledb_ora_3450.trc:
ORA-00600: 内部错误代码, 参数: [kgantc_1], [0], [1], [], [], [], [], [], [], [], [], []
ORA-00604: 递归 SQL 级别 1 出现错误
ORA-06510: PL/SQL: 用户定义的异常错误未得到处理
ORA-06512: 在 "SYS.PBREAK", line 1087
ORA-06512: 在 "SYS.PBSDE", line 201
ORA-06510: PL/SQL: 用户定义的异常错误未得到处理
ORA-06512: 在 line 1
ORA-06510: PL/SQL: 用户定义的异常错误未得到处理
ORA-00604: 递归 SQL 级别 1 出现错误
ORA-06510: PL/SQL: 用户定义的异常错误未得到处理
ORA-06512: 在 "SYS.PBREAK", line 1087
ORA-06512: 在 "SYS.PBSDE", line 201
ORA-06510: PL/SQL: 用户定义的异常错误未得到处理
ORA-06512: 在 line 1
ORA-06512: 在 "HCONTENT.INFODLFLOG", line 13
ORA-06512: 在 line 3
Dumping diagnostic data in directory=[cdmp_20110804121745], requested by (instance=1, osid=3450), summary=[abnormal process termination].
Thu Aug 04 12:17:45 2011
Errors in file /opt/oracle/diag/rdbms/mobiledb_n/mobiledb/trace/mobiledb_ora_3450.trc (incident=60001):
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-06510: PL/SQL: unhandled user-defined exception
ORA-06512: at "SYS.PBREAK", line 1087
ORA-06512: at "SYS.PBSDE", line 201
ORA-06510: PL/SQL: unhandled user-defined exception
ORA-06512: at line 1
ORA-06510: PL/SQL: unhandled user-defined exception
ORA-00604: error occurred at recursive SQL level 1
ORA-06510: PL/SQL: unhandled user-defined exception
ORA-06512: at "SYS.PBREAK", line 1087
ORA-06512: at "SYS.PBSDE", line 201
ORA-06510: PL/SQL: unhandled user-defined exception
ORA-06512: at line 1
ORA-06512: at "HCONTENT.INFODLFLOG", line 13
ORA-06512: at line 3
Incident details in: /opt/oracle/diag/rdbms/mobiledb_n/mobiledb/incident/incdir_60001/mobiledb_ora_3450_i60001.trc
Errors in file /opt/oracle/diag/rdbms/mobiledb_n/mobiledb/incident/incdir_60001/mobiledb_ora_3450_i60001.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
客户的数据库版本是11.2.0.2,而metalink上并没有这么新的版本的说明。不过Oracle的官方记录了类似情况,由于缺少权限,导致PL/SQL出现大量错误,从而最终引发了ORA-600(kgantc_1)的错误。
观察除了ORA-600(kgantc_1)以外的错误信息,问题多半是由于“PL/SQL: 用户定义的异常错误未得到处理”所致。和客户的DBA沟通,确认问题发生时刻,有开发程序员通过PLSQL DEVELOPER工具的DEBUG功能来执行PL/SQL代码。
显然是由于DEBUG过程中,出现了自定义的异常没有捕获的情况,从而引发了这个600错误。而解决问题的方法也很简单,如果不能避免DEBUG程序,那么起码在DEBUG的时候,确保捕获了所有的异常,并不会再次抛出。

参考:

http://oraclesniplets.tumblr.com/post/1008635630/my-oracle-support-oracle-database-335954-1

ORA-1031 ORA-600[17285] ORA-600[KGANTC_1] Debugging PL/SQL [ID 335954.1]   Modified 18-DEC-2009     Type PROBLEM     Status PUBLISHED
In this Document
  Symptoms
  Cause
  Solution
  References
Applies to:
Oracle Server - Enterprise Edition - Version: 10.1.0.3
Information in this document applies to any platform.
***Checked for relevance on 18-DEC-2009***
Symptoms
Debugging PL/SQL using a 3rd party debugger (ie Oraedit) or the DBMS_DEBUG package fails with the
following error sequence reported in the alert log:
Tue Sep 6 11:58:25 2005
Errors in file /ora/RADBAD/admin/udump/radbad_ora_25947.trc:
ORA-00600: internal error code, arguments: [17285], [0xFFFFFFFF7B97B038], [18446744073709551615],
[0x3AD4A9688], [], [], [], []
ORA-00604: error occurred at recursive SQL level 1
ORA-06510: PL/SQL: unhandled user-defined exception
ORA-06512: at “SYS.PBREAK”, line 1052
ORA-06512: at “SYS.PBSDE”, line 201
ORA-01031: insufficient privileges
ORA-06512: at line 1
ORA-00604: error occurred at recursive SQL level 1
ORA-06510: PL/SQL: unhandled user-defined exception
ORA-06512: at “SYS.PBREAK”, line 1052
ORA-06512: at “SYS.PBSDE”, line 201
ORA-01031: insufficient privileges
ORA-06512: at line 1
Trace file also shows the following errors
Probe:S:debug_loop: exception 1: ORA-01031: insufficient privilege
Other internal errors that may accompany the ora-1031 and ora-6512 are:
ORA-07445: exception encountered: core dump [pfrdmp()+4] [SIGSEGV] [Address not mapped to object] [0x0000000B0] [] []
ORA-07445: exception encountered: core dump [kkxtcs()+216] [SIGBUS] [Invalid address alignment] [0x657273696F6E202D] [] []
ORA-00600: internal error code, arguments: [kgantc_1], [0], [1], [], [], [], [], []
Cause
User does not have sufficient privileges for debugging PL/SQL
Bug:4640115 was filed to address the internal errors exposed when the accurate error is the ora-1031
Bug:4640115 was still in progress at the time this note was written
Solution
1. Connect in SQL*Plus as a DBA/SYSDBA
2. grant the privilege DEBUG CONNECT SESSION to your user:
   SQL> GRANT DEBUG CONNECT SESSION to <user> ;
References
BUG:4640115 - [9/6] GETTING ORA 600 WHEN DEBUGGING PL/SQL ORA-600
NOTE:257940.1 - Debugging PL/SQL From Oracle JDeveloper Fails With Errors ORA-1031 ORA-6512
Show Related Information Related
Products
    Oracle Database Products > Oracle Database > Oracle Database > Oracle Server - Enterprise Edition
Errors ORA-7445[EXCEPTION]; ORA-600[17285]; ORA-600[KGANTC_1]; ORA-7445; ORA-6512; ORA-604; ORA-1031; ORA-6510; 2005 ERROR

参考至:http://yangtingkun.itpub.net/post/468/521820

          http://oraclesniplets.tumblr.com/post/1008635630/my-oracle-support-oracle-database-335954-1

本文原创,转载请注明出处、作者

如有错误,欢迎指正

邮箱:czmcj@163.com

1
1
分享到:
评论

相关推荐

    ORA-00600: internal error code, arguments [4194]错误

    NULL 博文链接:https://gembler.iteye.com/blog/346242

    p8922013_10204_Linux-x86-64.zipORA-00600: INTERNAL ERROR CODE, ARGUMENTS: [17059

    描述中提到的 "ORA-00600: INTERNAL ERROR CODE, ARGUMENTS: [17059], [0X93953434]" 是一个Oracle数据库内部错误代码,表示遇到了无法处理的系统级异常。ORA-00600错误通常涉及到数据库的内部一致性问题,这可能是...

    解决Exception java.sql.SQLException ORA-00600 内部错误代码

    在oracle里面运行一下,解决Exception java.sql.SQLException ORA-00600 内部错误代码

    如何处理错误ORA-29275:部分多字节字符

    ### 如何处理错误ORA-29275:部分多字节字符 #### 问题背景与描述 在Oracle数据库操作过程中,用户可能会遇到一个特定的错误提示——ORA-29275:部分多字节字符。这一错误通常出现在执行查询`SELECT * FROM V$...

    ORA-04052p5731178_92080_WINNT.zip

    ORA-00604: 递归SQL层1出现错误 ORA-03106: 致命的双工通信协议错误 ORA-02063: 紧接着line(源于dblink) 以及 ORA-04052: 在查找远程对象时出错 ORA-00604: 递归SQL层1出现错误 ORA-03120: 双工转换例行程序:整数...

    oracle11g 内部参数出错问题

    Oracle 11g 内部错误代码 ORA-00600 是一个非常通用的错误,它表示数据库遇到了一个无法处理的内部错误或异常情况。这个错误通常涉及到Oracle数据库的底层结构,如数据块、索引或者内存管理等,且参数列表可以提供...

    ORA-00904: "WM_CONCAT": 标识符无效

    在Oracle数据库中,"ORA-00904"是一个常见的错误代码,它表示尝试引用一个不存在或无效的标识符。在这个场景下,错误信息提到的是"WM_CONCAT"函数,这表明在Oracle 19c数据库环境中,用户尝试使用WM_CONCAT函数,但...

    ora-01033:oracle initialization or shutdown in progress 解决方法

    ### ora-01033: Oracle Initialization or Shutdown in Progress 解决方法 #### 一、问题背景及原因 **标题**: “ora-01033: Oracle initialization or shutdown in progress 解决方法” **描述**: “ora-01033: ...

    ORA-32001:请求写入spfile,但没有使用spfile的解决方法

    ORA-32001:write to spfile requested but no spfile is in use请求写入spfile,但没有使用spfile的解决方法 在输入以下语句中报了这样的错误: SQL&gt;alter system set control_files=’/u01/app/oracle/oradata/prod/...

    Oracle 授权 ORA-00990: 权限缺失或无效

    在Oracle数据库管理中,"ORA-00990: 权限缺失或无效"是一个常见的错误代码,它表示用户尝试执行的操作没有足够的权限。这个错误通常发生在试图访问、修改或者管理数据库对象(如表、视图、索引等)时。在本篇文章中...

    oracle报错(ORA-00600)问题处理

    Oracle数据库报错ORA-00600是一个内部错误,通常表示系统遇到了未预见的问题或已知的软件缺陷。这个错误通常与Oracle的内核代码有关,而不是用户的SQL操作。在描述中,我们看到错误与“kcblasm_1”和参数103相关联,...

    ORA-12154: TNS: 无法解析指定的连接标识符的解决方法

    ORA-12154: TNS: 无法解析指定的连接标识符的解决方法

    oracle特有的错误:ORA-01036:非法的变量名/编号

    在Oracle数据库系统中,"ORA-01036:非法的变量名/编号"是一个常见的错误,通常出现在PL/SQL代码或者SQL查询语句中,当你尝试使用一个不正确或者未定义的变量时,Oracle数据库会抛出这个错误。这个错误可能是由于...

    oracle报错大全(珍藏版)

    #### ORA-00022: Error Getting Lock ID 获取锁ID时出错,通常是由于内部数据库错误或并发控制机制的问题。 #### ORA-00023: Unable to Lock Resource in Library Cache 当无法锁定库缓存中的资源时触发。这可能与...

    使用工具IMPDP导入数据时ORA-39002、ORA-39070错误排查

    在使用Oracle Data Pump工具IMPDP(Import Data Pump)进行数据导入的过程中,可能会遇到ORA-39002和ORA-39070等错误。本文将针对这些错误的排查方法进行详细介绍,帮助用户理解问题的原因及解决策略。 ### 错误...

    WMSYS.zip解决ORA-00904:

    -- 解决ORA-00904: "WMSYS"."WM_CONCAT": 标识符无效 的文件包....... -- 解决ORA-00904: "WMSYS"."WM_CONCAT": 标识符无效 的文件包....... -- 解决ORA-00904: "WMSYS"."WM_CONCAT": 标识符无效 的文件包....... ...

    CLOB 字段类型报错 ORA-01704: 文字字符串过长的解决

    然而,当你尝试向CLOB字段插入数据时,如果超过了Oracle规定的最大限制,就会遇到“ORA-01704: 文字字符串过长”的错误。这个错误通常意味着你试图插入的字符串超过了Oracle数据库允许的最大长度,对于VARCHAR2类型...

Global site tag (gtag.js) - Google Analytics