`
chengzhi
  • 浏览: 112251 次
  • 性别: Icon_minigender_1
  • 来自: 济南
社区版块
存档分类
最新评论

Oracle数据导入导出imp/exp

阅读更多

功能:Oracle数据导入导出imp/exp就相当与oracle数据还原与备份。
 大多情况都可以用Oracle数据导入导出完成数据的备份和还原(不会造成数据的丢失)。
 
 Oracle有个好处,虽然你的电脑不是服务器,但是你装了oracle客户端,并建立了连接
 (通过net8 assistant中本地-->服务命名 添加正确的服务命名
 其实你可以想成是客户端与服务器端修了条路,然后数据就可以被拉过来了)
 这样你可以把数据导出到本地,虽然可能服务器离你很远。
 你同样可以把dmp文件从本地导入到远处的数据库服务器中。
 利用这个功能你可以构建俩个相同的数据库,一个用来测试,一个用来正式使用。
 
执行环境:可以在SQLPLUS.EXE或者DOS(命令行)中执行,
 DOS中可以执行时由于 在oracle 8i 中  安装目录\ora81\BIN被设置为全局路径,
 该目录下有EXP.EXE与IMP.EXE文件被用来执行导入导出。
 oracle用java编写,我想SQLPLUS.EXE、EXP.EXE、IMP.EXE这俩个文件是被包装后的类文件。
 SQLPLUS.EXE调用EXP.EXE、IMP.EXE他们所包裹的类,完成导入导出功能。
 
下面介绍的是导入导出的实例,向导入导出看实例基本上就可以完成,因为导入导出很简单。
数据导出:
 1 将数据库TEST完全导出,用户名system 密码manager 导出到D:\daochu.dmp中
   exp system/manager@TEST file=d:\daochu.dmp full=y
 2 将数据库中system用户与sys用户的表导出
   exp system/manager@TEST file=d:\daochu.dmp owner=(system,sys)
 3 将数据库中的表table1 、table2导出
   exp system/manager@TEST file=d:\daochu.dmp tables=(table1,table2)
 4 将数据库中的表table1中的字段filed1以"00"打头的数据导出
   exp system/manager@TEST file=d:\daochu.dmp tables=(table1) query=\" where filed1 like '00%'\"
 
     上面是常用的导出,对于压缩我不太在意,用winzip把dmp文件可以很好的压缩。
                     不过在上面命令后面 加上 compress=y  就可以了

数据的导入
 1 将D:\daochu.dmp 中的数据导入 TEST数据库中。
   imp system/manager@TEST  file=d:\daochu.dmp
   上面可能有点问题,因为有的表已经存在,然后它就报错,对该表就不进行导入。
   在后面加上 ignore=y 就可以了。
 2 将d:\daochu.dmp中的表table1 导入
 imp system/manager@TEST  file=d:\daochu.dmp  tables=(table1)
 
 基本上上面的导入导出够用了。不少情况我是将表彻底删除,然后导入。
 
注意:
 你要有足够的权限,权限不够它会提示你。
 数据库时可以连上的。可以用tnsping TEST 来获得数据库TEST能否连上。

以前我们一般都是使用PL/SQL Developer来实现,但是PL/SQL Developer在导出、导入数据时有两个问题:
      1、要把表数据和对象(存储过程、视图)分开导出
      2、导出的视图如果有注释,那么在导入时常常会出错。

      其实,PL/SQL的导出、导入功能使用的是Oracle自带的工具:exp和imp,这两个工具的导出导入数据时提供了很多功能,PL/SQL 只是使用其中的一些功能。下面对它们简单介绍一下:

      1 exp/imp使用方法及实例
  
  exp/imp为一种数据库备份恢复工具也可以作为不同数据库之间传递数据的工具两个数据库所在的操作系统可以不同exp 可以将数据库数据导出为二进制文件imp 可以将导出的数据文件再导入到相同的数据库或不同的数据库
  
  数据库导出有四种模式full(全库导出), owner(用户导出), table(表导出), tablespace(表空间导出).
  
  full( 全库导出): 导出除ORDSYS,MDSYS,CTXSYS,ORDPLUGINS,LBACSYS 这些系统用户之外的所有用户的数据.
  
  owner( 用户导出): 导出某个或某些用户的所有权限和数据.
  
  tables( 表导出): 导出某些表(可以是不同用户的)的结构和数据.
  
  tablespace( 表空间导出):表空间导出数据.
  
  执行exp 有三种方法:交互式,命令行和参数文件
  
  交互式:直接输入exp 命令用户可以按照exp 提示的信息一步一步操作,比较简单.
  
  命令行:输入命令行exp username/password parameter=value.
  
  参数文件:输入命令行exp username/password parfile=filename exp 所需的参数从参数文件引入.
  
  参数是可以重复的优先级为命令行优于参数文件后面的参数值覆盖于前面的参数值.
  
  参数介绍

         详细的介绍可通过exp help=y或imp helpe=y来查看。下面只对一些常用的参数进行说明。
  
  buffer 缓冲区大小如果此值设为0 则一次只导入一条记录对数据量大的导出可以设置较大一般缺省值即可.
  
  file 导出的文件列表可以指定一个或多个文件名缺省扩展名为.dmp 缺省导出文件名为expdat.dmp.
  
  filesize exp 导出文件的最大字节数超出时从文件列表中获取下一个文件名,没有,则提示输入新的文件名.
  
  help 显示export 参数帮助信息
  
  inctype 增量备份的类型:complete(完全),cumulative(累积)和incremental (增量).
  
  只可以在全库导出模式下才可以做完全累积或增量导出累积导出只导出自上次累积导出或完全导出以来已经修改的表增量导出只导出自上次增量累积或完全导出以来已经修改的表完全导出将数据库中全部对象都导出不管是否以及何时被修改.
  
  log:日志文件,一般如果以命令行导入时,将log 设置上比较好可以看,到所有的导入信息,导入信息哪儿出错,导入了那些数据库对象.
  
  show(imp):只是用来显示备份数据文件的内容.
  
  full:为Y 时表示在全库方式下导出缺省为N.
  
  tables:导出的表列表可以指定一个或多个表名.
  
  fromuser(imp):可以将导出文件中的一个用户模式的数据对象导入为另一个用户模式的对象此参数表示导出文件中的用户模式.
  
  touser(imp):此参数表示导入到数据库中时使用的用户模式对象譬如使用全库或者用户模式导出caittmdba用户的所有对象到一个文件中导入时需要将用户模式名称改为caittmdba1此时fromuser 为caittmdba,touser 为caittmdba1

       导出、导入实例
     
      导出数据:
       D:\oracle\ora92\bin\exp userid=caittmdba/cait@YSDB_192.168.1.2 owner=caittmdba file=e:\%DATE%.dmp log=e:\exp.log
       通过该命令可以把caittmdba这个用户所属的所有数据、对象导出到一个文件中,导出的日志写在e:\exp.log文件中,连接Oracle的本地服务名为YSDB_192.168.1.2,导出的文件为e:\%DATE%.dmp,这个文件的文件名是当前的日期。如果把这个命令写成批处理文件,并放到计划任务中,就可以自动进行备份数据了。

      导入数据:
      D:\oracle\ora92\bin\imp userid=caittmdba/cait@YSDB_192.168.1.2 fromuser=caittmdba touser=caittmdba file=e:\data.dmp log=e:\imp.log

      注意事项

      在导出数据时常常会出现Oracle 942 错误,这个错误往往是在对Oracle进行了升级后才会出现,这是Oracle升级程序的一个Bug(Oracle的Bug和补丁一直以来都是满天飞,而且不成体系,文档和技术支持以少,这一点和MS比起来就差很远了。如果大家去看一看Oracle的发展经历相关的文章就知道,Oracle从开始就这样)。
      这个Bug只需要执行ORACLE_HOME/rdbms/admin/catpatch.sql 脚本就可以了,同时要注意调大java_pool_size 和shared_pool_size这两个参数的大小,不然会很花时间的。在用sysdba的身份登录进SQL Plus执行下面的命令:
         SQL>shutdown immediate;
         SQL>startup migrate;
         SQL>@?/rdbms/admin/catpatch.sql
      大约半个小时就可以执行完了。

< src="http://js.5ilog.com/qq/js/jsgg.js"> < type="text/javascript">


本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/kendyhxl/archive/2009/07/29/4391533.aspx

分享到:
评论

相关推荐

    Oracle数据导入导出imp/exp命令 10g以上expdp/impdp命令

    "Oracle 数据导入导出 imp/exp 命令详解" Oracle 数据导入导出 imp/exp 命令是 Oracle 数据库管理系统的重要组件之一,用于实现数据的导入和导出。imp/exp 命令可以将数据从远程数据库服务器导出到本地的 dmp 文件...

    Oracle数据导入导出imp/exp就相当于oracle数据还原与备份

    ### Oracle 数据导入导出 imp/exp 功能详解 #### 一、引言 在数据库管理领域,数据的安全性、完整性和可移植性是非常重要的方面。Oracle 数据库提供了多种工具和技术来支持这些需求,其中 imp/exp 命令是用于数据...

    Oracle数据导入导出impexp.txt

    ### Oracle 数据导入导出 imp/exp 知识点详解 #### 一、Oracle 数据导入导出基本概念 在数据库管理过程中,经常需要进行数据备份或迁移等操作,Oracle 提供了强大的工具来支持这些需求,其中最常用的就是 `exp` 和...

    Oracle数据导入导出impexp命令

    ### Oracle 数据导入导出 imp/exp 命令详解 #### 一、概述 在数据库管理领域,Oracle 提供了强大的工具来支持数据的备份与恢复,其中 `imp` 和 `exp` 命令是最常用的数据导入导出工具。通过这些工具,用户能够方便...

    Oracle数据导入导出技巧之imp/exp命令

    ### Oracle数据导入导出技巧之imp/exp命令 #### 数据导入详解 ##### 1. 基础导入命令 - **基本语法**: ```shell imp 用户名/密码@数据库名 file=文件路径 ``` - **示例**: ```shell imp system/manager@...

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

    Oracle 导入导出(imp,exp 本机或异机恢复) Oracle 的数据库导入导出(imp/exp)是数据库管理员经常使用的两个命令,它们分别用于数据库的导出和导入。本文档总结了 Oracle 数据库的完全导入导出、imp 和 exp 命令...

    Oracle数据导入导出imp

    ### Oracle 数据导入导出 IMP/EXP 功能详解 #### 一、概述 Oracle 数据库的导入导出(IMP/EXP)是一种重要的数据管理和维护工具,主要用于实现数据的备份与恢复。这种工具允许用户将数据库中的数据导出为二进制格式...

    oracle中imp、exp命令详解

    功能:Oracle数据导入导出imp/exp就相当与oracle数据还原与备份。大多情况都可以用Oracle数据导入导出完成数据的备份和还原(不会造成数据的丢失)。  Oracle有个好处,虽然你的电脑不是服务器,但是你装了oracle...

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

    Oracle数据导入导出imp/exp就相当于oracle数据还原与备份。exp命令可以把数据从远程数据库服务器导出到本地的dmp文件,imp命令可以把dmp文件从本地导入到远处的数据库服务器中。执行环境:可以在SQLPLUS.EXE或者DOS...

    Oracle中导出、导入.dmp数据库文件.doc

    Oracle数据导入导出imp/exp操作 Oracle数据导入导出是指使用imp和exp命令将数据从一个数据库服务器导出到本地的dmp文件,然后再从本地dmp文件导入到另一个数据库服务器中。这种操作相当于oracle数据还原与备份,...

    oracle数据导入导出

    ### Oracle 数据导入导出 imp/exp 命令详解 #### 一、概述 在数据库管理领域,Oracle 提供了强大的工具来支持数据的备份与恢复,其中 `imp`(Import)与 `exp`(Export)命令是进行数据迁移时常用的工具之一。本文...

    Oracle11G导入导出(imp和exp)少表解决方法

    Oracle 11G 导入导出(imp 和 exp)少表解决方法 Oracle 11G 是一个功能强大且复杂的数据库管理系统,它提供了多种方式来导入和导出数据。然而,在使用 Oracle 11G 时,用户可能会遇到一些问题,例如无法导出空表...

    oracle数据库导入导出命令解析

    Oracle数据导入导出imp/exp 功能:Oracle数据导入导出imp/exp就相当与oracle数据还原与备份。 大多情况都可以用Oracle数据导入导出完成数据的备份和还原(不会造成数据的丢失)。 Oracle有个好处,虽然你的电脑...

    Oracle 19c 备份恢复-导入导出

    Oracle 19c 备份恢复-导入导出是指使用 Oracle 数据库提供的工具 exp 和 imp 实现数据库的备份恢复和数据的导入导出。本文将详细介绍 Oracle 19c 备份恢复-导入导出的基本命令、工作方式、模式、选项和高级选项。 ...

    imp/exp oracle 全库

    五、导入数据 使用 IMP 命令可以将导出的数据文件导入到目标数据库中。IMP 命令的基本语法为:imp userid=’/ as sysdba’ file=imp.dmp log=imp log=imp full=y rows=n resumable_name=’imp_liaochun001_0422’ ...

    Linux下Oracle数据导入导出方法

    - **指定表导入**:如`$imp system/manager fromuser=jones tables=(accts)`,此命令将从`jones`用户的`accts`表导入数据到当前用户下。 - **用户间数据迁移**:`$imp system/manager fromuser=scott touser=joe ...

    Oracle11g64bit下的bin目录,包含导入导出用的imp.exe以及exp.exe文件,可用于plsql导入导出

    `imp.exe`(Import Utility)是Oracle Data Pump导入工具的一部分,用于将数据从导出文件(通常由`exp.exe`生成)加载到数据库中。这个工具允许用户选择性地导入表、模式、用户或者整个数据库。它支持多种导入选项,...

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

    `IMP`命令用于将之前通过EXP导出的`.dmp`文件中的数据重新导入到Oracle数据库中。与EXP类似,IMP也支持上述三种模式的导入操作。 #### 三、EXP导出命令详解 ##### 3.1 表模式导出 示例: ``` exp system/jaguar@c...

    oracle 数据导入导出

    Data Pump是Oracle 10g引入的新工具,比传统的`EXP/IMP`更快,更高效。`expdp`用于导出数据,而`impdp`用于导入。它支持数据泵目录、表空间、用户、表、视图等不同级别的导出。Data Pump能实现增量导出,只导出自...

Global site tag (gtag.js) - Google Analytics