您的位置:首页 > 其它

exp/imp,expdp/impdp的用法举例和比较

2012-05-24 16:35 274 查看
一:exp/imp 的命令行选项如下:

二 imp/exp 的功能

ITPUB个人空间zt1H \&@]
a.导出单个用户单个表ITPUB个人空间&mF(peJN1Ih O
exp wolf/wolf@testfile= E:\oraclepractice\singltable.dmp tables=(t) 
!AN6R'A |"o4}Z ]0 导出的是表结构和数据。如果只想导出表结构则需要设置 exp wolf/wolf@testfile= E:\oraclepractice\singltable.dmp tables=(t)  rows = nITPUB个人空间9d]Z ]L6wrz`
b.导出单个用户多个表
|3L\)w Y2XA5y#?v0 exp wolf/wolf@testfile= E:\oraclepractice\singltable.dmp tables=(t,tt,ttt) log = E:\oraclepractice\singltable.log
aDG~U0c.导出单个用户及其内容ITPUB个人空间6Pw v1Ck+e xk
expwolf/wolf@test file= E:\oraclepractice\userwolf.dmp wner=(wolf)  log = E:\oraclepractice\userwolf.logITPUB个人空间7Q2V:_s oY)^,XW
d.导出多个用户及其内容ITPUB个人空间*y S6?1S tpVs
exp'sys/ko@testas sysdba' file= E:\oraclepractice\userwolfs.dmp wner=(wolf,wolf2)  log = E:\oraclepractice\userwolfs.log
E/H:g'`7{ U c0e.导出整个数据库(包括数据)
n]1eX%r-`2L5c\0 exp'sys/ko@testas sysdba' file= E:\oraclepractice\testfull.dmp full=y rows=y log = E:\oraclepractice\testfull.logITPUB个人空间/o'G \N7r`D&Y!D
f.导出整个数据库(不包括数据)
f&cm1th0g.导入单个用户单个表
j9u"s@ f_0 imp wolf/wolf@testfile= E:\oraclepractice\singltable.dmp tables=(t)
l4n$DO.R:@%X0 如果表t已经存在则导入会报错, 这时只要在后面加上 ignore=y ,就可以导入,即使是重复数据也会被导入到表中。导入包含了隐形的提交操作ITPUB个人空间+p/L2lS,Tl-h
imp wolf/wolf@testfile= E:\oraclepractice\singltable.dmp tables=(t) ignore=y
&jq`k0X*C|&W0h.导入单个用户多个表ITPUB个人空间0jAK0X$G+] j-A,J9~0A0I R
imp wolf/wolf@testfile= E:\oraclepractice\singltable.dmp tables=(t,tt,ttt) log = E:\oraclepractice\singltable.log ignore = yITPUB个人空间LX9A,Lle.q)Ur
i.导入单个用户及其内容ITPUB个人空间b^,~)mZj
imp'sys/ko@testas sysdba' file= E:\oraclepractice\userwolf.dmp  log = E:\oraclepractice\userwolf.log fromuser = wolf touser=wolf 如果导入到某个用户下面,必须指定fromuser和touser,如果touser的用户当前还不存在导入也不会成功。而且此用户需要有以前用户相同的权限。
)pI|L]Y!s;R0g.导入多个用户及其内容
'?u X t9TQ c0 imp'sys/ko@testas sysdba' file= E:\oraclepractice\userwolfs.dmp fromuser=(wolf,wolf2) touser=(wolf,wolf2) log = E:\oraclepractice\userwolfs.logITPUB个人空间8? o2?]&{db7R
k.导入整个数据库(包括数据)ITPUB个人空间)c(G nU0\[ DL
imp'sys/ko@testas sysdba' file= E:\oraclepractice\testfull.dmp full=y rows=y log = E:\oraclepractice\testfull.log ignore = yITPUB个人空间e6E;z n P4XY
l.导入整个数据库(不包括数据)
/K'w? nD*j|Ij{0 imp'sys/ko@testas sysdba' file= E:\oraclepractice\testfull.dmp full=y rows=n log = E:\oraclepractice\testfull.log ignore = y
.n#I hnGg9I0m.导出单个、多个表空间ITPUB个人空间r-[4u!kn
exp 'sys/ko@testas sysdba' file= E:\oraclepractice\tablespace.dmp log = E:\oraclepractice\tablespace.log tablespaces=businessITPUB个人空间cq!BH$LDi8a
drop tablespace business including contents and datafiles 删除表空间的内容,删除表空间的时候表空间内的user不会被删除,他们的表空间会被指定为默认的表空间。ITPUB个人空间1d b.qa_0~ Su
n.导入单个、多个表空间
@6_%}w+g1g0 imp 'sys/ko@testas sysdba' file= E:\oraclepractice\tablespace.dmp log = E:\oraclepractice\tablespace.log tablespaces=business full=y
6I cs.h%V,G#?0 导入表空间时,表空间要先建好,否则无法导入。ITPUB个人空间#o Lnc(mDy,v+Mh
o.把导出中的部分表数据导入
@ w/d0^!NC]#^0 imp'sys/ko@testas sysdba' file= E:\oraclepractice\testfull.dmp rows=y log = E:\oraclepractice\testfull.log fromuser=(wolf,wolf2) TABLES=(t,ttt)

;ab6jDt0三. impdp/expdp的功能

ITPUB个人空间ts8a0M.noy'~:W
a.创建目录,给所有用户授予目录的读写权限。
"Zv&]u1v!@y"V#]B0 create directory dump_dir as 'E:\oraclepractice'ITPUB个人空间ciepx
grant read,write on directory log_dir to public
L.s#G mse g0 create directory log_dir as 'E:\oraclepractice'
oN+Bu{2kv u0 grant read,write on directory log_dir to public;
!hVG2^w U f%f0 b.导出表
J0I3\&I\^B6H;D0 expdp'sys/ko@testas sysdba' dumpfile=dump_dir:pdp_tables.dmp logfile=log_dir:pdp_table.log content=all tables=(bu.butest,bu.test3)
7r'M,N[Q0 反复导出的时候,如果原来的导出文件名已经存在expdp会报错退出,这跟exp是不同的。
h%`:^0l#`E;d0 c.导入表
8i'mz*G Q`,f0L0 impdp'sys/ko@testas sysdba' dumpfile=dump_dir:pdp_tables.dmp logfile=log_dir:pdp_table.log content=all tables=(bu.butest,bu.test3)ITPUB个人空间 et"z gO R v g;E8i%\
d.导出用户
C$HB6TL#?h u0 expdp'sys/ko@testas sysdba' dumpfile=dump_dir:pdp_schemas.dmp logfile=log_dir:pdp_schemas.log schemas=(bu,wolf)
K"L(n'MD7f/h0 e.导入用户
6pM[T yT.~ B4K0 impdp'sys/ko@testas sysdba' dumpfile=dump_dir:pdp_schemas.dmp logfile=log_dir:pdp_schemas.log schemas=(bu,wolf)ITPUB个人空间4wa/s f,b
f.导出表空间
c%Y0h3la[ Q\0 expdp'sys/ko@testas sysdba' dumpfile=dump_dir:pdp_space.dmp logfile=log_dir:pdp_space.log tablespaces=(business)ITPUB个人空间7sU8p} }8E0G"Vku
g.导入表空间ITPUB个人空间cW+xt{9Bk
impdp'sys/ko@testas sysdba' dumpfile=dump_dir:pdp_space.dmp logfile=log_dir:pdp_space.log tablespaces=(business)
5D ?Vdt}9L gqM0 导入表空间的时候如果表空间不存在是不能成功导入的。ITPUB个人空间+azv6lk
h.导出数据库
*K#\#AZ[m g$u#NT0 expdp'sys/ko@testas sysdba' dumpfile=dump_dir:pdp_full_data.dmp logfile=log_dir:pdp_full_data.log full=y content=data_only
;SN5n)aT,|-k0 expdp'sys/ko@testas sysdba' dumpfile=dump_dir:pdp_full_medata.dmp logfile=log_dir:pdp_full_medata.log full=y content=metadata_onlyITPUB个人空间3{2\OLT`"jF;k
expdp'sys/ko@testas sysdba' dumpfile=dump_dir:pdp_full.dmp logfile=log_dir:pdp_full.log full=y
)qT%}6w&P0 i.导入数据库
`6a z1f.Xw0 impdp'sys/ko@testas sysdba' dumpfile=dump_dir:pdp_full_data.dmp logfile=log_dir:pdp_full_data.log full=y
o8oj b;M%cecV0 impdp'sys/ko@testas sysdba' dumpfile=dump_dir:pdp_full_medata.dmp logfile=log_dir:pdp_full_medata.log full=y
;Ai\GoYi0 impdp'sys/ko@testas sysdba' dumpfile=dump_dir:pdp_full.dmp logfile=log_dir:pdp_full.log full=y 导入到现有用户和表如果不成功,可以选择某几个用户下的表导入。最好先导入元数据,再导入数据。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: