windows下使用expdp和impdp命令导出及导入oracle数据

2018年11月26日 12878点热度 2人点赞

本篇测试在windows下使用expdp命令导出oracle数据库中SCOTT用户所有表,并创建一个新的表空间和用户,使用impdp命令将数据导入到此用户下。


测试环境:

首先我们启用SCOTT用户(为SCOTT用户解锁并设置密码):




一、使用expdp命令导出SCOTT用户所有表

1.1、在windows系统上创建一个目录,用于存放导出的dmp文件
例如:我在C盘创建了C:\app\dump_dir目录




1.2、在oracle中创建一个directory(目录和刚才windows创建路径要一致,别名为dump_dir),并授权读写目录权限给到SCOTT用户


查询创建好的目录:




1.3、查询下SCOTT用户的所有表和视图




1.4、使用expdp导出SCOTT用户所有表

命令解释:

expdp SCOTT/SCOTT directory=dump_dir schemas=SCOTT dumpfile=scott_20181125.dmp

expdp: 导出使用命令。
SCOTT/SCOTT: 指定导出数据时用来登录数据库的用户名和密码。
directory=dump_dir: 指定使用的目录
schemas=SCOTT: 指定导出SCOTT用户表
dumpfile=scott_20181125.dmp: 指定导出dmp文件名称




1.5、查看windows相应目录下导出的dump数据和日志文件






二、创建一个新的表空间和用户

2.1、首先查看下当前的数据文件路径




2.2、根据上面查出来的数据文件存储位置,创建一个名为test的表空间。




2.3、创建名为test的用户并授权






三、使用expdp命令导入刚才导出的dup文件到test用户下

3.1、首先查询下SCOTT用户的表都是存在哪个表空间里面的,等下使用expdp命令时需要指定




3.2 使用impdp导入dmp文件数据给到test用户

命令解释:

impdp test/test remap_schema=SCOTT:test remap_tablespace=USERS:test dumpfile=SCOTT_20181125.DMP directory=dump_dir transform=oid:n
impdp: 导入使用命令
test/test: 指定导入时连接数据库的用户名密码
remap_schema: 指定该dmp文件导出时的用户名和将要导入的用户,以:分割。
remap_tablespace: 指定该dmp文件导出时的表空间和将要导入的表空间,以:分割。
dumpfile: 指定要导入的dmp文件
directory: 指定使用的目录(dmp文件提前放到这个目录)




Chen

健康 · 开心 · 做自己