RE: Nologging clause
- From: "Bobak, Mark" <Mark.Bobak@xxxxxxxxxxxx>
- To: "greg@xxxxxxxxxxxxxxxxxx" <greg@xxxxxxxxxxxxxxxxxx>, William Wagman <wjwagman@xxxxxxxxxxx>
- Date: Tue, 31 Mar 2009 20:39:46 -0400
To add to Greg's answer a bit, there are a few other operations that are
"direct path", in addition to INSERT /*+ APPEND */.
Off the top of my head:
index creation/rebuild
create table as select ...
And there may be a few others. Any non-append insert, any delete or update,
will *always* log.
Hope that helps,
-Mark
PS As far as insert /*+ append */ goes, it only applies to a multi-row insert,
like insert /*+ append */ into tab select * from tab2;
Something like insert /*+ append */ into tab values(...); WILL log.
________________________________________
From: oracle-l-bounce@xxxxxxxxxxxxx [oracle-l-bounce@xxxxxxxxxxxxx] On Behalf
Of Greg Rahn [greg@xxxxxxxxxxxxxxxxxx]
Sent: Tuesday, March 31, 2009 8:26 PM
To: William Wagman
Cc: oracle-l@xxxxxxxxxxxxx
Subject: Re: Nologging clause
This is correct. The [NO]LOGGING only changes direct path operations.
That is, inserts with the /*+ APPEND */ hint.
So if you want NOLOGGING you need either:
- NO ARCHIVE LOG mode
- ARCHIVE LOG mode, NOLOGGING, and APPEND hint
On Tue, Mar 31, 2009 at 5:04 PM, William Wagman <wjwagman@xxxxxxxxxxx> wrote:
> It appears that he is saying that if a table is set to nologging and my
> insert mode is append then even if archive logging is on no redo will be
> generated. I'm still not sure I am understanding this correctly but I take
> that to mean
>
> SQL> insert /*+ APPEND */ into <table>;
>
> Then no redo will be generated. Is that a correct understanding?
--
Regards,
Greg Rahn
http://structureddata.org
--
http://www.freelists.org/webpage/oracle-l
--
http://www.freelists.org/webpage/oracle-l
Other related posts: