码迷,mamicode.com
首页 > 数据库 > 详细

Oracle 导入/导出 exp/imp

时间:2015-03-04 17:09:46      阅读:175      评论:0      收藏:0      [点我收藏+]

标签:oracle   exp   imp   导入   导出   

export 导出数据,dmp文件,其实就是select。
import 导入数据,其实就是insert


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


1:EXP
exp导出分为一下几种模式
表模式:               导出某个用户下指定的表
用户模式:           导出某个用户下所有的对象
数据库模式:      导出除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:\Windows\system32>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)导入导出的时候还需要注意字符集的必须是相同或者是子集


Oracle 导入/导出 exp/imp

标签:oracle   exp   imp   导入   导出   

原文地址:http://blog.csdn.net/doiido/article/details/44059551

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!