Oracle 导入/导出 exp/imp
来源:程序员人生 发布时间:2015-03-26 09:47:00 阅读次数:3149次
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)导入导出的时候还需要注意字符集的必须是相同或是子集
生活不易,码农辛苦
如果您觉得本网站对您的学习有所帮助,可以手机扫描二维码进行捐赠