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.
email@example.com [mailto:firstname.lastname@example.org] On Behalf Of Jared Still
Sent: Saturday, August 20, 2005 4:18 PM
Subject: Re: ORA-1578...block corrupted...error is normal...a block...had a NOLOGGING...operation performed against
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.
Certifiable Oracle DBA and Part Time Perl Evangelist