oracle 导入导出命令exp,imp和expdp,impdp对比浅析

一、对比

         1.exp、imp是客户端工具程序,它们既可以在客户端使用,也可以在服务端使用
         2.expdp、impdp是服务端的工具程序,只能在oracle服务端使用。
         3.两套工具都可以在CMD窗口使用。
         4.imp只能导入exp导出的文件,导入简单,不需要与导出端的表空间、用户保持一致。
         5.impdp只能导入expdp导出的文件,导入复杂,需要保持与导出端一致的表空间和用户。

二、尽量用exp和imp命令

     imp命令简单,直接导入即可。
1.exp   

----CMD

exp username/password@bzdz file=d:\bzdz.dmp owner=username

2.imp   

----CMD
----指定用户名、指定表名

imp system/password@GZZZ_GIS fromuser=house1 touser=system file=d:\20180412.dmp 
tables=temp_mp,temp_fw,temp_fwz,temp_ZD

   

----CMD
----整个DMP都导入(不指定导入哪些表)
imp system/password@GZZZ_GIS fromuser=house1 touser=system file=d:\20180412.dmp 

   

----CMD
----整个DMP导入,不需要指定导出和导入的用户名。
imp username/password@GZZZ_GIS  file=d:\20180412.dmp  full=y

三、expdp和impdp命令用法

       下面主要讲impdp的用法
       这个命令有这样的原则:
       expdp导出需要创建directory
       impdp导入需要指定directory,而且dmp文件需要放到这个目录下面
       导出什么表空间,导入也要什么表空间
       导出什么用户,导入也要什么用户

1.impdp用法
1.1 创建一个目录directory

create directory mydmp as 'E:\app\aganliang\product\12.1.0\dbhome_1\mydmps'

dmp文件拷贝到这个目录下面
如果这个时候在CMD使用导入命令,一般会报某某表空间不存在,某某用户不存在,所以,接下来需要创建表空间,创建用户。

1.2创建表空间

---创建表空间
create tablespace gzzl datafile 'E:\APP\AGANLIANG\ORADATA\GZGA_GIS\DATAFILE\MY_gzzl.DBF'size 1024M
autoextend on next 2000m
maxsize unlimited

1.3创建用户,默认表空间用以上那个

---创建用户
CREATE USER GZZL_LS IDENTIFIED BY lgl123456
DEFAULT TABLESPACE "GZZL"
TEMPORARY TABLESPACE "TEMP"
QUOTA UNLIMITED ON "GZZL";
---给用户赋予权限
grant CREATE ANY DIRECTORY,create session,create table,create view,unlimited tablespace to GZZL_LS

1.4 在CMD中使用impdp命令
登录用户必须要用上面创建的用户

----CMD
impdp gzzl_ls/password@GZGA_GIS DIRECTORY=mydmp DUMPFILE=GZZL_DJBA_20180803.DMP FULL=Y

猜你喜欢

转载自blog.csdn.net/aganliang/article/details/81456077