ITPub博客

首页 > Linux操作系统 > Linux操作系统 > ORA-600(13013)错误

ORA-600(13013)错误

原创 Linux操作系统 作者:yangtingkun 时间:2012-01-10 23:41:18 0 删除 编辑

客户环境中出现ORA-600(13013)错误。

 

 

错误信息如下:

Mon Dec 26 23:13:00 2011
Errors in file /oracle/admin/htzback/udump/htzback_ora_32522.trc:
ORA-00600:
内部错误代码, 参数: [13013], [5001], [52828], [625368235], [67], [629556358], [17], []

查询MOS发现,对于13013错误而言,随后的6个参数含义如下:

Arg [a] Passcount
Arg [b] Data Object number
Arg [c] Tablespace Relative DBA of block containing the row to be updated
Arg [d] Row Slot number
Arg [e] Relative DBA of block being updated (should be same as [c])
Arg [f] Code

可以根据DATA OBJECT IDDBA_OBJECTS视图中找到对应的对象,如果是表,可以使用ANALYZE TABLE TABLENAME VALIDATE STRUCTURE CASCADE的方式来验证表结构,如果是索引,可以用ANALYZE INDEX INDEXNAME VALIDATE STRUCTURE的方式验证索引结构。

根据参数C可以计算出问题出现的相对文件号和BLOCK号:

SQL> select dbms_utility.data_block_address_file(625368235) rfile,
  2 dbms_utility.data_block_address_block(625368235) blocks
  3 from dual;

RFILE     BLOCKS
---------- ----------
       149     416939

根据找到的文件号,可以使用dbv对指定的文件进行检查。

如果确实发现逻辑损害,且错误发生在索引上,那么最简单的办法莫过于利用DBMS_METADATA获取索引的源数据,然后将索引删除后重建。

如果错误发生在表上,且存在备份,可以直接利用BLOCKRECOVER命令进行恢复。

如果备份不存在,可以利用DBMS_REPAIR包,或者使用EVENTS 10231LEVEL 10,跳过坏块。当然也完全可以通过ROWID方式来手工跳过这个错误。

 

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/4227/viewspace-714775/,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论
暂无介绍

注册时间:2007-12-29

  • 博文量
    1955
  • 访问量
    10388020