RE: ORA-1578...block corrupted...error is normal...a block...had a NOLOGGING...operation performed against

All,

 

I was thinking about this whole topic over the weekend.  It just affirms
my feeling that using the NOLOGGING option needs to be used judiciously.
And I question how much time we are saving here.

 

I have now come up with a "NEW RULE" (to borrow from Bill Mahar).

 

If the total time to reload using NOLOGGING and a total backup is less
than a reload with LOGGING and no backup, then don't use it.

 

I personally have never liked turning logging off.  I would just as soon
deal with the extra archive logs and extra time involved with the
restore than what Chris has been dealing with.  There are far too many
things happening in a database for me to remember or even know about.
So if *everything* is covered by archive logs, then a recovery will
always work.

 

Tom

 

________________________________

From: oracle-l-bounce@xxxxxxxxxxxxx
[mailto:oracle-l-bounce@xxxxxxxxxxxxx] On Behalf Of Jared Still
Sent: Saturday, August 20, 2005 4:18 PM
To: rjsearle@xxxxxxxxx
Cc: Brandon.Allen@xxxxxxxxxxx; cmarquez@xxxxxxxxxxxxxxxx;
oracle-l@xxxxxxxxxxxxx
Subject: Re: ORA-1578...block corrupted...error is normal...a
block...had a NOLOGGING...operation performed against

 

 

On 8/20/05, rjsearle@xxxxxxxxx <rjsearle@xxxxxxxxx> wrote: 

Forgive me for jumping in here in the middle of a conversation but I
can't push  these thoughts from my mind...  Are all of these
observations supported by the simple fact the modifications to the data
dictionary ARE logged (recursive SQL)  So the entries into the obj$
tables as a result of the new objects would be logged as well as the
extent allocation actions. 


Yes, the changes to the data dictionary are all logged. 

         

        You can see this by the small amount of redo generated even when
inserting with append hint that results in a new extent (DMT obviously).
So the block operations on the index may not be logged but the changes
to the schema are logged. 


Yup.  There's some other stuff in there as well.  A session
with logminer would reveal what is being logged.

         

        Also I consider it unwise to create *persistent* segments use
nologging option for exactly this reason.  But indexes can always be
rebuilt, but at what cost? (how many days processing?) 


Unless you do direct path loads or use the APPEND hit, all DML will be
logged.
If you can save a lot of time and resources by doing so, then why not do
it,
unless you have a very good reason not to?

Back it up afterwards and you will be able to recover.

 

-- 
Jared Still
Certifiable Oracle DBA and Part Time Perl Evangelist

Other related posts: