EXP IMP的使用

1用户模式
导出:
用户BH的所有对象(表以及表中数据)被输出到文件中 

[oracle@bj ~]$ exp bh/bh file=bh_10.dmp log=bh_10.log

或者 [oracle@bj ~]$  exp BH/BH    BUFFER=64000 FILE=bh29.DMP OWNER=bh

[oracle@bj ~]$ ls
10201_database_linux32.zip  bh_10.dmp  bh_10.log  database  enterprise.rsp
[oracle@bj ~]$ ll
-rw-r--r-- 1 oracle oinstall     16384 May 25 23:13 bh_10.dmp
-rw-r--r-- 1 oracle oinstall      1338 May 25 23:13 bh_10.log
导入
创建用户
sql>create user bh
    identified by bh   
    default tablespace user_data 
    temporary tablespace user_temp;  
给用户授予权限
sql>grant connect,resource,dba to bh; 
[oracle@bj ~]$ imp bh/bh file=bh_10.dmp log=impbh_10.log fromuser=bh touser=bh;

这样用户BH的所有对象(表以及表中数据)被导入到文件中。必须指定FROMUSER、TOUSER参数,这样才能导入数据。

 


2表模式
导出
[oracle@bj ~]$ exp BH/BH FILE=exp_bh_2250.dmp log=exp_bh_2250.log TABLES=PRODUCT
这样用户BH的表PRODUCT就被导出 
导入
[oracle@bj ~]$ imp BH/BH FILE=exp_bh_2250.dmp log=imp_bh_2250.log TABLES=PRODUCT
这样用户BH的表PRODUCT就被导入 

导出
[oracle@bj ~]$ exp BH/BH FILE=exp_bh_2259.dmp log=exp_bh_2259.log TABLES=PRODUCT,TEST
这样用户BH的表PRODUCT和TEST就被导出 
导入
[oracle@bj ~]$  imp BH/BH FILE=exp_bh_2259.dmp log=imp_bh_2250.log TABLES=PRODUCT,TEST

这样用户BH的表PRODUCT和TEST就被导入





SYS用户下表TEST有36条记录
BH用户下表TEST有10跳记录
BH用户下表PRODUCT有3条记录


以下为详细的导入导出实例:


  一、数据导出:
  1、 将数据库BO完全导出,用户名system 密码oracle 导出到d:\full.dmp中
  C:\>exp system/oracle@BO file=d:\full.dmp full=y
     2、 将数据库中BH用户与SYS用户的表导出
  exp system/oracle@BO file=d:\biao.dmp owner=(bh,sys)  报错EXP-00090: cannot pin type "string"."string"
        将数据库中BH用户的表导出
    C:\>exp system/oracle@BO file=d:\biao.dmp owner=(bh)
    将数据库中BH用户与SCOTT用户的表导出
    C:\>exp system/oracle@BO file=d:\biao.dmp owner=(bh,scott)
    3、 将数据库中BH用户的表TEST,product导出
  exp bh/bh@BO file=d:\3biao.dmp tables=(TEST,product)     
     4、 将数据库中的表table1中的字段DESCRIPTION 以"BO"打头的数据导出
exp bh/bh@BO file=d:\4ziduan.dmp tables=(test)  query=\" where DESCRIPTION like 'BO%' \"
SQL> select * from test;


ORDERID    ORDE    DESCRIPTION
--------------------------------------------------------------------------------
1   6        BO
1   6        BO
1   6        BO
2   n        LANGALF
2          n        LKJADSFLAK
。。。。。。。
C:\>exp bh/bh@BO file=d:\4ziduan.dmp tables=(test)  query=\" where DESCRIPTION like 'BO%' \"
About to export specified tables via Conventional Path ...
. . exporting table                           TEST          3 rows exported
Export terminated successfully without warnings.


 二、数据的导入
   1、将D:\daochu.dmp 中的数据导入 TEST数据库中。
  imp system/manager@TEST  file=d:\daochu.dmp
  上面可能有点问题,因为有的表已经存在,然后它就报错,对该表就不进行导入。
  在后面加上 ignore=y 就可以了。
  2 将d:\daochu.dmp中的表table1 导入
  imp system/manager@TEST  file=d:\daochu.dmp  tables=(table1)
  基本上上面的导入导出够用了。不少情况我是将表彻底删除,然后导入。
  注意:
  你要有足够的权限,权限不够它会提示你。
  数据库时可以连上的。可以用tnsping TEST 来获得数据库TEST能否连上。


向不同用户导入数据

 实验1
用户QJ的数据导入用户BH
用户QJ有表TEST。用户BH下有表TEST,PRODUCT   ,不能成功导入。
[oracle@bj exp]$ exp qj/qj  file=qj.dmp; 
[oracle@bj exp]$ imp qj/qj file=qj.dmp fromuser=qj touser=bh;
. importing QJ's objects into BH
IMP-00015: following statement failed because the object already exists:
实验2
用户QJ的数据导入用户BH
用户QJ有表TEST。用户BH下有没表TEST
[oracle@bj exp]$ imp bh/bh file=qj.dmp fromuser=qj touser=bh;
或者[oracle@bj exp]$ imp qj/qj file=qj.dmp fromuser=qj touser=bh;一样的效果。
SQL> select * from BH.test;

ID NAME
---------- ----------
1 df
用户QJ下的表TEST成功导入BH用户下。

实验3
用户BH的数据导入用户QJ
 用户BH下有表TEST,PRODUCT  用户QJ下没有表TEST,PRODUCT 
[oracle@bj exp]$ exp bh/bh  file=bh.dmp; 
imp qj/qj file=bh.dmp fromuser=bh touser=qj;

参考文档:http://www.cnblogs.com/yugen/archive/2010/07/25/1784763.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值