ORA-01578(数据块损坏)错误解决方法

错误:在 exp 时出现以下错误:  
EXP-00056: 遇到 ORACLE 错误 1578  
ORA-01578: ORACLE 数据块损坏(文件号4,块号65)  
ORA-01110: 数据文件 4: ’E:\ORACLE\ORADATA\USERS.DBF’  

措施:  
-- 1. 检查损坏的对象  
SELECT tablespace_name, segment_type, owner, segment_name  
            FROM dba_extents  
           WHERE file_id = 4  
             and 65 between block_id AND block_id + blocks - 1;  

-- 2. 设置内部事件,使exp跳过损坏的block  
ALTER SYSTEM SET EVENTS=’10231 trace name context forever,level 10’ ;   

-- 3. 导出表  
exp user1/passwd1 file=t1.dmp tables=t1  

-- 4. 删除有坏块的表  
drop table t1 purge;  

-- 5. 导入表  
imp user1/passwd1 file=t1.dmp tables=t1  

-- 6. 清除跟踪事件  
ALTER SYSTEM SET EVENTS=’10231 trace name context off’ ; 

猜你喜欢

转载自liufeng-king.iteye.com/blog/1635253
今日推荐