Oracle使用数据泵导入/导出数据(expdp/impdp)(Windows版)

说在前边本片文章是参考Oracle使用数据泵导入/导出数据(expdp/impdp)【图文教程】_oracle imp_full_database-CSDN博客

大佬的博客结合自己的实践所写的防止自己遗忘的备忘录。如果各位看官有需求可以移步大佬的文章。注:大佬的文章是Linux版本的

首先本文是因为公司需要迁移备份数据库,并且上一个大数据系统的前提下来进行的。

一、使用数据泵导出流程

1、首先创建导出dmp文件对应的实际存在的文件夹 

自己右键新建

2、创建Oracle内部的虚拟目录路径

--创建路径
create directory data_out_file as 'E:\test'; 
--删除路径(在需要更换路径的时候在删除对应的名字---一般用与手残写错路径的情况这种时候就删了再建)
drop directory data_dir ;

这一步是用于告诉Oracle我准备用这个路径了。以及这个路径的名字是啥。

查看一下创建的路径

select * from dba_directories;

3、授予你要到导出的用户的查看内部路径权限

--授权给名称为dbuser的用户使用data_out_file 路径的权限
Grant read,write on directory data_out_file to dbuser;

4、为oracle用户授予导入导出操作授权,dbuser为你想要导出的那个用户名,这个用户有权限使用导入导出命令。

--授权给dbuser用户导入导出权限
grant exp_full_database,imp_full_database to dbuser;

5、退出,输入命令:exit;

注意:数据泵的执行是再Oracle系统外部使用的,而不是在你登录进去用户里边使用的。切记切记

6、导出dmp文件

expdp dbuser/key@orcl directory=data_out_file dumpfile=expdb.dmp logfile=expdplog.log schemas=user1

导出的命令有很多限制,我这个是schmas的。
比如:按照条件导出指定的表,导出指定表的指定满足where条件的数据等等……
自行百度查一下

下面的为参数解释

expdp [为用户名]/[密码]@[服务名]
schemas=[为用户名]
dumpfile=[导出数据库文件(可自命名)]
directory=[目录名]
logfile=[日志文件文件名(可自命名)]
注意:命令结束不需要加“;

到此就可以导出数据了

二、使用数据泵导入流程

1、前五步流程和之前一样。只不过是在对应导入数据库处操作

2、将导出的文件传输到主机上边。并且保存到上一步创建的文件夹里边

3、导入对应的dmp文件

impdp user1/key@orcl REMAP_SCHEMA = test:test table_exists_action=replace directory=data_in_file dumpfile=expdb.dmp logfile=expdp.log

参数解释

impdp [用户名]/[密码]@[服务名]
REMAP_SCHEMA=[源用户名1]:[目标用户名2]
table_exists_action=replace /存在的表动作(覆盖)/
directory=[目录名]
dumpfile=[.dmp文件名]
logfile=[.log文件名]

三、错误异常标注

1、在完成导入之后我们会报一个异常不过实测不影响数据导入

接着写bug

 

  • 26
    点赞
  • 29
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值