有几种办法可以选择:
1,使用exp username/password@alias 导出远程数据库,然后在导入,这是最快的.
2,增大TEMP表空间,alter tablespace temp add datafile 'fullpathfilename' size xxxxM;然后建表.
3,分段插入:先建表结构create table tablename as select * from tablename@dblink where 1=2;,再分段插入: insert into tablename select * from tablename@dblink where fieldname between startvalue and endvalue.
commit;

解决方案 »

  1.   

    我的temp表空间已有1.5G,我也试过第三种方法,可插到后来,不是报temp表空间无法扩展,就是报handle表空间(我的数据库表空间)无法扩展,可handle表空间有2G多没用啊。还望高手指教
      

  2.   

    我只有一个建议:用copy命令分段拷贝
      

  3.   

    你的表总有个关键字段吧?不要怕麻烦,可以分几次来,先Create table new_tb as select * from tb_name@dblink where 关键字< XXX
    然后分几次insert into new_tb select xxx where 关键字 between xx and xx
    笨办法,我是这样解决的。
      

  4.   

    copy命令的copycommit,arraysize,long改设置未多少合适,还有其他参数要设置吗?报错Segmentation fault是什么原因
      

  5.   

    用EXP和IMP来做就是了,指定表!
      

  6.   

    用exp还是报错Segmentation fault,我服了