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

一:exp/imp 的命令行选项如下:

二  imp/exp 的功能


a.导出单个用户单个表
      exp wolf/wolf@test file= E:\oraclepractice\singltable.dmp tables=(t) 
   导出的是表结构和数据。如果只想导出表结构则需要设置 exp wolf/wolf@test file= E:\oraclepractice\singltable.dmp tables=(t)  rows = n
b.导出单个用户多个表
      exp wolf/wolf@test file= E:\oraclepractice\singltable.dmp tables=(t,tt,ttt) log =  E:\oraclepractice\singltable.log
c.导出单个用户及其内容
      exp wolf/wolf@test  file= E:\oraclepractice\userwolf.dmp wner=(wolf)  log =  E:\oraclepractice\userwolf.log
d.导出多个用户及其内容
      exp 'sys/ko@test as sysdba'  file= E:\oraclepractice\userwolfs.dmp wner=(wolf,wolf2)  log =  E:\oraclepractice\userwolfs.log
e.导出整个数据库(包括数据)
      exp 'sys/ko@test as sysdba'  file= E:\oraclepractice\testfull.dmp full=y rows=y log =  E:\oraclepractice\testfull.log
f.导出整个数据库(不包括数据)
g.导入单个用户单个表
       imp wolf/wolf@test file= E:\oraclepractice\singltable.dmp tables=(t)
  如果表t已经存在则导入会报错, 这时只要在后面加上 ignore=y ,就可以导入,即使是重复数据也会被导入到表中。导入包含了隐形的提交操作
  imp wolf/wolf@test file= E:\oraclepractice\singltable.dmp tables=(t) ignore=y
h.导入单个用户多个表
       imp wolf/wolf@test file= E:\oraclepractice\singltable.dmp tables=(t,tt,ttt) log =  E:\oraclepractice\singltable.log ignore = y
i.导入单个用户及其内容
       imp 'sys/ko@test as sysdba'  file= E:\oraclepractice\userwolf.dmp   log =  E:\oraclepractice\userwolf.log  fromuser = wolf touser=wolf 如果导入到某个用户下面,必须指定fromuser和touser,如果touser的用户当前还不存在导入也不会成功。而且此用户需要有以前用户相同的权限。
g.导入多个用户及其内容
      imp 'sys/ko@test as sysdba'  file= E:\oraclepractice\userwolfs.dmp fromuser=(wolf,wolf2) touser=(wolf,wolf2) log =  E:\oraclepractice\userwolfs.log
k.导入整个数据库(包括数据)
      imp 'sys/ko@test as sysdba'  file= E:\oraclepractice\testfull.dmp full=y rows=y log =  E:\oraclepractice\testfull.log ignore = y
l.导入整个数据库(不包括数据)
      imp 'sys/ko@test as sysdba'  file= E:\oraclepractice\testfull.dmp full=y rows=n log =  E:\oraclepractice\testfull.log ignore = y
m.导出单个、多个表空间
        exp 'sys/ko@test as sysdba' file= E:\oraclepractice\tablespace.dmp log =  E:\oraclepractice\tablespace.log tablespaces=business
  drop tablespace business including contents  and datafiles 删除表空间的内容,删除表空间的时候表空间内的user不会被删除,他们的表空间会被指定为默认的表空间。
n.导入单个、多个表空间
        imp 'sys/ko@test as sysdba' file= E:\oraclepractice\tablespace.dmp log =  E:\oraclepractice\tablespace.log tablespaces=business   full=y
        导入表空间时,表空间要先建好,否则无法导入。
o.把导出中的部分表数据导入
      imp 'sys/ko@test as sysdba' file= E:\oraclepractice\testfull.dmp  rows=y log =  E:\oraclepractice\testfull.log fromuser=(wolf,wolf2) TABLES=(t,ttt)


三. impdp/expdp的功能


  a.创建目录,给所有用户授予目录的读写权限。
     create directory dump_dir as 'E:\oraclepractice'
     grant read,write on directory log_dir to public
     create directory log_dir as 'E:\oraclepractice'
     grant read,write on directory log_dir to public;
  b.导出表
     expdp 'sys/ko@test as sysdba' dumpfile=dump_dir:pdp_tables.dmp logfile=log_dir:pdp_table.log content=all tables=(bu.butest,bu.test3)
     反复导出的时候,如果原来的导出文件名已经存在expdp会报错退出,这跟exp是不同的。
  c.导入表
    impdp 'sys/ko@test as sysdba' dumpfile=dump_dir:pdp_tables.dmp logfile=log_dir:pdp_table.log content=all tables=(bu.butest,bu.test3)
  d.导出用户
     expdp 'sys/ko@test as sysdba' dumpfile=dump_dir:pdp_schemas.dmp logfile=log_dir:pdp_schemas.log  schemas=(bu,wolf)
  e.导入用户
     impdp 'sys/ko@test as sysdba' dumpfile=dump_dir:pdp_schemas.dmp logfile=log_dir:pdp_schemas.log  schemas=(bu,wolf)
  f.导出表空间
     expdp 'sys/ko@test as sysdba' dumpfile=dump_dir:pdp_space.dmp logfile=log_dir:pdp_space.log  tablespaces=(business)
  g.导入表空间
     impdp 'sys/ko@test as sysdba' dumpfile=dump_dir:pdp_space.dmp logfile=log_dir:pdp_space.log  tablespaces=(business)
     导入表空间的时候如果表空间不存在是不能成功导入的。
  h.导出数据库
      expdp 'sys/ko@test as sysdba' dumpfile=dump_dir:pdp_full_data.dmp logfile=log_dir:pdp_full_data.log  full=y content=data_only
        expdp 'sys/ko@test as sysdba' dumpfile=dump_dir:pdp_full_medata.dmp logfile=log_dir:pdp_full_medata.log  full=y content=metadata_only
      expdp 'sys/ko@test as sysdba' dumpfile=dump_dir:pdp_full.dmp logfile=log_dir:pdp_full.log  full=y
  i.导入数据库
      impdp 'sys/ko@test as sysdba' dumpfile=dump_dir:pdp_full_data.dmp logfile=log_dir:pdp_full_data.log  full=y
      impdp 'sys/ko@test as sysdba' dumpfile=dump_dir:pdp_full_medata.dmp logfile=log_dir:pdp_full_medata.log  full=y
      impdp 'sys/ko@test as sysdba' dumpfile=dump_dir:pdp_full.dmp logfile=log_dir:pdp_full.log  full=y 导入到现有用户和表如果不成功,可以选择某几个用户下的表导入。最好先导入元数据,再导入数据。

 

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/10113559/viewspace-629347/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/10113559/viewspace-629347/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值