一、对比
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