数据库报ORA-00600: 内部错误代码, 参数: [17059],并产生大量trace日志文件

用户反馈数据库服务器磁盘空间使用耗尽。 登录服务器后查看,发现数据库产生大量的trace日志,并在alert日志中发现ora-600错误

alert日志信息:

Fri Jul 17 06:13:40 2015
Errors in file d:\app\administrator\diag\rdbms\orcl\orcl\trace\orcl_ora_53832.trc  (incident=35764):
ORA-00600: 内部错误代码, 参数: [17059], [0xDD7E984D0], [0xDD7E98D68], [0xE17AD9658], [], [], [], [], [], [], [], []
Fri Jul 17 06:14:01 2015
Sweep [inc][39570]: completed
Sweep [inc][39568]: completed
Sweep [inc][39466]: completed
Sweep [inc][35764]: completed
Fri Jul 17 06:14:10 2015
DDE: Problem Key ‘ORA 600 [17059]‘ was completely flood controlled (0x6)
Further messages for this problem key will be suppressed for up to 10 minutes

trace文件内容:

*** 2015-07-17 06:35:20.058
*** SESSION ID:(42.1215) 2015-07-17 06:35:20.058
*** CLIENT ID:(server#Thread-42) 2015-07-17 06:35:20.058
*** SERVICE NAME:(SYS$USERS) 2015-07-17 06:35:20.058
*** MODULE NAME:(JDBC Thin Client) 2015-07-17 06:35:20.058
*** ACTION NAME:() 2015-07-17 06:35:20.058

LibraryHandle:  Address=17ad9658 Hash=931b2cd4 LockMode=N PinMode=0 LoadLockMode=0 Status=VALD
  ObjectName:  Name=SELECT invokedId, timeConfig, lastTime, nextTime, nextTime2, handlerClz FROM bi_schd_timer WHERE nvl ( to_char( nextTime ), :"SYS_B_0" ) = :"SYS_B_1" or ( nextTime >= :"SYS_B_2" and nextTime < :"SYS_B_3" )

    FullHashValue=ee068dcfa54c7cea1ff5ed5c931b2cd4 Namespace=SQL AREA(00) Type=CURSOR(00) Identifier=2468031700 OwnerIdn=87
  Statistics:  InvalidationCount=0 ExecutionCount=32768 LoadCount=32769 ActiveLocks=1 TotalLockCount=43844 TotalPinCount=1
  Counters:  BrokenCount=1 RevocablePointer=1 KeepDependency=32768 KeepHandle=32768 BucketInUse=43841 HandleInUse=43841
  Concurrency:  DependencyMutex=17ad9708(0, 11073, 0, 0) Mutex=17ad9780(42, 1409403, 3395054, 6)
  Flags=RON/PIN/TIM/PN0/DBN/[10012841]
  WaitersLists:
    Lock=17ad96e8[17ad96e8,17ad96e8]
    Pin=17ad96f8[17ad96c8,17ad96c8]
  Timestamp:  Current=07-09-2015 12:55:05
  LibraryObject:  Address=d7e984d0 HeapMask=0000-0001-0001 Flags=EXS[0000] Flags2=[0000] PublicFlags=[0000]
    DataBlocks:
      Block:  #=‘0‘ name=PCUR^931b2cd4 pins=0 Change=NONE
        Heap=17ad95a0 Pointer=d7e985b8 Extent=d7e98450 Flags=I/-/P/A/-/-
        FreedLocation=0 Alloc=1.515625 Size=4.000000 LoadTime=17207577371
    ChildTable:  size=‘32768‘
      Child:  id=‘0‘ Table=d7e99380 Reference=d7e98e20 Handle=17ad9248
      Child:  id=‘1‘ Table=d7e99380 Reference=d7e99188 Handle=17ad8558
      Child:  id=‘2‘ Table=d7e99380 Reference=d7e869b0 Handle=17ad7868
      ...
      Child:  id=‘32767‘ Table=31d8e5e8 Reference=31d624c0 Handle=163589d8
  NamespaceDump:
    Parent Cursor:  sql_id=1zxgdbk9jqb6n parent=0000000DD7E985B8 maxchild=32769 plk=y ppn=n KGX cleanup...

*** 2015-07-17 06:35:20.885
KGX Atomic Operation Log 0000000E16076E40
 Mutex 0000000E17AD9780(42, 0) idn 931b2cd4 oper EXCL
 Library Cache uid 42 efd 5 whr 102 slp 0
 oper=0 pt1=17ad9658 pt2=0 pt3=0
 pt4=0 pt5=0 ub4=0
Trace file d:\app\administrator\diag\rdbms\orcl\orcl\trace\orcl_ora_12308.trc
Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options

LibraryHandle:  Address=17ad9658 Hash=931b2cd4 LockMode=N PinMode=0 LoadLockMode=0 

登陆数据库查看:

发现cursor_sharing被设置为smilar,修改为exact后错误消除

SQL> show parameter cursor

NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
cursor_sharing                       string      SIMILAR

SQL> alter system set cursor_sharing=exact scope=both;

System altered.

SQL>

其它类似错误可以参考MOS文档:

Understanding and Diagnosing ORA-600 [17059] Errors (Doc ID 1683417.1)
Bug 9689310 - Excessive child cursors / high VERSION_COUNT / ORA-600 [17059] due to bind mismatch (Doc ID 9689310.8)

时间: 2024-08-27 01:40:25

数据库报ORA-00600: 内部错误代码, 参数: [17059],并产生大量trace日志文件的相关文章

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

环境 数据库版本11.2.0.4,PSU:OJVM+GIPSU 11.2.0.4.161018 操作系统版本:SUSE Linux Enterprise Server 11 (x86_64) alert日志报错信息如下: Tue May 09 13:33:46 2017 Errors in file               /opt/oracle/app/oracle/diag/rdbms/suseora/suseora2/trace/suseora2_ora_11541.trc  (inc

ORA-00600: 内部错误代码, 参数: [kcm_headroom_warn_1], [], [], [], [], [], [], [], [], [], [], []

SQL*Plus: Release 11.2.0.4.0 Production on 星期三 1月 1 08:53:48 2003 Copyright (c) 1982, 2013, Oracle. All rights reserved. idle> startupORACLE 例程已经启动. Total System Global Area| 158204342272|bytesFixed Size | 2254816|bytesVariable Size | 32749127712|byt

ORA-00600: 内部错误代码, 参数:[qcsgpvc3],[],[],[],[],[],[],[],[],[],[],[]

运行时报ORA-00600: 内部错误代码, 参数:[qcsgpvc3],[],[],[],[],[],[],[],[],[],[],[]    ,上网搜了但大多数都不行.无心插柳柳成荫,就在无奈想要换个SQL方法时 看到了一篇看起来挺有用的文章,上面说  "问题应该是Oracle在编译包体时,没有区分表的列和过程的参数的区别,从而引发了这个错误.而Oracle给出的建议也是, 避免过程或函数的变量与过程中参考的列名出现重名的情况.",于是乎想了想是不是插入的时候,或者更新的时候字段重

ORA-00600: 内部错误代码, 参数: [kqlnrc_1]

如以下的错误: Mon Mar 31 18:45:59 2014 Errors in file /oracle/app/oracle/diag/rdbms/zscims/zscims2/trace/zscims2_ora_11403518.trc  (incident=28382): ORA-00600: 内部错误代码, 參数: [kqlnrc_1], [0x7000003F55C3B60], [], [], [], [], [], [], [], [], [], [] Incident det

plsql 连接oralce数据库,报ora 12557 tns 协议适配器不可加载错误

使用plsql 连接oracle 数据库报ora 12557 错误: 解决方案: 1:首先确保服务中的service以及监听器都开启 2:F:\app\Administrator\product\11.2.0\dbhome_1\NETWORK\ADMIN下的tnsnames配置文件中的字符串连接是否配置 这个路径根据你的oracle安装路径有关 3:如果还是不行,删除注册表里面的环境变量oracle_home,默认只想路径 cmd——rededit—— HKEY_LOCAL_MECHINE——S

数据库恢复之丢失联机重做日志文件的恢复

联机重做日志文件用来循环记录ORACLE数据库的所有操作,几乎时刻都在读写,因此单纯备份某个时间点的联机重做日志文件没有意义,恢复时根本用来上.RMAN的备份里根本就没有备份联机重做日志的功能,而且不止RMAN,所有的备份软件都没有备份联机重做日志文件的说法.因此,丢失联机重做日志后的数据库恢复也用不到RMAN. 如果ORACLE数据库在启动时发现丢失某一某一联机重做日志文件,则直接报错.ORACLE通过文件冗余的方式来确保联机重做日志文件的安全.即每组联机重做日志创建 多个文件,至少两个,每个

使用作业自动清理数据库日志文件

原文:使用作业自动清理数据库日志文件 在上一篇文章中介绍了如何删除数据库日志文件,但是想想还是不是不方便需要手工操作,于是想结合作业实现自动清理日志文件,在清理日志文件时我加上了条件,当磁盘控空间不足多少M才会清理,下面介绍如何实现该功能.没有阅读上一篇文章的,可以通过传送门阅读(删除数据库日志文件的方法)! 阅读目录 SQL查询磁盘空间大小 存储过程添加作业 示例下载 回到顶部 SQL查询磁盘空间大小  采用内置的存储过程,即可查看各个磁盘可用空间 exec master..xp_fixedd

删除数据库日志文件的方法

原文:删除数据库日志文件的方法 你曾经有在执行SQL的时候,数据库报事务日志已满,然后执行报错.然后纠结于怎么删除数据库日志,捣鼓半天吗,现在就提供两种删除日志文件的方法,希望能够帮到你! 阅读目录 方法一:手工操作 方法二:存储过程代替手工操作 示例存储过程下载 回到顶部 方法一:手工操作   1.数据库->右键->属性->选项-恢复模式->由完成切换成简单   2.数据库->右键->任务->收缩-文件->由完成切换成简单->文件类型->日志-

sql server 2012 数据库日志文件过大,怎么缩小?

最近发现网站不能访问,原因数据库服务器磁盘剩余空间没了.再细查发现日志文件占用了70%,收缩日志文件失败. 在网上查找原因,是没有备份不能收缩日志文件. 临时解决的方式: 备份事务日志,再收缩日志文件.(完整数据库备份后,也可以收缩日志文件) 长久的解决方案: 制定维护计划,定期备份数据库,收缩日志文件.