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

一: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 导入到现有用户和表如果不成功,可以选择某几个用户下的表导入。最好先导入元数据,再导入数据。

posted on 2012-05-24 16:35  weaver_chen  阅读(705)  评论(0编辑  收藏  举报