暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

Oracle数据泵 expdp、impdp工具的使用

原创 weiyh 2020-04-06
1719

登录Oracle数据库 system 用户 (按用户dobyjin导出dmp文件)
创建导出dmp文件目录
create or replace directory mydir as ‘F:/dump’ ;
– mydir和F:/dump中的’dump’名称不一定相同。这句话只是将目录dump和mydir映射起来,
– 所以F盘下要有dump文件夹,用来存放dmp文件。
1
2

查询目录
select * from dba_directories;
–通过这条语句可以查看到刚才创建的目录名称和目录路径
1
授权目录
grant connect,dba to dobyjin;
– 授权用户dobyjin dba权限
grant read,write on directory mydir to dobyjin; --(需要oracle系统管理员操作)
– 授权用户dobyjin读写目录文件权限
1
2
3
执行导出操作
– 打开cmd命令窗口(导出命令是在cmd下输入的,不是sqlplus中!!!语句后面不要加“;” !!!)
/版本问题:如果是从低版本导出,导入到高版本中可以忽略 VERSION=X.X.X.X.X参数;
如果是从高版本导出,导入到低版本中,导出时必须指定版本。建议每次导出时,预先获取导入数据库版本,加上
VERSION参数
/
expdp dobyjin/dobyjin dumpfile=test.dmp logfile=test.log directory=mydir compression=ALL
– 参数说明: dumpfile是导出文件的名称,可以自定义;logfile是日志,名称可以自定义;directory是之前创建的目录名称(查询目录中的DIRECTORY_NAME);compression是[压缩参数]
1
2
3
4
5
6
查询Oracle数据库版本
select version from vinstance;selectfromvinstance; select * from vversion;
1
压缩参数
impdp
导入操作与导出步骤基本一致
从一个用户expdp导出再impdp导入到另一个用户
如果想导入的用户已经存在:

导出用户 expdp user1/pass1 directory=dumpdir dumpfile=user1.dmp
导入用户 impdp user2/pass2 directory=dumpdir dumpfile=user1.dmp REMAP_SCHEMA=user1:user2 EXCLUDE=USER FULL=Y TABLE_EXISTS_ACTION=REPLACE
如果想导入的用户不存在:
导出用户 expdp user1/pass1 directory=dumpdir dumpfile=user1.dmp
导入用户 impdp system/passsystem directory=dumpdir dumpfile=user1.dmp REMAP_SCHEMA=user1:user2 FULL=Y TABLE_EXISTS_ACTION=REPLACE
user2会自动建立,其权限和使用的表空间与user1相同,但此时用user2无法登录,必须修改user2的密码
ps:如果导入过程中报错,找不到表空间错误,命令加入REMAP_TABLESPACE=user1:user2即可;TABLE_EXISTS_ACTION决定导入时对表的操作。
————————————————

「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论