您的位置:首页 > 其它

数据泵导入导出语句

2017-08-24 09:17 204 查看
今天用数据泵导入导出数据遇到一些问题,mark一下。

问题1:数据库版本不兼容,我是从12C的服务器上导出,要导入到11g,数据库只支持向下兼容,所以报错

解决办法:导出时指定需导入的服务器版本,这里为11.2.0.3.0(下面有具体的导出语句)。

问题2:导入时对象创建失败。检查后发现表空间不一致。

解决办法:在导入时加上REMAP_TABLESPACE参数(下面有具体的导入语句)。

从服务器1导出用户aspnet_username和username(服务器版本12c)

expdp system/******@** directory=DATA_PUMP_DIR dumpfile=20170824.dmp       schemas=aspnet_username,username COMPRESSION=ALL  logfile=20170824.log version=11.2.0.3.0

ps:导出时version可缺省,当从高版本导入到低版本时,该参数必须指定,当低版本向高版本导入时,可缺省。因为服务器向下兼容。

导入到服务器2(服务器版本11g,11.2.0.3.0)

impdp system/******@** directory=DATA_PUMP_DIR dumpfile=20170824.dmp schemas=aspnet_username,username
REMAP_TABLESPACE=A:B logfile=imp20170824.log

ps:如果两服务器不存在表空间不一致情况,REMAP_TABLESPACE可缺省,这里是将原来的A改为现在的B。

外:使用expdp和impdp时应该注重的事项:

1、exp和imp是客户端工具程序,它们既可以在客户端使用,也可以在服务端使用。

2、expdp和impdp是服务端的工具程序,他们只能在oracle服务端使用,不能在客户端使用。

3、imp只适用于exp导出的文件,不适用于expdp导出文件;impdp只适用于expdp导出的文件,而不适用于exp导出文件。

4、对于10g以上的服务器,使用exp通常不能导出0行数据的空表,而此时必须使用expdp导出。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: