RE: Fw: Re: ORA-01578: ORACLE data block corrupted

  • From: "Storey, Robert \(DCSO\)" <RStorey@xxxxxxxxxxxxxxxxxx>
  • To: <po04541@xxxxxxxxx>, "Oracle L" <oracle-l@xxxxxxxxxxxxx>
  • Date: Tue, 23 Mar 2010 15:47:50 -0500

I know this might be a shot in the dark, but, can RMAN from a 9.0
install be used to connect to an 8.1 database and do a block recovery?

 

I've not used RMAN much, but as I understand it, even on a database that
is NOT backed up by rman, as long as you have a clean copy of the
datafile containing the tablespace with the bad block, and all the
archive logs since the clean copy of the datafile, you could do a Data
Block Recovery?

 

Will that work on an 8i system?

 

You said you were goint to recrate and import odes that mean the table
is a static table?

 

From: oracle-l-bounce@xxxxxxxxxxxxx
[mailto:oracle-l-bounce@xxxxxxxxxxxxx] On Behalf Of patrick obrien
Sent: Tuesday, March 23, 2010 3:42 PM
To: Oracle L
Subject: Re: Fw: Re: ORA-01578: ORACLE data block corrupted

 

Okay, 

I used the following command to get around the LONG data type but I
guess the DBMS_REPAIR did not work because, according to the alert log
its a damaged header block?
 
I'm thinking I'll have to go to an old backup, restore it in dev, export
the the table, drop the table in prod, recreate it, import the data. 

Unless some smart Oracle DBA has a better idea? thank you. POB.

SQL> insert into AMS_AFINADM.salvage_AD_OBJATCH select
ATCH_ID,ATCH_LEN,TO_LOB(ATCH_ATCH) from AMS_AFINADM.AD_OBJATCH;
insert into AMS_AFINADM.salvage_AD_OBJATCH select
ATCH_ID,ATCH_LEN,TO_LOB(ATCH_ATCH) from AMS_AFINADM.AD_OBJATCH
 
*
ERROR at line 1:
ORA-01578: ORACLE data block corrupted (file # 54, block # 345609)
ORA-01110: data file 54: '/u10/dbs/fsco/object02.dbf'

root@Mxxx:/u01/app/ora/adm/fsco/bdump>#cat alert*log|grep header
Bad header found during buffer read
check value in block header: 0x0, check value not calculated
Bad header found during buffer read
check value in block header: 0x0, check value not calculated
Bad header found during buffer read
check value in block header: 0x0, check value not calculated
Bad header found during buffer read
check value in block header: 0x0, check value not calculated





--- On Tue, 3/23/10, Niall Litchfield <niall.litchfield@xxxxxxxxx>
wrote:


From: Niall Litchfield <niall.litchfield@xxxxxxxxx>
Subject: Re: Fw: Re: ORA-01578: ORACLE data block corrupted
To: po04541@xxxxxxxxx
Cc: "Oracle L" <oracle-l@xxxxxxxxxxxxx>
Date: Tuesday, March 23, 2010, 9:59 AM

Check out the sqlplus copy command for this.

        On Mar 23, 2010 4:50 PM, "patrick obrien" <po04541@xxxxxxxxx>
wrote:

         

        Hmm,


now I"m trying to copy this table using the create table as select and
it does not like my LONG data type, any thoughts, thank you!


SQL> exec DBMS_REPAIR.SKIP_CORRUPT_BLOCKS('AMS_AFINADM','AD_OBJATCH');

PL/SQL procedure successfully completed.

SQL> CREATE TABLE AMS_AFINADM.AD_OBJATCH_NEW
AS SELECT * FROM AMS_AFINADM.AD_OBJATCH;
  2  AS SELECT * FROM AMS_AFINADM.AD_OBJATCH
          *
ERROR at line 2:
ORA-00997: illegal use of LONG datatype






--- On Mon, 3/22/10, Saurabh Sood <email2sood@xxxxxxxxx> wrote:


From: Saurabh Sood <email2sood@xxxxxxxxx>
Subject: Re: ORA-01578: ORACLE data block corrupted
To: po04541@xxxxxxxxx
Cc: "Oracle L" <oracle-l@xxxxxxxxxxxxx>
Date: Monday, March 22, 2010, 11:33 PM

>> >> Hi, >> >> You can use event 10231 to complete the import process.
>> refer to following link ...

 

Other related posts: