您的位置:首页 > 数据库 > Oracle

java.sql.SQLException: ORA-01578: ORACLE 数据块损坏问题解决办法

2015-08-29 15:38 731 查看
错误信息:

java.sql.SQLException: ORA-01578: ORACLE 数据块损坏 (文件号 17, 块号 315703)

ORA-01110: 数据文件 17: 'D:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\DEMO.DBF'

可能的原因有很多,比如物理磁盘坏块,比如Oracle故障……,反正不好定位具体的问题

简单、粗暴的解决办法:

1、查询有坏块的表

select tablespace_name, segment_type, owner, segment_name 
from dba_extents 
where file_id = 17
and 315703 between block_id and block_id + blocks - 1;


2、清空表中的数据

truncate table tabelName;


3、从数据备份中恢复数据

根据备份方式恢复单表数据,如果是测试环境,此步骤就可省略。。。,重新跑测试数据就可以了

其他说明,删除表重建也可以,目的都是跳过Oracle数据文件的坏块

参考资料:

EXPORA-01578(数据块损坏) 错误解决方法 http://www.itpub.net/thread-1045172-1-1.html
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: