程序员人生 网站导航

Oracle 导入/导出 exp/imp

栏目:数据库应用时间:2015-03-26 09:47:00
export 导出数据,dmp文件,其实就是select。
import 导入数据,其实就是insert


缺点:导出的时候需要全表导出,速度慢,不是实时,而且是逻辑备份


1:EXP
exp导出分为1下几种模式
表模式:               导出某个用户下指定的表
用户模式:           导出某个用户下所有的对象
数据库模式:      导出除sys之外数据库里所有的对象,exp_full_database权限
可传输表空间:    导出某个表空间所有对象

exp语句使用帮助:$ exp help=y

1.1:导出某个用户下指定的表
$ exp doiido/doiido file=doiido.dmp tables=(doiido,boy) log=doiido.log

1.2:导出某个用户下所有的对象
$ exp doiido/doiido@doiido file=doiido.dmp owner=doiido log=doiido.log


1.3:导出全部数据库(除sys用户下的数据字典)
SQL> grant exp_full_database to doiido;
$ exp doiido/doiido file=doiido.dmp full=y log=doiido.log


1.4:导出表空间
$ exp system/doiido@orcl file=doiido.dmp tablespaces=(doiido)

1.5:在windows下远端导出
C:Windowssystem32>exp doiido/doiido@192.168.100.200:1521/doiido file=d:doiido.dmp tables=boy log=d:doiido.log


导出的两种方式
传统路径:使用SQL语句查询方式,需要经过缓存
直接路径:使用数据块抽取方式,direct=y



2:IMP导入
1:导入某个用户指定的表

$ imp doiido/doiido file=doiido.dmp tables=(doiido,boy) log=doiido.log


2:导入用户test所有的对象到doiido
$ imp doiido/doiido file=doiido.dmp fromuser=test touser=doiido log=doiido.log

履行导入的顺序
创建表结构
导入表的数据
创建相干索引
导入触发器
对导入的表启用完全性束缚
建立所有位图、函数和其他索引

imp的时候如果导入的表已存在
ignore=y ##表示导入的时候疏忽同名对象,导入的操作是追加


3:其他
(1)导入导出的进程可以更换用户,但是必须有相同的表空间在,这样导入才能够成功
(2)导出的时候会有wainings是正常的,由于有些索引或主外键之类的没有被导出 

(3)导入导出的时候还需要注意字符集的必须是相同或是子集


------分隔线----------------------------
------分隔线----------------------------

最新技术推荐