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: Bypass logging mechanism

Re: Bypass logging mechanism

From: Eugene Firyago <efiryago_at_bisys.com>
Date: Fri, 4 Feb 2000 13:00:28 -0500
Message-ID: <87f45f$jdq$1@bob.news.rcn.net>


Using TRUNCATE TABLE ... SQL command you can only truncate whole table content (i.e. quickly remove all the table's records) avoiding non-system rollback segment use (because this is DDL operation). However if you need expedite deleting a row subset of the large table TRUNCATE is not an option: you still have to use DELETE FROM ... command which always generates the rollback info. The helpful trick here may be the large table reload using one of the "direct" methods available with Oracle Server's version your are running as the following:

  1. Make a fast copy of the row subset to be saved using direct export or direct create/insert as select ... into a temporary table with identical structure.
  2. Truncate (or even drop if you use export/import) the source large table.
  3. Load pre-stored row subset into truncated table using direct insert or import from direct dump you have made. If you have dropped the table imp utility will recreate it automatically.

Also you can use sql loader utility with direct load path pre-saving the row subset in o/s flat file (same idea).

Hope it helps.
Eugene.

<rrenzo_at_my-deja.com> wrote in message news:87e5fh$qu3$1_at_nnrp1.deja.com...
> How can I delete rows without letting Oracle log them?
> (ie. Truncate Table equivalent of MS Sql)
>
> When I delete all rows from a huge table; the rollback segment grows
> accordingly which is a waste of space (and time)...
>
> Thanx,
> Tony Cardalda.
>
>
> Sent via Deja.com http://www.deja.com/
> Before you buy.
Received on Fri Feb 04 2000 - 12:00:28 CST

Original text of this message

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