Dont use a PL/SQL cursor and loop, when bulk deletes are a possibility.
Delete from table where rownum < 1000; commit; Delete from table where rownum < 1000; commit; ..................................................... I would prefer this approach. 200000 is not much. With a create table as you suggest, a lot of things to take care of. Viz. grants, rename, rebuild indexes, space, backup after the creation, drop the old table, drop indexes, et all. Raj Gurelei <gurelei@yaho To: Multiple recipients of list ORACLE-L <[EMAIL PROTECTED]> o.com> cc: Sent by: Subject: Delete performance root@fatcity. com August 01, 2002 10:03 AM Please respond to ORACLE-L Hi all: Someone at my shop wants to delete about 20% of roes in a table (200000 rows out of a million). He wants to set a commit frequency (like every 1000 records or so) to keep the rbs under control. I am not aware of any easy way to do it other then writing a procedure, but I may be missing something here. Is there any simple way to accomplish this? Also I have suggested instead of deleting 20% of the rows, create a new table as a select and insert the rest of the rows into it (then rebuild the indices and rename). This can be done in nologging mode, without redo logs and rbs segments. Is this a good idea to try? thanks for any info Gene -- Please see the official ORACLE-L FAQ: http://www.orafaq.com -- Author: INET: [EMAIL PROTECTED] Fat City Network Services -- (858) 538-5051 FAX: (858) 538-5051 San Diego, California -- Public Internet access / Mailing Lists -------------------------------------------------------------------- To REMOVE yourself from this mailing list, send an E-Mail message to: [EMAIL PROTECTED] (note EXACT spelling of 'ListGuru') and in the message BODY, include a line containing: UNSUB ORACLE-L (or the name of mailing list you want to be removed from). You may also send the HELP command for other information (like subscribing).