mysql中的130错误_ORA-00600(13013)错误解决方法

客户环境中出现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 ID在DBA_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 10231的LEVEL 10,跳过坏块。当然也完全可以通过ROWID方式来手工跳过这个错误。

0b1331709591d260c1c78e86d0c51c18.png

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值