日期:2014-05-16  浏览次数:20720 次

oracle 10g 整库导出
使用如下命令导出: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:增加速度的话,可以用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’



------解决方案--------------------
我用plsql导的,不过数据量、条件要少的多...学习中
------解决方案--------------------
那就舍弃表数据,直接导表结构好了。然后再指定基础表将数据导出,这样快些。我们医院的oracle库就是这样弄得。
可以使用数据泵的形式。