常用oracle的童鞋们,可以比较清楚和熟练的使用exp/imp进行数据导入导出操作,但是oracle10之后有一个新的工具expdp和impdp,不知道大家是否有了解?这就是说的数据泵操作,采用数据泵进行导入导出操作,要比常规的导入导出操作要快很多倍,更能节省时间提升效率。
exp/imp属于客户端工具,通常我们操作在客户端机器操作,进行输入导入导出功能,而expdp和impdp属于服务器端工具,我们使用时必须在oracle服务器进行操作。对应大数据量的应用(百万以上)采用expdp和impdp(数据泵)能大大节省时间,根据测试如下:
![ec390afd457f811f8663ee520cd2900e.png](https://i-blog.csdnimg.cn/blog_migrate/baf9f2fea6f5c881940b9df60fedb53b.jpeg)
数据泵数据导出情况
数据泵怎么用呢?
1、登录oracle服务器,输出指向oracle实例,并使用sysdba打开sqlplus:
export ORACLE_SID=实例sid
sqlplus / as sysdba
2、创建目录
create dumpDir /home/data/dumpDir
select * from dba_directories;( 查询目录)
3、登出sqlplus,输入导出命令
expdp 用户名/密码@实例 directory=dumpDir dumpfile = table.dmp logfile=table.log tables=tableName
3、导入命令
impdp 用户名/密码@实例 directory=dumpDir dumpfile = table.dmp table_exists=replace logfile=impable.log remap_table=原实例.原表名:新表名;
其他导入关键字命令说明:
![56ca1ee22c82d873e8331c4e6b8d4675.png](https://i-blog.csdnimg.cn/blog_migrate/78fc78e6130a8e4d73491adc360c9915.jpeg)
数据泵重点参数说明
相对于传统导入,数据泵导入具有以下特点:
- 数据泵运行在服务器端,相比客户端性能和效率更优秀
- 通过数据泵exclude、include、content等参数数据泵有更多的选择操作
- 数据泵可以通过设定数据库版本,在不同版本之间进行兼容
- 支持并发,及数据压缩
- 支持导入时重新进行空间、表映射