Nologging

302 views

Published on

oracle foreign key primary key constraints performance tuning MTS IOT 9i block size backup rman corrupted column drop rename recovery controlfile backup clone architecture database archives export dump dmp duplicate rows extents segments fragmentation hot cold blobs migration tablespace locally managed redo undo new features rollback ora-1555 shrink free space user password link TNS tnsnames.ora listener java shutdown sequence

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
302
On SlideShare
0
From Embeds
0
Number of Embeds
3
Actions
Shares
0
Downloads
3
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Nologging

  1. 1. Nologging Administration TipsWhat does "NOLOGGING" do for me?The words "sod" and "all" spring to mind as one possible answer, but that would be just alittle simplistic.What Im getting at is that people generally take it to mean that you can switch off ALLredo generation for an entire table (or, even better, an entire tablespace), under allcircumstances. That is simply, 100%, not true.The nologging attribute is never respected by ordinary inserts, updates and deletes.Boring old DML will therefore always generate redo, however many times you might yellnologging!!!! at it.Only a very select class of database actions will notice the nologging attribute, and respectit. These include: o Create index o Create table new_blah as select * from old_blah o SQL Loader direct loads o Insert /*+APPEND*/ into table select * from table (i.e., what are termed direct load inserts)...and one or two other obscure bits of DDL that are mostly related to working with tablepartitions.The create index is about the only one that youre likely to encounter on a fairly regularbasis (along with, possibly, the Direct Load run of SQL Loader).Given that, when the "nologging" attribute is respected by one of these commands, no redois generated for that particular operation, you should consider taking a fresh backup of thetables or indexes affected by the nologging operation immediately it has finished. Withoutsuch a backup, the segment affected is at risk of being effectively unrecoverable. Backupsare not a free exercise (they induce I/O and can swamp the redo system) ...so what yougain on the lack of redo, you tend to lose on the backup work afterwards.If you genuinely wish to switch off ALL redo generation for the entire database, it ispossible -but not by using "nologgiing". Instead, there is a hidden init.ora parameter,_DISABLE_LOGGING (yes, thats an underscore at the very beginning!), which will do just that.On your own head be it, however: use of hidden parameters is entirely unsupported byOracle, and this particular one will render your database totally and utterly unrecoverablethe very first time the Instance crashes (or you inadvertently issue a shutdown abort,which amounts to the same thing).Copyright © Howard Rogers 2001 10/17/2001 Page 1 of 1

×