oracle exp/imp工具使用

最近在学习oraclel备份与恢复的知识,特总结了逻辑备份与恢复的使用方法:

一、逻辑备份的介绍:

所谓备份 ,就是把数据库复制到转储设备的过程。其中,转储设备是指用于放置数据库拷贝的磁带或磁盘。

Oracle数据库有三种标准的备份方法,它们分别是导出/导入(EXP/IMP)、热备份和冷备份。导出备件是一种逻辑备份,冷备份和热备份是物理备份。

下面咱们就来讲讲导入导入(EXP/IMP)用法。

二、EXP/IMP工具介绍:

利用Export可将数据从数据库中提取出来,利用Import则可将提取出来的数据送回到Oracle数据库中去。

  1、简单导出数据(Export)和导入数据(Import)

  Oracle支持三种方式类型的输出:

  (1) 表方式(Table方式),将指定表的数据导出。

  (2) 用户方式(User方式),将指定用户的所有对象及数据导出。

  (3) 全库方式(Full方式),瘵数据库中的所有对象导出。

  数据导入(Import)的过程是数据导出(Export)的逆过程,分别将数据文件导入数据库和将数据库数据导出到数据文件。

2、增量导出/导入

  增量导出是一种常用的数据备份方法,它只能对整个数据库来实施,并且必须作为SYSTEM来导出。在进行此种导出时,系统不要求回答任何问题。导出文件名缺省为export.dmp,如果不希望自己的输出文件定名为export.dmp,必须在命令行中指出要用的文件名。

  增量导出包括三种类型:

  (1)“完全”增量导出(Complete)

  即备份三个数据库,比如:

  exp system/admin inctype=completefile=040731.dmp

  (2)“增量型”增量导出

  备份上一次备份后改变的数据,比如:

  exp system/admin inctype=incrementalfile=040731.dmp

  (3)“累积型”增量导出

  累计型导出方式是导出自上次“完全”导出之后数据库中变化了的信息。

  exp system/admin inctype=cumulativefile=040731.dmp

三、EXP/IMP与字符集

Export和 Import是一对读写Oracle数据的工具。Export将 Oracle数据库中的数据输出到操作系统文件中, Import把这些文件中的数据读到Oracle数据库中,由于使用exp/imp进行数据迁移时,数据从源数据库到目标数据库的过程中有四个环节涉及到字符集,如果这四个环节的字符集不一致,将会发生字符集转换。

四个字符集是
   (1)源数据库字符集
   (2)Export过程中用户会话字符集(通过NLS_LANG设定)
   (3)Import过程中用户会话字符集(通过NLS_LANG设定)
   (4)目标数据库字符集

详见:http://blog.csdn.net/indexman/article/details/7759318

四、应用实例如下:

1.  EXP

1)   EXP语法与参数介绍:

格式:  EXP KEYWORD=value 或 KEYWORD=(value1,value2,...,valueN)
         例如: EXP SCOTT/TIGER GRANTS=Y TABLES=(EMP,DEPT,MGR)
                   或 TABLES=(T1:P1,T1:P2), 如果 T1 是分区表
     
    USERID 必须是命令行中的第一个参数。
     
    关键字   说明 (默认值)         关键字      说明 (默认值)
    --------------------------------------------------------------------------
    USERID   用户名/口令           FULL        导出整个文件 (N)
    BUFFER   数据缓冲区大小        OWNER        所有者用户名列表
    FILE     输出文件 (EXPDAT.DMP)  TABLES     表名列表
    COMPRESS  导入到一个区 (Y)   RECORDLENGTH   IO 记录的长度
    GRANTS    导出权限 (Y)          INCTYPE     增量导出类型
    INDEXES   导出索引 (Y)         RECORD       跟踪增量导出 (Y)
    DIRECT    直接路径 (N)         TRIGGERS     导出触发器 (Y)
    LOG      屏幕输出的日志文件    STATISTICS    分析对象 (ESTIMATE)
    ROWS      导出数据行 (Y)        PARFILE      参数文件名
    CONSISTENT 交叉表的一致性 (N)   CONSTRAINTS  导出的约束条件 (Y)
     
    OBJECT_CONSISTENT    只在对象导出期间设置为只读的事务处理 (N)
    FEEDBACK             每 x 行显示进度 (0)
    FILESIZE             每个转储文件的最大大小
    FLASHBACK_SCN        用于将会话快照设置回以前状态的 SCN
    FLASHBACK_TIME       用于获取最接近指定时间的 SCN 的时间
    QUERY                用于导出表的子集的 select 子句
    RESUMABLE            遇到与空格相关的错误时挂起 (N)
    RESUMABLE_NAME       用于标识可恢复语句的文本字符串
    RESUMABLE_TIMEOUT    RESUMABLE 的等待时间
    TTS_FULL_CHECK       对 TTS 执行完整或部分相关性检查
    TABLESPACES          要导出的表空间列表
    TRANSPORT_TABLESPACE 导出可传输的表空间元数据 (N)
    TEMPLATE             调用 iAS 模式导出的模板名

2) 导出表:

C:\Documents and Settings\Administrator>exp userid=system/admin tables=(scott.emp) file=e:\emp.dmp
     
    Export: Release 10.2.0.1.0 - Production on 星期日 8月 5 14:08:55 2012
     
    Copyright (c) 1982, 2005, Oracle.  All rights reserved.
     
     
    连接到: Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Production
    With the Partitioning, OLAP and Data Mining options
    已导出 ZHS16GBK 字符集和 AL16UTF16 NCHAR 字符集
     
    即将导出指定的表通过常规路径...
    当前的用户已更改为 SCOTT
    . . 正在导出表                             EMP导出了          14 行
    成功终止导出, 没有出现警告。

3)导出表结构:

exp userid=system/admin tables=(scott.emp) file=e:\emp1.dmp rows=n

4)直接导出

exp userid=system/admin tables=(scott.emp) file=e:\emp1.dmp direct=y

5)导出方案

exp system/admin owner=(system,scott) file=e:\system_scott.dmp

6) 增量导出

exp userid=system/admin full=y inctype=complete file=e:\orcl.dmp

2. IMP

1)  语法如下:

格式:  IMP KEYWORD=value 或 KEYWORD=(value1,value2,...,valueN)
         例如: IMP SCOTT/TIGER IGNORE=Y TABLES=(EMP,DEPT) FULL=N
                   或 TABLES=(T1:P1,T1:P2), 如果 T1 是分区表
     
    USERID 必须是命令行中的第一个参数。
     
    关键字   说明 (默认值)        关键字      说明 (默认值)
    --------------------------------------------------------------------------
    USERID   用户名/口令           FULL       导入整个文件 (N)
    BUFFER   数据缓冲区大小        FROMUSER    所有者用户名列表
    FILE     输入文件 (EXPDAT.DMP)  TOUSER     用户名列表
    SHOW     只列出文件内容 (N)     TABLES      表名列表
    IGNORE   忽略创建错误 (N)    RECORDLENGTH  IO 记录的长度
    GRANTS   导入权限 (Y)          INCTYPE     增量导入类型
    INDEXES   导入索引 (Y)         COMMIT       提交数组插入 (N)
    ROWS     导入数据行 (Y)        PARFILE      参数文件名
    LOG     屏幕输出的日志文件    CONSTRAINTS    导入限制 (Y)
    DESTROY                覆盖表空间数据文件 (N)
    INDEXFILE              将表/索引信息写入指定的文件
    SKIP_UNUSABLE_INDEXES  跳过不可用索引的维护 (N)
    FEEDBACK               每 x 行显示进度 (0)
    TOID_NOVALIDATE        跳过指定类型 ID 的验证
    FILESIZE               每个转储文件的最大大小
    STATISTICS             始终导入预计算的统计信息
    RESUMABLE              在遇到有关空间的错误时挂起 (N)
    RESUMABLE_NAME         用来标识可恢复语句的文本字符串
    RESUMABLE_TIMEOUT      RESUMABLE 的等待时间
    COMPILE                编译过程, 程序包和函数 (Y)
    STREAMS_CONFIGURATION  导入流的一般元数据 (Y)
    STREAMS_INSTANTIATION  导入流实例化元数据 (N)
     
    下列关键字仅用于可传输的表空间
    TRANSPORT_TABLESPACE 导入可传输的表空间元数据 (N)
    TABLESPACES 将要传输到数据库的表空间
    DATAFILES 将要传输到数据库的数据文件
    TTS_OWNERS 拥有可传输表空间集中数据的用户

2) 导入表:

SQL> conn scott/tiger
     
    已连接。
    SQL> drop table emp;
     
    表已删除。

C:\Documents and Settings\Administrator>imp userid=system/admin tables=(emp) file=e:\emp.dmp fromuser=scott touser=scott
     
    Import: Release 10.2.0.1.0 - Production on 星期日 8月 5 15:36:07 2012
     
    Copyright (c) 1982, 2005, Oracle.  All rights reserved.
     
     
    连接到: Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Production
    With the Partitioning, OLAP and Data Mining options
     
    经由常规路径由 EXPORT:V10.02.01 创建的导出文件
    已经完成 ZHS16GBK 字符集和 AL16UTF16 NCHAR 字符集中的导入
    . 正在将 SCOTT 的对象导入到 SCOTT
    . . 正在导入表                           "EMP"导入了          14 行
    即将启用约束条件...
    成功终止导入, 没有出现警告。

3)导入方案:

imp system/admin file=e:\scott.dmp log=e:\scott.log fromuser=scott
      imp system/manager file=e:\system_scott.dmp  log=e:\system_scott.log fromuser=(system, scott)

4)  导入完整数据库:

imp system/admin file=e:\orcl.dmp log=e:\orcl.log full=y ignore=y
————————————————
版权声明:本文为CSDN博主「罗汉爷」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/IndexMan/article/details/7829748

原文地址:https://www.cnblogs.com/yaoyangding/p/12258283.html

时间: 2024-10-09 12:40:20

oracle exp/imp工具使用的相关文章

oracle exp/imp示例及使用问题整理

oracle常用的迁移工具有exp,imp,expdp,impdp,dblink等方式,实际过程中可以根据工具特点,数据库的具体环境情况,灵活采用.   exp/imp工具应方便简单使用,在数据量不大的情况下使用很频繁, 这个简要记录下使用中遇到的问题. 一.exp/imp版本不能往上兼容问题, 数据库的版本问题一定要搞清楚. 1. 低版本的exp/imp可以连接高版本的数据库, 高版本exp/imp不能连接低版本的数据库.   2. 高版本exp导出的dmp文件, 低版本imp命令无法导入.

使用exp&imp工具进行数据库备份及恢复

使用exp&imp工具进行数据库备份及恢复1.exp/imp使用方法介绍exp/imp为一种数据库备份恢复工具,也可以作为不同数据库之间传递数据的工具,两个数据库所在的操作系统可以不同.exp可以将数据库数据导出为二进制文件,imp可以将导出的数据文件再导入到相同的数据库或不同的数据库.数据库导出有四种模式:full(全库导出).owner(用户导出).table(表导出).tablespace(表空间导出).full(全库导出):导出除ORDSYS.MDSYS.CTXSYS.ORDPLUGIN

第22章 oracle EXP/IMP/EXPDP/IMPDP 导入导出

2015-10-24 目录 参考资料 [1] oracle数据库导入导出命令! [2] Oracle数据库导入导出命令总结 [3] Oracle 数据导入导出 [4] Oracle的导入导出命令 [5] oracle导入导出 [6] oracle中exp,imp的使用详解 [7] ORACLE EXP命令 [8] Oracle的exp/imp详解(原创) [9] ORACLE EXP/IMP的使用详解 [10] Oracle exp/imp 命令 [11] oracle imp/exp命令详解

Oracle exp/imp数据导入导出工具基本用法

一.获取帮助 exp/imp help=y 二.数据导出 1.将数据库完全导出,设置full选项exp system/[email protected] file=d:\db.dmp full=y 2.导出数据库结构,不导出数据,设置rows选项exp system/[email protected] file=d:\db.dmp rows=n full=y 3.当导出数据量较大时,可以分成多个文件导出,设置filesize选项exp system/[email protected] file=

Oracle exp/imp导出导入工具的使用-1

exp导出工具将数据库中数据备份压缩成一个二进制系统文件.可以在不同OS间迁移 imp导入工具将EXP形成的二进制系统文件导入到数据库中. 一. 导出工具 exp 它有三种模式: a. 用户模式: 导出用户所有对象以及对象中的数据: b. 表模式: 导出用户所有表或者指定的表: c. 整个数据库: 导出数据库中所有对象. $exp oa1/[email protected] file=D:/all.dmp grants=y 说明:把oa1用户的所有表导出到文件D:/all.dmp $exp oa

exp/imp工具使用说解

引言 ORACLE数据库有两类备份方法. 第一类:为物理备份,该方法实现数据库的完整恢复,但数据库必须运行在归挡模式下(业务数据库在非归挡模式下运行),且 需要极大的外部存储设备,例如磁带库: 第二类:备份方式为逻辑备份,业务数据库采用此种方式,此方法不需要数据库运行在归挡模式下,不但备份简单,而且可以 不需要外部存储设备. 很久很久以前,Oracle就开始提供用来摄取表.模式或整个数据库的定义,然后导入到其他模式或数据的小工具:那就是exp/imp那个时候数据库规模都很小(几百M就算超大数据库

ORACLE EXP/IMP的使用详解

作者:eclipse 导入/导出是ORACLE幸存的最古老的两个命令行工具,其实我从来不认为Exp/Imp是一种好的备份方式,正确的说法是Exp/Imp只能是一个好的转储工具,特别是在小型数据库的转储,表空间的迁移,表的抽取,检测逻辑和物理冲突等中有不小的功劳.当然,我们也可以把它作为小型数据库的物理备份后的一个逻辑辅助备份,也是不错的建议.对于越来越大的数据库,特别是TB级数据库和越来越多数据仓库的出现,EXP/IMP越来越力不从心了,这个时候,数据库的备份都转向了RMAN和第三方工具.下面说

oracle exp/imp 详解

导入/导出是ORACLE幸存的最古老的两个命令行工具,其实我从来不认为Exp/Imp是一种好的备份方式,正确的说法是Exp/Imp只能是一个好的转储工具,特别是在小型数据库的转储,表空间的迁移,表的抽取,检测逻辑和物理冲突等中有不小的功劳.当然,我们也可以把它作为小型数据库的物理备份后的一个逻辑辅助备份,也是不错的建议.对于越来越大的数据库,特别是TB级数据库和越来越多数据仓库的出现,EXP/IMP越来越力不从心了,这个时候,数据库的备份都转向了RMAN和第三方工具.下面说明一下EXP/IMP的

exp/imp工具使用

很久很久以前,Oracle就开始提供用来摄取表.模式或整个数据库的定义, 然后导入到其他模式或数据的小工具:那就是exp/imp 那个时候数据库规模都很小(几百M就算超大数据库了),而且对于数据库的要求也没有那么高,不像现如信, 动不动就是7*24小时高并发.高可用,以至在某些领域,exp/imp也被视作备份恢复的工具使用并延续至今. 如果你使用exp备份几十G.数百G甚至更大规模数据库,并且将这种方式作为生产数据库的备份策略,这就太不合理了. 1.导出某用户下所有表 exp scott/lip