REM REM Author of this Code: Tom Kyte REM create table bigtab as select rownum id, a.* from all_objects a  where 1=0; alter table bigtab nologging; declare l_cnt number; l_rows number := 1000000; begin insert /*+ append */ into bigtab select rownum, a.* from all_objects a; l_cnt := sql%rowcount; commit; while (l_cnt < l_rows) loop insert /*+ APPEND */ into bigtab select rownum+l_cnt, OWNER, OBJECT_NAME, SUBOBJECT_NAME, OBJECT_ID, DATA_OBJECT_ID, OBJECT_TYPE, CREATED, LAST_DDL_TIME, TIMESTAMP, STATUS, TEMPORARY, GENERATED, SECONDARY from bigtab where rownum <= l_rows-l_cnt; l_cnt := l_cnt + sql%rowcount; commit; end loop; end; / alter table bigtab add constraint bigtab_pk primary key(id);