ORA-01578错误,导致drop table 错误 (一)

在自己测试库上,删除一个表时,出现以下错误:
SQL> drop table test;
drop table test
*
ERROR 位于第 1 行:
ORA-00604: 递归 SQL 层 1 出现错误
ORA-01578: ORACLE 数据块损坏(文件号1,块号12936)
ORA-01110: 数据文件 1: 'D:\ORACLE\ORADATA\TEST\SYSTEM01.DBF'

出现ora-01578错误,查下错误代码解释
ORA-01578 ORACLE data block corrupted (file # string, block # string)


Cause: The data block indicated was corrupted, probably due to program errors.

Action: Determine which object was corrupted using a command like the following:

SELECT SEGMENT_TYPE,OWNER||'.'||SEGMENT_NAME FROM DBA_EXTENTS
WHERE file = FILE_ID AND block BETWEEN BLOCK_ID AND BLOCK_ID+BLOCKS -1;


where values for file and block are from the message.

Try to restore the segment containing the block indicated. This may involve dropping the segment and re-creating it. If there is a trace file, report the errors in it to Oracle Support Services.

执行解释中的sql,这里的块号和文件号就是上面出现错误的数字
select segment_type,owner||'.'||segment_name
from dba_extents
where 1 = file_id and 12936 between block_id and block_id+blocks -1;
segment_type owner||'.'||segment_name
index SYS.I_DEPENDENCY1

是索引,那就不怕了,重建索引就ok了,那要是segment_type为table了,那就麻烦点,要修复块
alter index SYS.I_DEPENDENCY1 rebuild online;

SQL> drop table test;

表已丢弃。

正常

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

转载于:http://blog.itpub.net/7199859/viewspace-475/

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值