ORA-01578: ORACLE data block corrupted (file # 3, block # 1675) ORA-01110: data file

发布时间 2023-06-26 17:38:18作者: 简单音乐

oracle出现数据坏块,

解决办法:

1、根据文件号和块号查出损坏的是对象,表还是LOB segment

select tablespace_name,segment_type,owner,segment_name from dba_extents where file_id=4 and 234413between block_id AND block_id + blocks - 1;

①、如果是对象,可以重建

alter index indexname rebuild

②、如果是表,可以使用10231事件忽略坏块,然后使用CTAS方式重建表最后rename table,别忘记rebuild index

alter session SET EVENTS '10231 trace name context forever,level 10';

create table tab_new as select * from tab;

rename tab to tab_bak;

rename tab_new to new;

alter index indexname rebuild;
alter session SET EVENTS '10231 trace name context off';

参考:https://blog.csdn.net/a8619900/article/details/101831455?utm_medium=distribute.pc_relevant.none-task-blog-2~default~baidujs_baidulandingword~default-5-101831455-blog-130491775.235^v38^pc_relevant_sort&spm=1001.2101.3001.4242.4&utm_relevant_index=8