当前位置:  数据库>oracle

Oracle之Exp、Imp

    来源: 互联网  发布时间:2017-05-18

    本文导语: Oracle数据库中执行备份、恢复与数据的重整的方式有多种,其中最简单快捷的是导入导出功能,Oracle有两个工具导出(Export Unility)和导入(Import Unility),Export Unility可以创建一个逻辑的备份文件,可以只单纯创建备份对象的定...

Oracle数据库中执行备份、恢复与数据的重整的方式有多种,其中最简单快捷的是导入导出功能,Oracle有两个工具导出(Export Unility)和导入(Import Unility),Export Unility可以创建一个逻辑的备份文件,可以只单纯创建备份对象的定义,也可以将对象的数据及对象的完整性约束一起备份,导出的文件格式是二进制(Binary File)。

Import Unility会读取导出文件,先执行DDL语句,将对象的定义及约束创建完成后,再执行DML语句,将数据存入数据库中。

Export Unility导出功能主要是将数据或对象的定义利用导出的指令导出到文件中,共有四种模式,表模式、表空间模式、用户模式、全库模式。

表模式主要是在导出的时候指定具体的表来导出,导出时与表相关的对象(indextriggersconstraintgrantsanalyzemethod)将一起被导出
EXP USER_NAME/PASSWORD@ORACLE_SID TABLES=(TABLE1,TABLE2...) FILE=FILE_NAME LOG=LOG_NAME
用户模式
EXP USER_NAME/PASSWORD@ORACLE_SID FILE=FILE_NAME LOG=LOG_NAME OWNER=USER_NAME
表空间模式
EXP USER_NAME/PASSWORD@ORACLE_SID FILE=FILE_NAME LOG=LOG_NAME TABLESPACES=TABLESPACE_NAME
表空间模式自oracle9i之后才有的,只针对单一的表空间,在导出时TABLESPACES是导出的表空间
全库模式
EXP USER_NAME/PASSWORD@ORACLE_SID FILE=FILE_NAME LOG=LOG_NAME FULL=Y;
此模式下USER_NAME必须具有特性的权限才能处理
Import Unility导入功能主要是将导出文件里的数据导入到数据库中,根据导出的模式对应也有以下四种模式
表模式
IMP USER_NAME/PASSWORD@ORACLE_SID TABLES=(TABLE1,TABLE2...) FILE=FILE_NAME LOG=LOG_NAME
单个表时可使用TABLES=TABLE1
用户模式
IMP USER_NAME/PASSWORD@ORACLE_SID FILE=FILE_NAME LOG=LOG_NAME FROMUSER=USER_NAME TOUSER=USER_NAME
用户模式下FROMUSER指导出文件导出时所指定的用户,TOUSER是指将导入的用户
表空间模式
IMP USER_NAME/PASSWORD@ORACLE_SID FILE=FILE_NAME LOG=LOG_NAME TABLESPACES=TABLESPACE_NAME
IMP导入时TABLESPACES是指将导入的表空间,而不是导出文件时指定的表空间
全库模式
IMP USER_NAME/PASSWORD@ORACLE_SID FILE=FILE_NAME LOG=LOG_NAME FULL=Y
Oracle导出方式有两种Conventional Path Export和Direct Path Export,Exp的导出方式由参数direct决定,
如direct=y时表示Exp导出采用直接路径模式Direct Path Export。如direct=n时则采用传统路径模式Conventional Path Export,Export Unility在未指定参数Direct时
,Direct默认值为n。
Conventional Path Export:会先执行一个select * from的语法,表模式下,会先查询出指定的表,在去执行sql语句;表空间模式下,会先找出该表空间下所有的表,再执行sql语句;用户模式下,会先找出该用户下所有的表,再执行sql语句;
全库模式下会先找出所有的表再执行sql语句,在执行中会读取数据,然后将数据存入缓冲区,然后再经过缓冲区的评估来判断是否需要处理数据字符集的转换等操作,最后才写入导出文件。
Direct Path Export:速度较快,因为不需要执行select * from语法,直接从数据区读取数据存入缓存区,然后不经过评估处理直接写入导出文件。
两种方式比较
Direct Path Export比Conventional Path Export要快,一般情况下Direct Path Export到处的时间是n,则Conventional Path Export的导出时间是2*n或3*n。
Direct Path Export导出时,导出的时间跟参数RECORDLENGTH有关,最大值是64K,而Conventional Path Export方式下,导出时间跟参数BUFFER相关。
Direct Path Export导出并不影响Imp的导入,与Conventional Path Export是一样的。
Direct Path Export导出方式不支持表空间模式,同时也不支持LOB对象的导出

EXP和IMP功能简单、方便,以上各模式只介绍了部分参数,详细的参数定义可通过EXP HELP=Y可查询,亦可参考Ora 10G DBA Reference


    
 
 
 
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • Oracle 12c发布简单介绍及官方下载地址
  • 在linux下安装oracle,如何设置让oracle自动启动!也就是让oracle那个服务自动启动,不是手动的
  • oracle 11g最新版官方下载地址
  • 请问su oracle 和su - oracle有什么不同?
  • Oracle 数据库(oracle Database)Select 多表关联查询方式
  • 虚拟机装Oracle R12与Oracle10g
  • Oracle数据库(Oracle Database)体系结构及基本组成介绍
  • Oracle 数据库开发工具 Oracle SQL Developer
  • 如何设置让Oracle SQL Developer显示的时间包含时分秒
  • Oracle EBS R12 支持 Oracle Database 11g
  • Oracle 10g和Oracle 11g网格技术介绍
  • SCO unix下安装oracle,但没有光盘,请大家推荐一个oracle下载站点(unix版本的)。谢谢!!!!
  • oracle中如何把表中具有相同值列的多行数据合并成一行
  • 请问大家用oracle数据库, 用import oracle.*;下的东西么? 还是用标准库?
  • Oracle 数据库(oracle Database)性能调优技术详解
  • Linux /$ORACLE_HOME $ORACLE_HOME
  • ORACLE日期相关操作
  • Linux系统下Oracle的启动与Oracle监听的启动
  • ORACLE数据库常用字段数据类型介绍
  • 请问在solaris下安装ORACLE,用root用户和用oracle用户安装有什么区别么?
  • Oracle 12c的九大最新技术特性介绍
  • 网间Oracle的连接,远程连接Oracle服务器??


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,