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

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

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

 

适用于:

Oracle Database - Enterprise Edition –版本10.2.0.1 10.2.0.5 [Release 10.2] 本文信息适用于任何平台。 适用于10gR2 *** 05-AUG-2014检查相关性***

症状

在报告的trace文件中: 遇到的错误:(ORA-01578: ORACLE data block corrupted (file# xx, block# xxxx) ORA-01110: data file x: '.....' ORA-26040: Data block was loaded using the NOLOGGING option Db Verify 报告: DBV-00200: Block, dba xxxxxx, already marked corrupted

原因

如果一个NOLOGGING(或不可恢复)操作在对象上执行,且包含该对象的数据文件随后被恢复,则受NOLOGGING操作影响的数据块被标记为损坏,并将发出ORA-1578ORA-26040 注意,从块中无法抢救出数据。 这在重建该对象时是需要的。

然而,损坏仍可能遗留在SYSAUX表空间中,直到块被再使用且因此重新格式化时。

解决方案

重建AWRAutomatic Workload Repository)表的步骤是:

 1. 通过设置统计级别为basic,禁用AWR统计收集 ,例如: sqlplus /nolog connect / as sysdba show parameter statistics_level alter system set statistics_level = basic scope=both; 2. restricted模式下停止并重启实例,例如: sqlplus /nolog connect / as sysdba shutdown immediate startup restrict 3. Drop 并重建AWR 对象,例如: sqlplus /nolog connect / as sysdba @?/rdbms/admin/catnoawr alter system flush shared_pool; @?/rdbms/admin/catawr.sql @?/rdbms/admin/utlrp 4. 然后重新启用所需的AWR 统计收集,通过将STATISTICS_LEVEL 设回初始值并正常重启实例,例如: sqlplus /nolog connect / as sysdba alter system set statistics_level = <Previous Value from above> scope=both; shutdown immediate startup

5. 10GR2 (实际上是10.2.0.3 )应用最新的补丁集,它解决一些AWR相关的损坏问题。

参考

NOTE:293515.1 - ORA-1578 ORA-26040 in a LOB segment - Script to solve the errors