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

发布时间:2020-08-01 01:09:10 作者:yuezhi
来源:网络 阅读:7514

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


推荐阅读:
  1. ORACLE检查找出损坏索引(Corrupt Indexes)的方法详解
  2. Oracle数据块损坏之10231内部事件不完全恢复

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

oracle ora- ora-01578

上一篇:【Python】对字典列表进行去重追加

下一篇:Redis的RDB和AOF

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》