Oracle 用 DBMS_REPAIR 或事件10231 从损坏表中提取数据

如果自己搞不定可以找诗檀软件专业ORACLE数据库修复团队成员帮您恢复!

诗檀软件专业数据库修复团队

服务热线 : 13764045638 QQ号:47079569 邮箱:service@parnassusdata.com

 

本说明讲的是在数据库的块包指示该块损坏时对损坏块的处理,是对Note:28814.1文章的延伸 (主要针对ORA-1578 错误)

  如果只发生块内部损坏,这里的细节将不再适用(例如: ORA-600 或其它errors),在这种情况下,从Oracle8i起有可能使用DBMS_REPAIR将问题块标记为软损坏,这样在访问时,就会发出ORA-1578信号。 DBMS_REPAIR.CHECK_OBJECT / FIX_CORRUPT_BLOCKS用法的更多详情请看10.2

  阅读本说明之前,请阅读 Note:28814.1

  该方法只适用于堆组织表,索引组织表 (IOT) 的方法请参考Note 794772.1 – 事件在索引扫描时检查和跳过损坏块

引言

~~~~~~~~~~~~

这篇短文解释了如何跳过对象上的损坏块,使用SKIP_CORRUPT表标志(从Oracle8i中起存在)或特殊的Oracle事件编号10231(从Oracle版本7到更包容性的8.1上可实现)。

这里的信息解释了如何使用这些选项。

处理之前,应该:

a)  确认块损坏在 USER t表上(即:不在数据字典表上)

b)  已联系Oracle 支持服务,被建议使用事件10231 SKIP_CORRUPT 标志

c)  已确定如何重建表格,例如:输出、使用磁盘空间等等。

d)  已计划停机时间以尝试进行补救操作,或者已在别处保存了一个问题数据库的副本,以便在在副本上进行数据提取。

e)  数据库备份

f)  使用SQL重建问题表,它的索引、约束、触发器等。

    SQL 应该包含相关的存储子句。

关注刘相兵的新浪微博

扫码加入微信Oracle小密圈,了解Oracle最新技术下载分享资源

Speak Your Mind