`
fudehai001
  • 浏览: 497099 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

exp和imp 用法和介绍 --oracle数据库

阅读更多
EXP导出范例:

E:\software>D:\oracle\product\10.2.0\db_2\BIN\exp user/pw@test file=e:\backup\197231_test_20100207_2248.dmp full=y log=e:\backup\log\197231_test_20100207_2248.log compress=y

Export: Release 10.2.0.1.0 - Production on 星期日 2月 7 22:48:06 2010

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
EXP-00023: 必须是 DBA 才能执行完整数据库或表空间导出操作
(2)U(用户), 或 (3)T(表): (2)U > u

导出权限 (yes/no): yes >

导出表数据 (yes/no): yes >

压缩区 (yes/no): yes >

已导出 ZHS16GBK 字符集和 AL16UTF16 NCHAR 字符集

exp远程的oracle时会提示要确认选择这问题没解决

--------------------------------------------

exp和imp用法和介绍

   1、EXPort/Import的用处
  
  Oracle Export/Import工具用于在数据库之间传递数据。
  
  Export从数据库中导出数据到dump文件中
  
  Import从dump文件中到入数据导数据库中
  
  下面是一般使用他们的情况
  
  (1)、两个数据库之间传送数据
  
  同一个版本的oracle Server之间
  
  不同版本的oracle Server之间
  
  同种OS之间
  
  不同种OS之间
  
  (2)、用于数据库的备份和恢复
  
  (3)、从一个SCHEMA传送到另一个SCHEMA
  
  (4)、从一个TABLESPACE传送到另一个TABLESPACE
  
  2、DUMP文件
  
  EXPORT到出的是二进制格式的文件,不可以手工编辑,否则会损坏数据。
  
  该文件在ORACLE支持的任何平台上都是一样的格式,可以在各平台上通用。
  
  DUMP文件在IMPORT时采用向上兼容方式,就是说ORALCE7的DUMP文件可以导入
  
  到ORACLE8中,但是版本相差很大的版本之间可能有问题。
  
  3、EXPORT/IMPORT过程
  
  EXPORT导出的DUMP文件包含两种基本类型的数据
  - DDL (Data Dictionary Language)
  - Data
  
  DUMP文件包含所有重新创建Data Dictionary的DDL语句,基本上是可以读的格式。
  
  但是应该注意的是,千万不要用文本编辑器编辑之,oracle说不支持这样做的。
  
  下面列出的是DUMP文件中包括的ORACLE对象,分为TABLE/USER/FULL方式,有些对象
  
  只是在FULL方式下才有(比如public synonyms, users, roles, rollback segments等)
  
  Table mode       User Mode        Full Database Mode
  ---------------------- ---------------------- ----------------------
  ---
  Table definitions    Table definitions    Table definitions
  Table data       Table data       Table data
  Owner's table grants  Owner's grants     Grants
  Owner's table indexes  Owner's indexes     Indexes
  Table constraints    Table constraints    Table constraints
  Table triggers     Table triggers     All triggers
  Clusters        Clusters
  Database links     Database links
  Job queues       Job queues
  Refresh groups     Refresh groups
  Sequences        Sequences
  Snapshots        Snapshots
  Snapshot logs      Snapshot logs
  Stored procedures    Stored procedures
  Private synonyms    All synonyms
  Views          Views
  Profiles
  Replication catalog
  Resource cost
  Roles
  Rollback segments
  System audit options
  System privileges
  Tablespace definitions
  
  Tablespace quotas
  User definitions
  
  4、IMPORT时的对象倒入顺序
  
  在倒入数据时,ORACLE有一个特定的顺序,可能随数据库版本不同而有所变化,
  
  但是
  
  现在是这样的。
  
  1. Tablespaces             14. Snapshot Logs
  2. Profiles              15. Job Queues
  3. Users                16. Refresh Groups
  4. Roles                17. Cluster Definitions
  5. System Privilege Grants       18. Tables (also grants,commen
  ts,
  6. Role Grants               indexes, constraints, audi
  ting)
  7. Default Roles            19. Referential Integrity
  
  8. Tablespace Quotas          20. POSTTABLES actions
  
  9. Resource Costs           21. Synonyms
  10. Rollback Segments     22. Views
  11. Database Links           23. Stored Procedures
  12. Sequences              24. Triggers, Defaults and Aud
  iting
  13. Snapshots
  
  按这个顺序主要是解决对象之间依赖关系可能产生的问题。
TRIGGER最后导入,所以在INSERT数据到数据库时不会激发TRIGGER。在导入后可能会有一些状态是INVALID的PROCEDURE,主要是IMPORT时会影响一些数据库对象,而IMPORT并不重新编译PROCEDURE,从而造成这种情况,可以重新编译之,就能解决这个问题。
  
  5、兼容性问题
  
  IMPORT工具可以处理EXPORT 5.1.22之后的版本导出的DUMP文件,所以你用ORACLE7的IMPORT处理ORACLE6的DUMP文件,依次类推,但是ORACLE如果版本相差很大有可能不能处理。具体的问题可以参照相应的文档,比如有关参数设置等(COMPATIBLE参数)
  
  6、EXPORT需要的VIEW
  
  EXPORT需要的VIEW是由CATEXP.SQL创建,这些内部VIEW用于EXPORT组织DUMP文件中数据格式。
  
  大部分VIEW用于收集创建DDL语句的,其他的主要供ORACLE开发人员用。
  
  这些VIEW在不同ORACLE版本之间有可能不同,每个版本可能都有新的特性加入。
  
  所以在新的版本里面执行旧的dump文件会有错误,一般可以执行CATEXP.SQL解决这些问题,解决向后兼容问题的一般步骤如下:
  
  导出数据库的版本比目标数据库老的情况:
  
  - 在需要导入的目标数据库中执行旧的CATEXP.SQL
  
  - 使用旧的EXPORT导出DUMP文件
  
  - 使用旧的IMPORT导入到数据库中
  
  - 在数据库中执行新的CATEXP.SQL,以恢复该版本的EXPORT VIEW
  
  导出数据库的版本比目标数据库新的情况:
  
  - 在需要导入的目标数据库中执行新的CATEXP.SQL
  
  - 使用新的EXPORT导出DUMP文件
  
  - 使用新的IMPORT导入到数据库中
  
  - 在数据库中执行旧的CATEXP.SQL,以恢复该版本的EXPORT VIEW
  
  7、碎片整理
  
  EXPORT/IMPORT一个很重要的应用方面就是整理碎片。因为如果时初次IMPPORT,
  
  就会重新CREATE TABLE 再导入数据,所以整张表都是连续存放的。另外缺省情况
  
  下EXPORT会在生成DUMP文件是“压缩(COMPRESS)”TABLE,但是这种压缩在很多情
  
  况下被误解。事实上,COMPRESS是改变STORAGE参数INITIAL的值。比如:
  
  CREATE TABLE .... STORAGE( INITIAL 10K NEXT 10K..)
  
  现在数据已经扩展到100个EXTENT,如果采用COMPRESS=Y来EXPORT数据,则产生的语句时 STORAGE( INITIAL 1000K NEXT 10K)
  
  我们可以看到NEXT值并没有改变,而INITIAL是所有EXTENT的总和。所以会出现如下情况,表A有4个100M的EXTENT,执行DELETE FROM A,然后再用COMPRESS=Y 导出数据,产生的CREATE TABLE语句将有400M的INITIAL EXTENT。即使这是TABLE中已经没有数据!!这是的DUMP文件即使很小,但是在IMPORT时就会产生一个巨大的TABLE.
  
  另外,也可能会超过DATAFILE的大小。比如,有4个50M的数据文件,其中表A有15个10M的EXTENT,如果采用COMPRESS=Y的方式导出数据,将会有INITIAL=150M,那么在重新导入时,不能分配一个150M的EXTENT,因为单个EXTENT不能跨多个文件。
  
  8、在USER和TABLESPACE之间传送数据
  
  一般情况下EXPORT的数据要恢复到它原来的地方去。如果SCOTT用户的表以TABLE
  
  或USER方式EXPORT数据,在IMPORT时,如果SCOTT用户不存在,则会报错!
  
  以FULL方式导出的数据带有CREATE USER的信息,所以会自己创建USER来存放数据。
  
  当然可以在IMPORT时使用FROMUSER和TOUSER参数来确定要导入的USER,但是要保证TOUSER一定已经存在啦。
  
  9、EXPORT/IMPORT对SQUENCE的影响在两种情况下,EXPORT/IMPORT会对SEQUENCE。
  
  (1)如果在EXPORT时,用户正在取SEQUENCE的值,可能造成SEQUENCE的不一致。
  
  (2)另外如果SEQUENCE使用CACHE,在EXPORT时,那些在CACHE中的值就会被忽略的,只是从数据字典里面取当前值EXPORT。
  
  如果在进行FULL方式的EXPORT/IMPORT时,恰好在用sequence更新表中某列数据,而且不是上面两种情况,则导出的是更新前的数据。
  
  如果采用常规路径方式,每一行数据都是用INSERT语句,一致性检查和INSERT TRIGGER如果采用DIRECT方式,某些约束和trigger可能不触发,如果在trigger中使用sequence.nextval,将会对sequence有影响。
  
  参数解:
  
  E:\>exp help=y
  
  通过输入 EXP 命令和用户名/口令 “导出”数据,实例: EXP SCOTT/TIGER
  
  或者,您也可以通过输入跟有各种参数的 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)
  ROWS 导出数据行 (Y)
  PARFILE 参数文件名
  CONSTRAINTS 导出限制 (Y)
  CONSISTENT 交叉表一致性
  LOG 屏幕输出的日志文件
  STATISTICS 分析对象 (ESTIMATE)
  DIRECT 直接路径 (N)
  TRIGGERS 导出触发器 (Y)
  FEEDBACK 显示每 x 行 (0) 的进度
  FILESIZE 各转储文件的最大尺寸
  QUERY 选定导出表子集的子句
  
  下列关键字仅用于可传输的表空间
  
  TRANSPORT_TABLESPACE 导出可传输的表空间元数据 (N)
  
  TABLESPACES 将传输的表空间列表
  
  E:\>imp help=y
  
  可以通过输入 IMP 命令和您的用户名/口令
  
  跟有您的用户名 / 口令的命令:
  
  实例: IMP SCOTT/TIGER
  
  或者, 可以通过输入 IMP 命令和各种自变量来控制“导入”按照不同参数。
  
  要指定参数,您可以使用关键字:
  
  格式: IMP KEYWORD=value 或 KEYWORD=(value1,value2,...,vlaueN)
  
  实例: 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)
  ANALYZE 执行转储文件中的 ANALYZE 语句 (Y)
  FEEDBACK 显示每 x 行 (0) 的进度
  TOID_NOVALIDATE 跳过指定类型 id 的校验
  FILESIZE 各转储文件的最大尺寸
  RECALCULATE_STATISTICS 重新计算统计值 (N)
  
  下列关键字仅用于可传输的表空间
  
  TRANSPORT_TABLESPACE 导入可传输的表空间元数据 (N)
  
  TABLESPACES 将要传输到数据库的表空间
  
  DATAFILES 将要传输到数据库的数据文件
  
  TTS_OWNERS 拥有可传输表空间集中数据的用户
分享到:
评论

相关推荐

    Oracle数据库逻辑增量备份之exp/imp

    本文将深入探讨Oracle数据库中使用exp/imp工具进行逻辑增量备份的方法及其恢复策略。 1一、实现需求 在Oracle数据库环境中,确保数据安全性和可用性是关键。逻辑增量备份的主要目标是在最小化系统停机时间和资源...

    oracle导入导出(imp,exp本机或异机恢复)-详细笔记文档总结

    本文档总结了 Oracle 数据库的完全导入导出、imp 和 exp 命令的使用方法,以及本机和异机恢复的步骤。 一、数据库的完全导入导出 Oracle 的数据库导入导出可以使用 exp 和 imp 两个命令来实现。exp 命令用于将...

    oracle数据库exp_imp命令详解[参考].pdf

    Oracle 数据库 exp/imp 命令详解 Oracle 数据库 exp/imp 命令是 Oracle 中最常用的命令之一。...exp/imp 命令是 Oracle 数据库备份和恢复的重要工具,了解其使用方法和参数可以帮助我们更好地备份和恢复数据库。

    BLOG_Oracle_lhr_imp-00051,imp-00008

    IMP(Import)是 Oracle 数据库中的一个实用工具,用于将数据从一个数据库导入到另一个数据库中。IMP 命令可以从导出文件中读取数据,并将其导入到目标数据库中。但是,在使用 IMP 命令时,可能会遇到一些错误,例如...

    oracle的expimp使用方法学习

    Oracle数据库的备份是确保数据安全的关键操作,而`exp`和`imp`是Oracle数据库中用于逻辑备份的主要工具。这两个命令允许用户将数据库中的数据导出(exp)到文件,然后在需要时导入(imp)回数据库。逻辑备份在某些...

    Oracle_exp_imp导出导入命令及数据库备份

    这两个命令是Oracle早期版本中用于数据备份和恢复的主要方法,虽然在现代Oracle版本中,Data Pump等更高级的工具已逐渐取代它们,但在某些场景下,exp和imp仍然被广泛使用。 首先,exp命令用于从Oracle数据库中导出...

    oracle命令 exp&imp命令详解

    在《exp&imp命令详解.pdf》这份文档中,你应该能够找到关于这些命令的详细使用方法、示例以及最佳实践,包括如何处理各种复杂情况和问题。通过深入学习和实践,你将能够熟练掌握Oracle数据库的数据导入和导出,为你...

    exp和imp用法和介绍

    本文将详细介绍 Oracle Export/Import 工具的使用方法及其应用场景。 #### 二、Oracle Export/Import 工具概述 Oracle Export/Import 是一组用于在不同 Oracle 数据库之间进行数据传输的强大工具。通过这些工具,...

    定制化客户端,仅包含sqlplus、sqlldr、exp、imp

    在IT领域,数据库管理是至关重要的任务,而Oracle数据库系统是全球广泛使用的数据库之一。针对那些需要进行简单数据库操作但不需完整客户端功能的用户,Oracle提供了“定制化客户端”。这个特殊的客户端版本被称为...

    学习Oracle数据库备份命令ExpImp.pdf

    "学习Oracle数据库备份命令ExpImp.pdf" Oracle数据库备份是数据库管理中非常重要的一部分,备份可以防止数据丢失和恢复数据库。Oracle数据库提供了两种备份方法:物理备份和逻辑备份。 物理备份是指将整个数据库的...

    oracle11g-exp文件

    在给定的“oracle11g-exp”文件中,重点涉及了Oracle数据库的数据导出和导入工具,即EXP(Export)和IMP(Import)。这两个实用程序是数据库管理员和开发人员日常工作中不可或缺的部分,主要用于数据迁移、备份和...

    Java导出Oracle数据库数据

    Java 导出 Oracle 数据库数据 Java 是一种流行的编程语言,广泛应用于各种领域。...使用 exp 和 imp 命令可以实现数据的导出和导入,而 Java 语言可以使用 Runtime.getRuntime().exec() 方法来执行这些命令。

    Oracle数据库备份命令ExpImp.pdf

    Oracle数据库备份命令ExpImp.pdf Oracle数据库备份命令ExpImp.pdf是一份详细介绍Oracle数据库备份命令的文档...Oracle数据库备份命令ExpImp.pdf提供了详细的备份命令和方法,帮助数据库管理员更好地备份和恢复数据库。

    ORACLE导出导入(exp和imp)总结[文].pdf

    通过以上详细介绍,我们可以看到Oracle数据库中的EXP和IMP命令是非常强大且灵活的工具,能够满足各种数据迁移和备份的需求。正确地使用这些命令,对于数据库管理员来说至关重要。希望本文能够帮助大家更好地理解和...

    Oracle EXP和IMP用法和介绍

    Oracle EXP和IMP是Oracle数据库系统提供的两个实用工具,主要用于数据的导出和导入。这两个工具在数据迁移、备份恢复、数据库或表空间间的数据传输等方面发挥着重要作用。 1. Oracle EXP(Export): Oracle ...

    Oracle数据库学习指南

    37. 如何在oracle7和oracle8之间exp-imp数据 38. 如何在Windows 2000下将Oracle完全卸载 39. 如何正确建立TYPE、partition(分区) 40. 如何正确利用Rownum来限制查询所返回的行数 41. 什么是ROWID,为什么需要...

    exp imp命令详细介绍

    综上所述,exp imp命令在Oracle数据库管理中扮演着至关重要的角色,无论是日常维护还是灾难恢复,掌握其使用方法都能极大提升数据库管理效率与安全性。通过对不同工作方式、操作模式以及高级选项的深入了解,数据库...

    oracle exp imp详解

    Oracle EXP 和 IMP 是 Oracle 数据库中用于数据导入导出的传统工具。虽然随着技术的发展,这些工具在处理大规模数据库时逐渐被 RMAN 和其他更现代的技术所取代,但在中小型数据库环境中仍然非常有用。 #### 二、EXP...

Global site tag (gtag.js) - Google Analytics