impdp导入表结构和表数据_Oracle11G配置expdp/impdp数据泵

directory相关SQL语句

EXPDP导出

注:

导数的数据库用户需要拥有对directory_object的读写权限;

操作系统中需要已经存在directory_object指定的路径;

oracle用户拥有对directory_object指定路径的读写权限;

system用户导出用户,会将创建用户和授予系统权限的元数据也导出,普通用户不能导出这些元数据。

expdp命令示例:

以导出一个用户为例:

expdp参数说明:

IMPDP导入

注:

expdp导出的文件不能使用imp导入,只能通过impdp导入数据库;

导入时遇到已存在的对象,默认会跳过这个对象,继续导入其他对象;

导入时应确认dmp文件和目标数据库的tablespace、schema是否对应;

导入dmp文件时,应确定dmp文件导出时的命令,以便顺利导入数据。

拿到一个dmp文件,如果忘记了导出命令,可以通过以下方法确认(非官方,生产数据勿使用):确认dmp文件是exp导出还是expdp导出:

1)xxd test.dmp | more

2)strings test.dmp | more

impdp命令示例

以导入dmp文件中的所有数据为例

impdp参数说明

交互模式

进入交互可以操作导入导出作业。进入交互模式的方法:

1、导入导出命令行执行期间按Ctrl + c

2、expdp attach=jobname或impdp attach=jobnam 查看导入导出日志可以看到jobname,也可以通过查询dba_datapump_jobs找到jobname。

报错总结

系统目录未建立,报错:

impdp导入exp导出的dmp文件,报错:

如果导出的数据库版本比导入的数据版本高,需要在导出时加上参数version=要导入的数据库版本。否则报错:

文末再附加一条导出用户元数据的sqlfile命令,这个是之前一个朋友问我的,因为之前做的db2的工作,最近才开始和oracle打交道,数据泵了解的很少,所以被问到这块的时候犹豫了片刻,第一个想到的自然是使用oracle自带的数据泵工具expdp:

但是问题来了,朋友要的是sqlfile不是dumpfile,经过百度得知可以通过plsql developer工具把元数据导出成sqlfile的形式,但是导出的sqlfile还是不符合朋友的需求,后经指点得知,在导出元数据之后,只需要在导入的时候加上sqlfile参数,就可以生成sqlfile文件,具体命令如下:

impdp工具里对sqlfile的描述如下

将所有的 SQL DDL 写入指定的文件。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值