Oracle FAQ Your Portal to the Oracle Knowledge Grid
HOME | ASK QUESTION | ADD INFO | SEARCH | E-MAIL US
 

Home -> Community -> Usenet -> c.d.o.server -> Re: truncate /*+append*/

Re: truncate /*+append*/

From: HansF <News.Hans_at_telus.net>
Date: Thu, 02 Mar 2006 20:06:01 GMT
Message-Id: <pan.2006.03.02.20.06.01.690463@telus.net>


On Thu, 02 Mar 2006 11:43:08 -0800, cpiodumpv wrote:

> on 9ir2
>
> say I have a table A and B. A contains 6 million records that need to
> be updated. This is in a data warehouse.
>
> I want to.
> truncate B.
> alter table B nologging
>
> insert /*+append*/ into B select < do update on A here>.
>
> I understand that this will generate some redo but will it generate any
> UNDO?
Undo is used to roll back a transaction. If NO undo was generated, you would not be able to undo the insert if something went wrong.

Not a whole lot of undo will be generated. And that undo will, in turn, generate it's own redo.

(Yes, you need it. Suppose the system crashed in the middle of the insert ... without it, the instance would not be able to get itself to some sort of consistent state just to be able to open up.)

-- 
Hans Forbrich                           
Canada-wide Oracle training and consulting
mailto: Fuzzy.GreyBeard_at_gmail.com   
*** Top posting [replies] guarantees I won't respond. ***
Received on Thu Mar 02 2006 - 14:06:01 CST

Original text of this message

HOME | ASK QUESTION | ADD INFO | SEARCH | E-MAIL US