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

论坛 期权论坛 编程之家     
选择匿名的用户   2021-6-2 20:20   3106   0

错误信息:

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


分享到 :
0 人收藏
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

积分:3875789
帖子:775174
精华:0
期权论坛 期权论坛
发布
内容

下载期权论坛手机APP