导入DMP文件

注:在创建用户及表空间之前需要先启动数据库实例及监听
监听:lsnrctl start
实例:startup

WINDOWS

导入前准备确认导出的用户名及表空间

  1. select name from v$datafile;

image.png
1创建对应的表空间(需先创建表空间,不然创建用户时指定表空间会报错,表空间的物理路劲需要先建立,不然也会报错)
Windows:

#创建表空间
SQL>create tablespace datahub_test logging datafile 'D:\app\Administrator\oradata\orcl\datahub_test.dbf' size 50m autoextend on next 10m maxsize 500m extent management local;
#创建ORACLE用户并指定表空间
SQL>create user datahub_test identified by datahub_test default tablespace datahub_test;
#给用户授权
SQL>grant connect,resource,dba to datahub_test;
    ![未命名图片1.png](https://cdn.nlark.com/yuque/0/2020/png/2502525/1599788205399-333afaa3-c99d-4bf1-97fe-2f31c5af75c0.png "未命名图片1.png")                                       

4.创建存放导入文件的directory(逻辑目录)
(其中datahub为directory (目录)名称,其中 ‘d:\test\dump’为目录路径。查看服务器上若没有存在d:\test\dump目录,则手动新建)

SQL>create directory datahub_test as 'd:\test\dump';

5.导入文件

C:>impdp datahub_test/datahub_test directory=datahub_test dumpfile=datahub_test.dmp full=y

directory是步骤4中创建的目录名称,dumpfile是需要导入的dmp文件(注意:需要把dmp文件放入在空间名对应的目录下)

LINUX

#创建文件逻辑目录,上传dmp文件到还原文件目录并授权(root,上传的文件linux会转化为大写,需改为原文件名称)
mkdir /data/oracle/oradata/datahub_test   
#设置文件的属主或属组(root用户)
chown -R oracle:oinstall /data/oracle/oradata/datahub_test  
#给用户授权文件的权限(root用户)
chmod 750 /data/oracle/oradata/datahub_test
#用sqlplus登陆数据库,然后创建表空间
create tablespace datahub_test logging datafile'/data/oracle/oradata/datahub_test/datahub_test.dbf' size 50m autoextend on next 10m maxsize 500m extent management local;
#创建用户并设置默认表空间
create user datahub_test identified by datahub_test default tablespace datahub_test;
#给用户授权
grant connect,resource,dba to datahub_test;
#创建还原文件存放目录的路径
create directory datahub_test as '/data/oracle/oradata/datahub_test';
#为此用户的导入导出目录赋读写权限
grant read,write on directory datahub_test to datahub_test;
#上传dmp文件到还原文件目录并授权(root,上传的文件linux会转化为大写,需改为原文件名称)
#chown -R oracle:oinstall /data/oracle/oradata/datahub_test
#在commd模式下导入
impdp datahub_test/datahub_test directory=datahub_test dumpfile=datahub_test.dmp full=y

导出DMP文件

1.创建directory 及对应的逻辑目录,该命令不会在操作系统创建真正的目录,最好以system等管理员创建。
create directory mydata as ‘逻辑目录路径’; ——其中mydate为逻辑目录名称

create directory mydata as 'D:\backup';

例如:
create directory mydata as ‘/data/oracle/oradata/mydata’;
2.查看逻辑目录

3.导出dmp文件
1)导出用户及其对象

expdp scott/tiger@orcl schemas=scott dumpfile=expdp.dmp directory=dump_dir logfile=expdp.log;


2)导出指定表

expdp scott/tiger@orcl tables=emp,dept dumpfile=expdp.dmp directory=dump_dir logfile=expdp.log;


3)按查询条件导

expdp scott/tiger@orcl directory=dump_dir dumpfile=expdp.dmp tables=empquery='where deptno=20' logfile=expdp.log;


4)按表空间导

expdp system/manager@orcl directory=dump_dir dumpfile=tablespace.dmp tablespaces=temp,example logfile=expdp.log;

5)导整个数据库

expdp scott/123@127.0.0.1/orcl directory=dump_dir dumpfile=ly.dmp full=y  logfile=expdp.log;