oracle 01578 数据块损坏 怎么忽略

windows 2008 oracle 11 非归档模式

数据库启动时没有错误提示。写入数据时会提示01578,这个数据文件在一个大的空间里(有很多数据文件)。我把它offline drop 后,查询它的状态是available.再写入数据时会提示01110错误,用recover 不成功,因为没有归档的日志。

请问:我能否在offline前把这个坏块的错误忽略掉?或者我在offline后不让数据库再去访问这个数据文件呢?

在 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;

www.2cto.com

-- 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’

数据块损坏的处理办法搜下,帮你顶