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 TABLE acquire rollback segment?

Re: TRUNCATE TABLE acquire rollback segment?

From: Jonathan Lewis <jonathan_at_jlcomp.demon.co.uk>
Date: Mon, 30 Apr 2001 10:41:30 +0100
Message-ID: <988623450.6112.0.nnrp-14.9e984b29@news.demon.co.uk>

The TRUNCATE command has to update the
segment header block, and several data
dictionary tables in a self-consistent way through a recursive transaction
e.g.

    update tab$
    update seg$
    update obj$

Possibly insert/update/delete on fet$ and uet$, Possibly update tsq$.

and no doubt a few others that I've forgotten about at the moment, such as items relating to snapshots and snapshot logs.

Rollback is used to protect the integrity of this recursive transaction.

--
Jonathan Lewis
Yet another Oracle-related web site:  http://www.jlcomp.demon.co.uk

Practical Oracle 8i:  Building Efficient Databases
Publishers:  Addison-Wesley

Reviews at: http://www.jlcomp.demon.co.uk/book_rev.html



Tom wrote in message ...

>I always thinking TRUNCATE TABLE is fast because no rollback is generated
>for the operation. Suddenly, I found foolowing in COUCHMAN's DBA
>certifaction book:
>
>"Despite your inability to rollback a table truncation, Oracle does acquire
>a rollback segment for the job. Why? Because if you terminate the
truncate
>table command, or some failure occurs, the rollback segments stores the
>changes made for the duration of the truncate operation to enable crash
>recovery."
>
>I do not quite understand what information is put in the rollback for the
>TRUNCATE operation. Your help is appreciated.
>
>Tom
>
>
>
Received on Mon Apr 30 2001 - 04:41:30 CDT

Original text of this message

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