如果ORACLE出现了数据块损坏, 导致SQL语句查询无法完成, 可以采用下面的方法, 将损坏的块排除掉, 这意味着会丢失数据.
方法如下:
1. 以SYS登录ORACLE,执行: ALTER SYSTEM SET EVENTS='10231 trace name context forever,level 10' ;
2. 将表中的数据拷贝到另外的表: CREATE TABLE GLB_PCB_PRINTED_BAK AS SELECT * FROM GLB_PCB_PRINTED;
3.将表重新命名: ALTER TABLE GLB_PCB_PRINTED RENAME TO GLB_PCB_PRINTED_01;
ALTER TABLE GLB_PCB_PRINTED_BAK RENAME TO GLB_PCB_PRINTED;
4.重建索引等其它对象