Unix Technical Forum

NOLOGGING clause

This is a discussion on NOLOGGING clause within the Oracle Miscellaneous forums, part of the Oracle Database category; --> What's the NOLOGGING clause for when creating tables? Some of our tables (particularly intermediate and output set tables) have ...


Go Back   Unix Technical Forum > Database Server Software > Oracle Database > Oracle Miscellaneous

FAQ Members List Calendar Search Today's Posts Mark Forums Read
  #1 (permalink)  
Old 04-08-2008, 11:56 AM
dean
 
Posts: n/a
Default NOLOGGING clause

What's the NOLOGGING clause for when creating tables? Some of our
tables (particularly intermediate and output set tables) have been
created with the NOLOGGING clause, which I assume means that in the
case of a system failure (crash), these tables won't be recoverable.
This is acceptable, since the process would be restarted anyway once
oracle was restarted. On the plus side, I assume inserts and updates
are faster. Is this generally a good idea and something that people
would recommend in general?

Thanks

Dean

Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Reply With Quote
  #2 (permalink)  
Old 04-08-2008, 11:56 AM
sybrandb
 
Posts: n/a
Default Re: NOLOGGING clause



On Dec 8, 3:47 pm, "dean" <deanbrow...@yahoo.com> wrote:
> What's the NOLOGGING clause for when creating tables? Some of our
> tables (particularly intermediate and output set tables) have been
> created with the NOLOGGING clause, which I assume means that in the
> case of a system failure (crash), these tables won't be recoverable.
> This is acceptable, since the process would be restarted anyway once
> oracle was restarted. On the plus side, I assume inserts and updates
> are faster. Is this generally a good idea and something that people
> would recommend in general?
>
> Thanks
>
> Dean


NOLOGGING is only applicable to certain operations like INSERTS in
APPEND mode and direct path loads using SQL*Loader.
Ordinary INSERTS and UPDATES will be logged.
On a properly tuned system the belief INSERTS and UPDATES are faster
without logging should be qualified as an unproven superstition.
Oracle added the FORCE LOGGING clause for standby situations, to
override any NOLOGGING operations. Any idea why? Do you *really* think
NOLOGGING is recommended? Or do you like quick job changes?

--
Sybrand Bakker
Senior Oracle DBA

Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Reply With Quote
  #3 (permalink)  
Old 04-08-2008, 11:56 AM
dean
 
Posts: n/a
Default Re: NOLOGGING clause

>
> NOLOGGING is only applicable to certain operations like INSERTS in
> APPEND mode and direct path loads using SQL*Loader.
> Ordinary INSERTS and UPDATES will be logged.
> On a properly tuned system the belief INSERTS and UPDATES are faster
> without logging should be qualified as an unproven superstition.
> Oracle added the FORCE LOGGING clause for standby situations, to
> override any NOLOGGING operations. Any idea why? Do you *really* think
> NOLOGGING is recommended? Or do you like quick job changes?
>
> --
> Sybrand Bakker
> Senior Oracle DBA


Ok thanks a lot Sybrand. Evidently I misunderstood the use.

Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Reply With Quote
  #4 (permalink)  
Old 04-08-2008, 11:56 AM
dean
 
Posts: n/a
Default Re: NOLOGGING clause

So are there any specific table creation clauses we should be using
then, in this kind of situation? We use a 9.2 and 10g mix, depending on
clients, and we have many so-called output-set tables that just hold
data for reports and internal calculations. Such tables can easily be
recreated, but they also contain more data on a storage level than any
other tables. If we don't care about any recoverability, is there
anything else worth investigating?

The tables are initially filled using SQL loader, which I'm not
interested in speeding up. But after that, we do allow smaller edits
and inserts - a few tens to a few thousand rows at a time during user
interaction.

Thanks, Dean

Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Reply With Quote
  #5 (permalink)  
Old 04-08-2008, 11:56 AM
sybrandb
 
Posts: n/a
Default Re: NOLOGGING clause


dean wrote:
> So are there any specific table creation clauses we should be using
> then, in this kind of situation? We use a 9.2 and 10g mix, depending on
> clients, and we have many so-called output-set tables that just hold
> data for reports and internal calculations. Such tables can easily be
> recreated, but they also contain more data on a storage level than any
> other tables. If we don't care about any recoverability, is there
> anything else worth investigating?
>
> The tables are initially filled using SQL loader, which I'm not
> interested in speeding up. But after that, we do allow smaller edits
> and inserts - a few tens to a few thousand rows at a time during user
> interaction.
>
> Thanks, Dean



Sorry to say so, but it looks like you would better use globally
temporary tables, and/or other mechanisms like PL/SQL tables and REF
cursors, to avoid persistent storage.
Using persistent storage is a typical SQL server habit of abusing
databases to do things procedurally, where they should have been done
non-procedurally (ie in one statement).
That said, *I* would probably just dump the application and start all
over again.

--
Sybrand Bakker
Senior Oracle DBA

Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Reply With Quote
Reply


Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

vB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are On
Forum Jump


All times are GMT. The time now is 06:41 AM.


Powered by vBulletin® Version 3.6.5
Copyright ©2000 - 2008, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
www.UnixAdminTalk.com