QUESTION: Corrupt data block work around

From: Neil Greene <neil_at_kynug.org>
Date: Thu, 13 May 1993 14:43:59 GMT
Message-ID: <1993May13.144359.12691_at_kynug.org>


I have managed to find a corrupt data block in my Oracle database. The database runs fine, except when attempting to access data within this corrupt data block. Luckily enough, all updates, changes and inserts are using indexes to get around this current problem, while any attempts to export this table file because of the bad block.

I am now attempting to make use of ROWID to get around looking at data in the corrupted block; but, this has been done with no success.

Is the rowid field indexed?? Is there a select statement I can build that will simply fetch all rows not found in the corrupt datablock. If so, I could dump them to a file, take the database down, make a full backup and load the data back into a newly created table using SQL*Loader.

The corrupt data is in block #4002 or file #8. File #8 contains our ruling information. Here is a layout of the ruling table, fields marked with an asterisks are indexed:

> SQL> describe rulings;
> Name Null? Type
> ------------------------------- -------- ----
> RULINGID NOT NULL NUMBER(7) *
> NASRISID NOT NULL NUMBER(7) *
> RULINGDATE DATE *
> RULINGNO CHAR(1)
> TRACK CHAR(3) *
> STATE CHAR(3) *
> LICENSETYPE CHAR(3)
> DIVISION CHAR(1)
> COMMISSION CHAR(3) *
> COMMISSIONREF CHAR(13)
> RULINGTYPE CHAR(2)
> BATCHVOLUME CHAR(3) *
> BATCHNUMBER CHAR(4) *
> RULINGTEXT LONG
> DRUGNAME CHAR(40)
> ENTRYDATE DATE
Any help would be appreciated.

-- 
Neil Greene
President, Kentucky NeXT User Group, Inc.
Email: neil_at_kynug.org [NeXTMail]
Received on Thu May 13 1993 - 16:43:59 CEST

Original text of this message