导出:
用户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 ~]$ ls10201_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