RE: Help - Corrupted Block - Lob Segment - NOLOGGING

  • To: "Wolfson Larry - lwolfs" <lawrence.wolfson@xxxxxxxxxx>, <oracle-l@xxxxxxxxxxxxx>
  • Date: Mon, 23 Oct 2006 16:43:23 -0400

I meant to include the release.

We are on Oracle 10.2.0.2.  We just upgraded from Oracle 9.2.0.6.  I
think the problem originated as we were shutting down the Oracle 9.2.0.6
version of the database in preparation for the migration (and getting
users off the system).

Oracle Support said nothing about dropping RIDs in the block, just about
updating them with empty_blob().  If I drop RIDs, I am concerned the
block may still be corrupt, but will have 100% free space and thus be
available for other insertion attempts, which I expect will fail with
the same error.  At least that is how I think it will work.

Thanks for the link to Tanel's presentation.  I will have a look.

Sam.


-----Original Message-----
From: Wolfson Larry - lwolfs [mailto:lawrence.wolfson@xxxxxxxxxx] 
Sent: Monday, October 23, 2006 2:49 PM
To: Sam Bootsma; oracle-l@xxxxxxxxxxxxx
Subject: RE: Help - Corrupted Block - Lob Segment - NOLOGGING

Sam,
        What release is this?

Here's a terrific presentation about LOBS from Tanel Poder.
http://integrid.info/Poder_LOB_Internals.pdf take a look at this.  

Did OS say you could drop RIDs in that block, and if so, how will that
effect your app?

        Larry

-----Original Message-----
From: oracle-l-bounce@xxxxxxxxxxxxx
[mailto:oracle-l-bounce@xxxxxxxxxxxxx] On Behalf Of Sam Bootsma
Sent: Monday, October 23, 2006 1:47 PM
To: oracle-l@xxxxxxxxxxxxx
Subject: Help - Corrupted Block - Lob Segment - NOLOGGING

Our third-party version control software uses an Oracle database as its
repository.

Documents are stored in a BLOB column in an Oracle table.  It is NOT
stored "in_row" and logging is turned off (for performance reasons they
told me).

We recently encountered a bad block, and I have since determined there
are additional bad blocks, but it is just one block that is continually
giving us a problem.

When a user attempts to check an object into the repository, they often
get the error message:

E03020003: Database Error: [CAI/PT][ODBC Oracle 8
driver][Oracle]ORA-01578: ORACLE data block corrupted (file # 31, block
# 123533)
ORA-01110: data file 31: '/san1/oradata/PROD/harvestblob01.dbf'
ORA-26040: Data block was loaded using the NOLOGGING option

This tells me the block still has free space to insert new data; i.e.,
the block is on the free list.

Here is some information about the tablespace housing this lob segment
(from dba_tablespaces):
Force_logging="N'
Extent_management='LOCAL'
Allocation type='system'
Segment_space_management='auto'

Can somebody tell me what I need to do to allow users to continue to
check items into this repository without receiving the error message and
with minimal data loss; i.e., limiting data loss to the content of
corrupted block# 123533.  I think I can do this if I am able to
permanently get this block off the free list, but how can I do that? 

I have contacted Oracle Support, but they have been of limited
assistance.  They had me review metalink note 293515.1 "ORA-1578
ORA-26040 in a LOB segment - Script to solve the errors".  But this has
not helped our situation.  The metalink note directs us to create a
table with a single column of type rowid.  Then run an Oracle procedure
to populate this table with rowids for rows in the corrupted block.
After this we set concat to "#", then update the lob column to
"empty_blob".  I did this and commited, but users receive the same error
message.

Thanks for any and all suggestions.

Sam Bootsma
Oracle Database Administrator
Information Technology Services
George Brown College
Phone: 416-415-5000 x4933
Fax: 416-415-4836
E-mail: sbootsma@xxxxxxxxxxxxx

--
//www.freelists.org/webpage/oracle-l
************************************************************************
*
The information contained in this communication is confidential, is
intended only for the use of the recipient named above, and may be
legally privileged.

If the reader of this message is not the intended recipient, you are 
hereby notified that any dissemination, distribution or copying of this
communication is strictly prohibited.

If you have received this communication in error, please resend this
communication to the sender and delete the original message or any copy
of it from your computer system.

Thank you.
************************************************************************
*
--
//www.freelists.org/webpage/oracle-l


Other related posts: