DBMS_REPAIR.CHECK_OBJECT

From: zigzagdna <zigzagdna_at_yahoo.com>
Date: Fri, 23 Apr 2010 19:02:48 -0700 (PDT)
Message-ID: <74315004-fd10-4876-9d82-8ceca5d8d2bc_at_g11g2000yqe.googlegroups.com>



I am using Oracle 11.1.0.7.1 on HP UNIX 11.23. To my surprise, I find that
a block has been corrupted. My export dump backups fail when reading corrupt blocks.
I cannot repair from a backup, this system is not a production system, no rman backups were taken.
I have read about DBMS_REAPIR and trying it. When I run Check_object procedure:
dbms_repair.CHECK_OBJECT (
   schema_name       => 'TEST',
   object_name       => 'ASGNMT_RANGE',
   partition_name    => null,
   object_type       => dbms_repair.table_object,
   repair_table_name => 'REPAIR_TEST',
 flags             => null,

, it does not populate anything in REPAIR_TEST table and errors with following error:
declare
*
ERROR at line 1:
ORA-01578: ORACLE data block corrupted (file # 5, block # 258)
ORA-01110: data file 5: '/testprd/oradb2/oradata/xxxx/s_xxx_01_d1.dbf'
ORA-06512: at "SYS.DBMS_REPAIR", line 294
ORA-06512: at line 8

As a result when I run dbms_repair.fix_corrupt_blocks it does not fix anything because there is nothing in REPAIR_TEST table. Received on Fri Apr 23 2010 - 21:02:48 CDT

Original text of this message