Oracle使用数据泵导入/导出数据(expdp/impdp)【图文教程】

本文详细介绍了如何在Linux环境下使用Oracle数据泵(expdp/impdp)进行数据导出和导入,包括创建目录、修改权限、执行命令等步骤,并强调了常见错误和注意事项,确保100%成功执行。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Oracle使用数据泵导入/导出数据(expdp/impdp)
此类博客太多的坑,都不完整,要不执行着就报错执行不下去了,要不说的不清不楚,整理的一步步截图,100%成功。

expdp数据导出
  1. 远程登录数据库所在服务器(DBA权限用户)
sqlplus system

在这里插入图片描述

ps:使用的是linux,如果使用windows只需要用cmd来连接即可

  1. 创建目录路径
create directory data_dir as '/home/oracle/back/data'; 

在这里插入图片描述
data_dir为路径名称,可自命名。路径是导出的dmp文件存放的路径必须存在。windows需要给路径换一下。

查询用户创建目录

select * from dba_directories;

删除创建的目录(如果需要更换目录需要先删除在创建,不需要更换不用删除

   drop directory data_dir ;

注意… 注意:上面命令只是指定了导出文件存放的路径,但是这个路径需要自己手动创建。手动创建导出指定的路径,修改这个路径隶属用户组,修改权限。

mkdir /home/oracle/back/data

chown -R oracle:oinstall /home/oracle/back/data/

cd /home/oracle/back

chmod 777 data

在这里插入图片描述

3.修改权限

为oracle用户授予访问数据目录的权限,dbuser为你想要导出的那个用户名,这个用户有权限向你创建的目录下读写。

Grant read,write on directory data_dir to dbuser;

在这里插入图片描述
为oracle用户授予导入导出操作授权,dbuser为你想要导出的那个用户名,这个用户有权限使用导入导出命令。

grant exp_full_database,imp_full_database to dbuser;

在这里插入图片描述
退出,输入命令:exit;
在这里插入图片描述
4.导出dmp文件

expdp dbuser/123456@orcl schemas=dbuser dumpfile=expdp.dmp directory=data_dir logfile=expdp.log

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

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

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

expdp数据导入

导入其实重复导出的步骤,创建读取的文件路径,修改权限,创建目录……

  1. 远程登录数据库所在服务器(DBA权限用户)
sqlplus system

在这里插入图片描述

ps:使用的是linux,如果使用windows只需要用cmd来连接即可

  1. 创建目录路径
create directory data_dir as '/home/oracle/back/data'; 

在这里插入图片描述
data_dir为路径名称,可自命名。路径是导出的dmp文件存放的路径必须存在。windows需要给路径换一下。

查询用户创建目录

select * from dba_directories;

删除创建的目录(如果需要更换目录需要先删除在创建,不需要更换不用删除

   drop directory data_dir ;

注意… 注意:上面命令只是指定了导出文件存放的路径,但是这个路径需要自己手动创建。手动创建导出指定的路径,修改这个路径隶属用户组,修改权限。

mkdir /home/oracle/back/data

chown -R oracle:oinstall /home/oracle/back/data/

cd /home/oracle/back

chmod 777 data

在这里插入图片描述

3.修改权限

为oracle用户授予访问数据目录的权限,dbuser为你想要导出的那个用户名,这个用户有权限向你创建的目录下读写。

Grant read,write on directory data_dir to dbuser;

在这里插入图片描述
为oracle用户授予导入导出操作授权,dbuser为你想要导出的那个用户名,这个用户有权限使用导入导出命令。

grant exp_full_database,imp_full_database to dbuser;

在这里插入图片描述
退出,输入命令:exit;
在这里插入图片描述
4.把导出的dmp文件通过FTP传输到需要导入的主机上面,因为上面已经创建好了目录,所以需要给dmp上传到导入的主机上的/home/oracle/back/data目录下,然后在给这个目录赋权限777
在这里插入图片描述
在这里插入图片描述

impdp bill/hmhd@orcl REMAP_SCHEMA = bill:bill table_exists_action = replace directory=data_dir dumpfile=expdp.dmp logfile=expdp.log

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

在这里插入图片描述
在这里插入图片描述

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值