如果是新表的话,建议用create table tbname as select * from ANOTHERtbname
然后在设置其它的约束。

解决方案 »

  1.   

    1.使用exp导出ANOTHERtbname的数据.
    2.将ANOTHERtbname的表名称该成别的,同时将tbname的表名称改为ANOTHERtbname.
    3.使用imp导入ANOTHERtbname的数据.
    4.将两个表的表名称改回初始值.
    5.完成.
      

  2.   

    1 .diable约束和索引
    2. alter table tbname nologging
    3. insert /*+ APPEND */ into ...
    4. 专门指定使用一个大回滚段
    5. 设置为非归档模式
      

  3.   

    支持楼上,使用/*+append*/表示直接向数据库的表上进行增加,修改nologging表示在进行增加时不产生相应的redo log,减少了写日志所占的时间,另外,如果在导入大量的数据前,最好对目标表进行一次手工的分配空间,这样可以省去扩展区时所占用的时间(alter table allocate allocate extent (size 200k);)。