使用如下命令导出:exp.exe system/XXX@XXX  full=Y  rows=Y  file=e:\XXX.dmp log=e:\XXX.txt
导出环境:oralce 10g ,大约10个表空间,20个用户。
问题:由于个别表数据量特别大10亿级,导致导出过程非常漫长、导出的文件也非常大,而且也不需要这么多的数据。
希望大家能解决:
整库导出,限制导出数据的条目数在5W即可。
排除:exp.exe system/XXX@XXX  full=Y  rows=N  file=e:\XXX.dmp log=e:\XXX.txt的办法。谢谢,在线等。

解决方案 »

  1.   

    1:增加速度的话,可以用expdp/impdp ,更高级的数据泵,同时加PARALLEL 并行线程数2:参考EXP中的QUERY参数用法
    用于指定过滤导出数据的where条件
    QUERY=[schema.] [table_name:] query_clause
    Schema 用于指定方案名,table_name用于指定表名,query_clause用于指定条件限制子句.QUERY选项不能与 CONNECT=METADATA_ONLY,EXTIMATE_ONLY,TRANSPORT_TABLESPACES等选项同时使用.
    Expdp scott/tiger directory=dump dumpfiel=a.dmp
    Tables=emp query=’WHERE deptno=20’
      

  2.   

    我用plsql导的,不过数据量、条件要少的多...学习中
      

  3.   


    query参数应该是应用于表模式吧,对于整个库有上千个表不是很合适吧。
      

  4.   

    那就舍弃表数据,直接导表结构好了。然后再指定基础表将数据导出,这样快些。我们医院的oracle库就是这样弄得。
    可以使用数据泵的形式。
      

  5.   

    PLSQLdevelop 可以整库的时候加条件。我曾经就这样把一个使用的库,全部导出前1000条数据,到自己的电脑上面做实验。
    PLSQLdevelop导出的时候选自带的方式(提供exp,sql插入,plsql软件自带3种方式)