java.sql.SQLException: ORA-01578: ORACLE 数据块损坏
java.sql.SQLException: ORA-01578: ORACLE 数据块损坏 (文件号 79, 块号 1787306)
ORA-01110: 数据文件 79: ‘/home/u01/app/oracle/oradata/ORCL/marian70.dbf’
解决办法
- 查询损坏具体内容
Select * from dba_extents
where file_id = 57 and 2172746 between block_id and block_id + blocks - 1;
- 如果是索引损坏,尝试查询数量
select count(*) from test
- 复制表
create table test_bak as select * from test;
- 检查复制表数量
select count(*) from test_bak;
-
先手工备份主键、索引、约束等信息。
-
清除原有表,再重新创建新表
truncate table test;
drop table test;
rename test_bak to test;