你好,游客 登录 注册 搜索
背景:
阅读新闻

ORA-600[13011] 错误解决一例

[日期:2014-11-17] 来源:Linux社区  作者:sunjiapeng [字体: ]

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报错是因为在更新语句中使用索引找到一条记录,然后到表中去查询时该记录不存在,出现此报错,一般解决方法是重建索引。

首先对表做分析:
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]的报错。

Oracle 单实例 从32位 迁移到 64位 方法  http://www.linuxidc.com/Linux/2012-03/55759.htm

CentOS 6.4下安装Oracle 11gR2(x64) http://www.linuxidc.com/Linux/2014-02/97374.htm

Oracle 11gR2 在VMWare虚拟机中安装步骤 http://www.linuxidc.com/Linux/2013-09/89579p2.htm

Debian 下 安装 Oracle 11g XE R2 http://www.linuxidc.com/Linux/2014-03/98881.htm

更多Oracle相关信息见Oracle 专题页面 http://www.linuxidc.com/topicnews.aspx?tid=12

本文永久更新链接地址http://www.linuxidc.com/Linux/2014-11/109493.htm

linux
相关资讯       ORA-600 
本文评论   查看全部评论 (0)
表情: 表情 姓名: 字数

       

评论声明
  • 尊重网上道德,遵守中华人民共和国的各项有关法律法规
  • 承担一切因您的行为而直接或间接导致的民事或刑事法律责任
  • 本站管理人员有权保留或删除其管辖留言���的任意内容
  • 本站有权在网站内转载或引用您的评论
  • 参与本评论即表明您已经阅读并接受上述条款