Re: Is it possible to delete parts of a table without using rollback??

From: <Mark.Powell_at_eds.com>
Date: 24 Mar 2005 13:34:20 -0800
Message-ID: <1111700060.809423.66500_at_o13g2000cwo.googlegroups.com>


Gert, if the number of rows to be deleted exceeds the number of rows that are to remain after the deletion process you might want to consider renaming the existing table, then using a create tables as select against the original table to select out the remaining rows. Inserts take a lot less RBS space than deletes. Then you would need to drop and rebuild the indexes, FK to other tables, triggers, and reapply the grants from the original table to the new version.

Another technique to speed large delete jobs when a maintenance window may not be available would be to use the parallel query option, PQO, against the table. This again would require lots of rollback but you should be able to cut the clock time.

Finally if a lack of rollback space is the main issue then why not run the delete as a series of delete steps where each step limits itself to N number of rows? This may not be a slick as a single delete step/statment but this method can often eliminate a large quantity of data without taxing the capacity of the system too heavily.

HTH -- Mark D Powell -- Received on Thu Mar 24 2005 - 22:34:20 CET

Original text of this message