您的位置:首页 > 数据库

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

2012-05-06 07:15 225 查看
一:exp/imp 的命令行选项如下:

二 imp/exp 的功能

#^U|(P:N#Q5j105295a.导出单个用户单个表
a8Ve#D9Ts4~L Yhb105295 exp wolf/wolf@testfile= E:\oraclepractice\singltable.dmp tables=(t) ITPUB个人空间g~][Ai |w,F(E

导出的是表结构和数据。如果只想导出表结构则需要设置 exp wolf/wolf@testfile= E:\oraclepractice\singltable.dmp tables=(t)  rows = n
!K:NCws9q105295b.导出单个用户多个表
ky+N y6hW105295 exp wolf/wolf@testfile= E:\oraclepractice\singltable.dmp tables=(t,tt,ttt) log = E:\oraclepractice\singltable.log
F |8C x `105295c.导出单个用户及其内容
z8JT-B'V!K"q105295 expwolf/wolf@test file= E:\oraclepractice\userwolf.dmp wner=(wolf)  log = E:\oraclepractice\userwolf.log
@(h6\]Rl/J105295d.导出多个用户及其内容
?N r S-C'V&h:c TG105295 exp'sys/ko@testas sysdba' file= E:\oraclepractice\userwolfs.dmp wner=(wolf,wolf2)  log = E:\oraclepractice\userwolfs.logITPUB个人空间XD N*~m.P q

e.导出整个数据库(包括数据)ITPUB个人空间 K-p2G#`-u|?'Z

exp'sys/ko@testas sysdba' file= E:\oraclepractice\testfull.dmp full=y rows=y log = E:\oraclepractice\testfull.logITPUB个人空间Gd5yf5b!j

f.导出整个数据库(不包括数据)
6A\,U!c5~'_105295g.导入单个用户单个表
#f.~ p6g%xm105295 imp wolf/wolf@testfile= E:\oraclepractice\singltable.dmp tables=(t)ITPUB个人空间uegpUNT

如果表t已经存在则导入会报错, 这时只要在后面加上 ignore=y ,就可以导入,即使是重复数据也会被导入到表中。导入包含了隐形的提交操作
a BP1j$Or w0fI105295 imp wolf/wolf@testfile= E:\oraclepractice\singltable.dmp tables=(t) ignore=yITPUB个人空间7DSyR8Q*S$A z

h.导入单个用户多个表
tY1i!^!D105295 imp wolf/wolf@testfile= E:\oraclepractice\singltable.dmp tables=(t,tt,ttt) log = E:\oraclepractice\singltable.log ignore = yITPUB个人空间7yo/]'c/M*z!a

i.导入单个用户及其内容
sm2_^#B)k0G105295 imp'sys/ko@testas sysdba' file= E:\oraclepractice\userwolf.dmp  log = E:\oraclepractice\userwolf.log fromuser = wolf touser=wolf 如果导入到某个用户下面,必须指定fromuser和touser,如果touser的用户当前还不存在导入也不会成功。而且此用户需要有以前用户相同的权限。ITPUB个人空间t4s-J6\2euSd3k:h2Q

g.导入多个用户及其内容ITPUB个人空间3~&{}6I;D

imp'sys/ko@testas sysdba' file= E:\oraclepractice\userwolfs.dmp fromuser=(wolf,wolf2) touser=(wolf,wolf2) log = E:\oraclepractice\userwolfs.log
R:Oaq0U105295k.导入整个数据库(包括数据)ITPUB个人空间H3e-`P/_3Bxa5C

imp'sys/ko@testas sysdba' file= E:\oraclepractice\testfull.dmp full=y rows=y log = E:\oraclepractice\testfull.log ignore = y
C k\0U(J1A105295l.导入整个数据库(不包括数据)
!X-~7P5N(R!S105295 imp'sys/ko@testas sysdba' file= E:\oraclepractice\testfull.dmp full=y rows=n log = E:\oraclepractice\testfull.log ignore = yITPUB个人空间-k;A+CjN#_\

m.导出单个、多个表空间
-M!Xy W#sYN3`Jy105295 exp 'sys/ko@testas sysdba' file= E:\oraclepractice\tablespace.dmp log = E:\oraclepractice\tablespace.log tablespaces=businessITPUB个人空间y Nh \e\1w

drop tablespace business including contents and datafiles 删除表空间的内容,删除表空间的时候表空间内的user不会被删除,他们的表空间会被指定为默认的表空间。ITPUB个人空间p.U$Lx1C2T|}

n.导入单个、多个表空间
7@2l N#q@@;Q5V3Ai105295 imp 'sys/ko@testas sysdba' file= E:\oraclepractice\tablespace.dmp log = E:\oraclepractice\tablespace.log tablespaces=business full=yITPUB个人空间#D+J)d3fu7cO.G$`/OB

导入表空间时,表空间要先建好,否则无法导入。ITPUB个人空间B5q BEv8q+To2\

o.把导出中的部分表数据导入
5A5fJ'B-N'K[.F105295 imp'sys/ko@testas sysdba' file= E:\oraclepractice\testfull.dmp rows=y log = E:\oraclepractice\testfull.log fromuser=(wolf,wolf2) TABLES=(t,ttt)

:\@d*i8IRf b105295三. impdp/expdp的功能

N-P [%PN+?W1r*X105295 a.创建目录,给所有用户授予目录的读写权限。ITPUB个人空间P!ZF f[q6m ?

create directory dump_dir as 'E:\oraclepractice'
,KLN3E1M/[3~ L/c105295 grant read,write on directory log_dir to publicITPUB个人空间&Nv!Vt#@d4L ^1g

create directory log_dir as 'E:\oraclepractice'ITPUB个人空间)uQV&S0bsmt

grant read,write on directory log_dir to public;ITPUB个人空间];SK{kW

b.导出表ITPUB个人空间1DU'R XB{0enk?1j

expdp'sys/ko@testas sysdba' dumpfile=dump_dir:pdp_tables.dmp logfile=log_dir:pdp_table.log content=all tables=(bu.butest,bu.test3)
|a CN~v7aK`5}105295 反复导出的时候,如果原来的导出文件名已经存在expdp会报错退出,这跟exp是不同的。
gG*k j5j(k;k `105295 c.导入表
0k)C4a,F"VL105295 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个人空间T"F+]B F1p x3N

d.导出用户
*[2\m3] Q/GW[.tj105295 expdp'sys/ko@testas sysdba' dumpfile=dump_dir:pdp_schemas.dmp logfile=log_dir:pdp_schemas.log schemas=(bu,wolf)ITPUB个人空间rS}m)@#w'T3l

e.导入用户ITPUB个人空间,Z%|R6z |#N:F k5n

impdp'sys/ko@testas sysdba' dumpfile=dump_dir:pdp_schemas.dmp logfile=log_dir:pdp_schemas.log schemas=(bu,wolf)
?*[H&J4TPV\105295 f.导出表空间ITPUB个人空间ERs v@O,e

expdp'sys/ko@testas sysdba' dumpfile=dump_dir:pdp_space.dmp logfile=log_dir:pdp_space.log tablespaces=(business)
OLb*\bO(B105295 g.导入表空间ITPUB个人空间+y6`8H;F-qSb Ad

impdp'sys/ko@testas sysdba' dumpfile=dump_dir:pdp_space.dmp logfile=log_dir:pdp_space.log tablespaces=(business)ITPUB个人空间?-ZF nB3x4x

导入表空间的时候如果表空间不存在是不能成功导入的。
G \|4lvZ6[ ^]+g105295 h.导出数据库
maH!U@7@?105295 expdp'sys/ko@testas sysdba' dumpfile=dump_dir:pdp_full_data.dmp logfile=log_dir:pdp_full_data.log full=y content=data_only
W"{ I?/`_0}5s105295 expdp'sys/ko@testas sysdba' dumpfile=dump_dir:pdp_full_medata.dmp logfile=log_dir:pdp_full_medata.log full=y content=metadata_only
y D {8Sam9n`105295 expdp'sys/ko@testas sysdba' dumpfile=dump_dir:pdp_full.dmp logfile=log_dir:pdp_full.log full=yITPUB个人空间 o~e o1V/|r'y

i.导入数据库ITPUB个人空间"y N*~o0}Ri2X$BaLA

impdp'sys/ko@testas sysdba' dumpfile=dump_dir:pdp_full_data.dmp logfile=log_dir:pdp_full_data.log full=yITPUB个人空间QQ\S`h

impdp'sys/ko@testas sysdba' dumpfile=dump_dir:pdp_full_medata.dmp logfile=log_dir:pdp_full_medata.log full=yITPUB个人空间$z\k?p V\#Uq

impdp'sys/ko@testas sysdba' dumpfile=dump_dir:pdp_full.dmp logfile=log_dir:pdp_full.log full=y 导入到现有用户和表如果不成功,可以选择某几个用户下的表导入。最好先导入元数据,再导入数据。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  file 数据库 c user qq