记一次ORA-600[13011]

SunOS 5.10

Oracle 10.2.0.2.0

开发环境某一数据库出现ora-600报错。

alert.log中的报错信息:

Thu Nov 13 15:11:43 2014

Errors in file /oracle/admin/sun/bdump/sun_j000_29589.trc:

ORA-00600: internal error code, arguments: [13011], [298314], [4277430], [0], [4277430], [17], [], []

Thu Nov 13 15:11:45 2014

Errors in file /oracle/admin/sun/bdump/sun_j000_29589.trc:

ORA-00600: internal error code, arguments: [], [], [], [], [], [], [], []

ORA-06512: at "REPADMIN.CEF_PUSH_PURGE", line 145

ORA-06512: at line 1

在 /oracle/admin/sun/bdump/sun_j000_29589.trc trace文件里看到当前SQL是删除system.def$_aqcall的一条记录:

ksedmp: internal or fatal error

ORA-00600: internal error code, arguments: [13011], [298314], [4277430], [0], [4277430], [17], [], []

Current SQL statement for this session:

delete from system.def$_aqcall     where (enq_tid = :1)

依据MOS ORA-600 [13011] "Problem occurred when trying to delete a row"
(文档 
ID 28184.1)各參数对照。

SQL> select object_type,object_name,owner from dba_objects where data_object_id=‘298314‘;

OBJECT_TYPE         OBJECT_NAME                              OWNER

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

TABLE               DEF$_AQCALL                              SYSTEM

关于DEF$_AQCALL表,该表是高级复制的默认队列表,从ORA-06512: at "REPADMIN.CEF_PUSH_PURGE", line 145这边也能够看出确实是高级复制出现了问题,复制及时完毕后。该表会被清空。

出现该ora-600报错是由于在更新语句中使用索引找到一条记录。然后到表中去查询时该记录不存在,出现此报错。一般解决方法是重建索引。----该段引自xifenfei(http://www.xifenfei.com/2623.html

首先对表做分析:

SQL> analyze table system.DEF$_AQCALL validate structure cascade;

analyze table system.DEF$_AQCALL validate structure cascade

*

ERROR at line 1:

ORA-01499: table/index cross reference failure - see trace file

SQL> select index_name,owner,status from dba_indexes where table_name=‘DEF$_AQCALL‘;

INDEX_NAME                     OWNER                          STATUS

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

SYS_IL0000004874C00025$$       SYSTEM                         VALID

SYS_C001407                    SYSTEM                         VALID

DEF$_TRANORDER                 SYSTEM                         VALID

SQL> select index_name,column_name,column_position from dba_ind_columns where table_name=‘DEF$_AQCALL‘;

INDEX_NAME                     COLUMN_NAME                    COLUMN_POSITION

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

SYS_C001407                    ENQ_TID                                      1

SYS_C001407                    STEP_NO                                      2

DEF$_TRANORDER                 CSCN                                         1

DEF$_TRANORDER                 ENQ_TID                                      2

比对数据:全表扫描和走索引时数据对照:

SQL> select /*+ index(t DEF$_TRANORDER) */ CSCN,ENQ_TID from system.DEF$_AQCALL where CSCN is not null or ENQ_TID is not null

2  minus

3  select /*+ FULL(t1) */ CSCN,ENQ_TID from system.DEF$_AQCALL

4  /

CSCN ENQ_TID

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

4755684454 8.37.2233719

4755684456 3.14.2235620

4755684458 8.2.2233699

4755684460 10.30.2223096

果然索引上的记录比表上的数据多了四条。

在线重建索引:

SQL>alter index system.DEF$_TRANORDER rebuild onlie;

Index altered.

再次对照索引上和表上的数据:

SQL> select /*+ index(t DEF$_TRANORDER) */ CSCN,ENQ_TID from system.DEF$_AQCALL where CSCN is not null or ENQ_TID is not null

2  minus

3  select /*+ FULL(t1) */ CSCN,ENQ_TID from system.DEF$_AQCALL

4  /

no rows selected

没有多余数据。通过对alert.log的监控,兴许未发现ora-600[13011]的报错。

时间: 2024-08-02 13:24:06

记一次ORA-600[13011]的相关文章

偶遇问题之ORA 600 [kkpoxgsoh1

alert.log中报错,查看如下: Fri Jul 18 09:25:50 2014 Errors in file /apps/oracle/diag/rdbms/smsrac/smsrac2/trace/smsrac2_ora_15454.trc  (incident=16321): ORA-00600: 内部错误代码, 参数: [kkpoxgsoh1], [0], [], [], [], [], [], [], [], [], [], [] Incident details in: /ap

ADRCI

ADRCI工具是Oracle11g才推出的新工具,主要用来管理alert文件.trace文件.dump文件.健康监事报告等. 这一篇简单介绍ADRCI工具. 用过11g的人都会发现,11g中alert文件以及trace文件的存放位置都发生了变化.从原来的ORACLE_BASE/admin/INSTANCE_NAME目录变成了ORACLE_BASE/diag/rdbms/DBNAME/INSTANCE_NAME目录. Oracle之所以修改了这个跨越多个版本都没有修改过的参数设置,就是因为Orac

Oracle 通过ADR工具 收集ORA-600错误信息

 问题描述: 2014-06-10 在点检数据库预警文件时,出现Ora -00600 错误,并且Rman L1 备份失败,查询相关资料,得知是Bug:9835218.于是,提SR寻求Oracle 官方技术支持. Oracle回复如下: Your Service Request has been submitted as anORA-600/ORA-7445 issue based on the problem type you chose when logging the SR. Additio

ora-00600

Trace file /opt/oracle/app/oracle/diag/rdbms/suseora/suseora2/trace/suseora2_ora_36386.trc Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production With the Partitioning, Real Application Clusters, Automatic Storage Management, OL

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

使用Oracle 11g的adrci的ips打包一个incident

[[email protected] ~]$ which adrci /u02/app/oracle/product/11.2.0.4/db_1/bin/adrci [[email protected] ~]$ adrci ADRCI: Release 11.2.0.4.0 - Production on Sat May 2 22:32:28 2015----->这是os时间 Copyright (c) 1982, 2011, Oracle and/or its affiliates. All

oracle block corrupt 坏块

整体上来讲,oracle的坏块能够分为两种情景:物理损坏和逻辑损坏.物理损坏是因为存储等原因造成的,致使oracle在处理数据块时发现块的checksum不一致.逻辑损坏多是因为oracle的bug或者内存错误引起,通过检測数据块的checksum并不会发现什么问题,可是在逻辑上这些块已经发生了损坏. oracle通过两个參数来控制对物理损坏和逻辑损坏的检測: SQL> show parameter db_block_check NAME TYPE VALUE -----------------

oralce中相关的概念整理

[数据库名]  概念:就是一个数据库的标识,作用等同于我们的身份证的作用,如果一台机器上安装了多个数据库,那么每个数据库都会有一个数据库名称对应,这些数据库名称在数据库被创建的时候,数据库名称也会被写入控制文件中去,在控制文件中是以二进制的文件存储,我们如果要修改的话就不是太方便,所以我们在起数据库名称的时候尽量考虑清楚. 作用:数据库名称是在创建数据库,安装数据库,创建数据库控制文件,修改数据结构的时候或者备份数据库的时候会使用到. 我们如果想在sqlplus中查看当前连接的数据库名称: 方法

[Oracle]如何获得出现故障时,客户端的详细连接信息

客户坚持说 只是在 每天早上5点才运行下面的语句: select / * + FULL (TAB001_TT01) * / 'TAB001_TT01', count (*) from u01.TAB001_TT01 group by 'TAB001_TT01' 但是根据 Incident 文件的记载,发生时间是在 2017-09-26 10: 44: 50.166 , 客户怀疑 Oracle的数据库出现了其他的问题. 这样调查就跑偏方向了. (因为总所周知的原因,修改了敏感信息) 从下面这句“M

数据库报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]