oracle数据块坏,oracle ora-01578 ORACLE 数据块损坏 (文件号 4, 块号 840339)

ORA-01578是 数据块物理坏块/损坏的一种,不同于逻辑损坏/坏块,一般 会伴随ORA-1110出现,一旦ORACLE读取到存在损坏的块就会报出Caused by: java.sql.SQLException: ORA-01578: ORACLE 数据块损坏 (文件号 4, 块号 840339)

ORA-01110: 数据文件 4: 'E:\APP\ADMINISTRATOR\ORADATA\ORCL\USERS01.DBF'

解决方法如下:

1、使用DBV检查数据文件,在cmd目录下直接输入dbv file='E:\APP\ADMINISTRATOR\ORADATA\ORCL\USERS01.DBF' blocksize=8192;然后等待检测结果

2、检查损坏相关的表

SELECT tablespace_name, segment_type, owner, segment_name FROM dba_extents  WHERE file_id = 4 and 840339 between block_id AND block_id + blocks - 1;

查到相关的表名

3、内部事件,设置在全表扫描时跳过损坏的数据块:ALTER SYSTEM SET EVENTS='10231 trace name context forever,level 10';

4、导出上边相关的表没有损坏的数据exp test/test file=t.dmp tables=t

5、删除损坏相关的表 drop table t;

再将数据做导入imp test/test file=t.dmp tables=t

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值