导入DMP文件
注:在创建用户及表空间之前需要先启动数据库实例及监听
监听:lsnrctl start
实例:startup
WINDOWS
导入前准备确认导出的用户名及表空间
select name from v$datafile;
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;

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;