以下语句可实现建立大表的功能:

 create table test_objects nologging as select rownum id,a.* from dba_objects a where 1=2;

 declare

  l_cnt number;
  l_rows number:=&1;
begin
  insert /*+ append */ into test_objects select rownum,a.* from dba_objects a;
  l_cnt:=sql%rowcount;
  commit;
  while(l_cnt<l_rows)
  loop
    insert /*+ append */ into test_objects 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 test_objects
           where rownum<=l_rows-l_cnt;
           l_cnt:=l_cnt+sql%rowcount;
     commit;
   end loop;
 end;