- 论坛徽章:
- 0
|
oracle9011/ windows2000
table pic (pic_id number,pic_pic blob) 用于存放图片资料
tablespace users
共有10万多条记录 17G多数据空间
近期发现几个datafile有坏块,无法把pic表的数据exp出来,exp的时候碰到错误的数据块产生ora-01578的错误就停了。系统没有在线备份。
我试图写程序遍历整张表来找到错误的记录,但是oracle碰到错误的记录就不动了,不报错,只是不停的写出一个巨大的udump文件(最大的一次写了6G),并且遍历的时间很长,没有办法监控。所以很难找到那些错误的记录。用了4天时间才找到一条坏记录。把坏记录删除后,EXP就能多做了一点。
试过dbms_repair,但是dbms_repair找不到错误的记录。
试过ALTER SYSTEM SET EVENTS ‘10231 trace name context forever,level 10’;
也不能成功。
用dbverify查到4个datafile共有5个坏快。并且坏块都是blob extent segment。
我发现表的数据的rowid和blob字段的rowid是不同的,但又不知道BLOB字段的ROWID和表数据的关系。
请教如何查找到这些坏块对应的记录。 |
|