一个几百G的图像分区表,其中一个分区上的3个数据文件上分别有几个坏块,请教如何修复坏块,坏块上的数据丢了没有关系。

解决方案 »

  1.   

    如果有此表的最新备份,那么最好是用此备份来恢复此表,或者使用event 10231来取出坏块以外的数据:
    <1>.先关闭数据库<2>.编辑init<sid>.ora文件,加入:event=”10231 trace name context forever,level 10” <3>.startup restrict<4>.创建一个临时表:SQL>create table errortemp as select * from error;(error是坏表的表名)<5>.把event从init<sid>.ora文件中删掉并重起数据库<6>.rename坏表,把临时表rename成坏表的表名<7>.创建表上的INDEX等如果ORA-01578出错信息提示数据坏块指向的是数据字典或者是回滚段的话, ORACLE公司联系,共同商量一个 
    好的解决办法。
      

  2.   

    create table errortemp as select * from error;(error是坏表的表名)
    这样需要很大的空间和比较长的时间,能否给出只处理某个分区的方法?