`
shirlly
  • 浏览: 1651706 次
  • 性别: Icon_minigender_2
  • 来自: 福州
社区版块
存档分类
最新评论

Oracle数据导入导出imp/exp命令

阅读更多
Oracle数据导入导出imp/exp就相当于oracle数据还原与备份。exp命令可以把数据从远程数据库服务器导出到本地的dmp文件,imp命令可以把dmp文件从本地导入到远处的数据库服务器中。 利用这个功能可以构建两个相同的数据库,一个用来测试,一个用来正式使用。

执行环境:可以在SQLPLUS.EXE或者DOS(命令行)中执行,
DOS中可以执行时由于 在oracle 8i 中  安装目录ora81BIN被设置为全局路径,
该目录下有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 将数据库中的表inner_notify、notify_staff_relat导出
    exp aichannel/aichannel@TESTDB2 file= d:datanewsmgnt.dmp tables=(inner_notify,notify_staff_relat)

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
   imp aichannel/aichannel@HUST full=y  file=d:datanewsmgnt.dmp ignore=y
   上面可能有点问题,因为有的表已经存在,然后它就报错,对该表就不进行导入。
   在后面加上 ignore=y 就可以了。
2 将d:daochu.dmp中的表table1 导入
imp system/manager@TEST  file=d:daochu.dmp  tables=(table1)

基本上上面的导入导出够用了。不少情况要先是将表彻底删除,然后导入。

注意:
操作者要有足够的权限,权限不够它会提示。
数据库时可以连上的。可以用tnsping TEST 来获得数据库TEST能否连上。

附录一:
给用户增加导入数据权限的操作
第一,启动sql*puls
第二,以system/manager登陆
第三,create user 用户名 IDENTIFIED BY 密码 (如果已经创建过用户,这步可以省略)
第四,GRANT CREATE USER,DROP USER,ALTER USER ,CREATE ANY VIEW ,
   DROP ANY VIEW,EXP_FULL_DATABASE,IMP_FULL_DATABASE,
      DBA,CONNECT,RESOURCE,CREATE SESSION  TO 用户名字
第五, 运行-cmd-进入dmp文件所在的目录,
      imp userid=system/manager full=y file=*.dmp
      或者 imp userid=system/manager full=y file=filename.dmp

执行示例:
F:WorkOracle_Databackup>imp userid=test/test full=y file=inner_notify.dmp

屏幕显示
Import: Release 8.1.7.0.0 - Production on 星期四 2月 16 16:50:05 2006
(c) Copyright 2000 Oracle Corporation.  All rights reserved.

连接到: Oracle8i Enterprise Edition Release 8.1.7.0.0 - Production
With the Partitioning option
JServer Release 8.1.7.0.0 - Production

经由常规路径导出由EXPORT:V08.01.07创建的文件
已经完成ZHS16GBK字符集和ZHS16GBK NCHAR 字符集中的导入
导出服务器使用UTF8 NCHAR 字符集 (可能的ncharset转换)
. 正在将AICHANNEL的对象导入到 AICHANNEL
. . 正在导入表                  "INNER_NOTIFY"          4行被导入
准备启用约束条件...
成功终止导入,但出现警告。


附录二:
Oracle 不允许直接改变表的拥有者, 利用Export/Import可以达到这一目的.
  先建立import9.par,
  然后,使用时命令如下:imp parfile=/filepath/import9.par
  例 import9.par 内容如下:
        FROMUSER=TGPMS      
        TOUSER=TGPMS2     (注:把表的拥有者由FROMUSER改为TOUSER,FROMUSER和TOUSER的用户可以不同)         
        ROWS=Y
        INDEXES=Y
        GRANTS=Y
        CONSTRAINTS=Y
        BUFFER=409600
        file==/backup/ctgpc_20030623.dmp
        log==/backup/import_20030623.log

以下我自己补充:
      在导入导出命令中加上feedback=1000可以让过程显示一个不断增多的“...”,以改变以往的闪烁的光标


附录三
EXP、IMP 命令详解
命令详解: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      拥有可传输表空间集中数据的用户

转自:http://www.cnblogs.com/janisbone/archive/2008/08/01/1257851.html
分享到:
评论

相关推荐

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

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

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

    Oracle 数据库提供了多种工具和技术来支持这些需求,其中 imp/exp 命令是用于数据导入导出的经典方法之一。本文将详细介绍 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数据导入导出impexp.txt

    下面是一个实际操作的例子,展示了如何使用 `imp` 命令导入数据: ``` imp userid=test/test full=y file=inner_notify.dmp ``` 此命令表示将 inner_notify.dmp 文件中的所有数据导入 test 用户所在的数据库中,...

    oracle数据导入导出

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

    oracle中imp、exp命令详解

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

    Oracle数据导入导出imp

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

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

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

    oracle imp/exp命令和举例

    通过上述介绍可以看出,Oracle的`IMP`和`EXP`命令提供了灵活的数据备份与恢复方案。无论是针对整个数据库还是特定的表或用户对象,都能够轻松实现。掌握这些命令的使用方法对于Oracle数据库管理员来说是非常必要的,...

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

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

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

    三、使用imp命令导入数据 使用imp命令可以将dmp文件从本地导入到远处的数据库服务器中。例如,执行命令imp jjjg/jjjg@orcl_jjjg file=d:\pa0102.dmp tables=(pa01,pa02)。注意在导入数据时,应先对原来对应数据库中...

    imp/exp oracle 全库

    Oracle 全库迁移使用 IMP/EXP 命令 在 Oracle 数据库中,进行全库迁移是一项复杂的任务,需要使用 IMP 和 EXP 命令来实现。下面将详细介绍如何使用 IMP 和 EXP 命令进行全库迁移,并注意 full 参数的使用。 一、...

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

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

    oracle导入导出命令(imp、exp)

    ### Oracle 导入导出命令(imp、exp)详解 #### 概述 在Oracle数据库管理过程中,数据的导入导出是一项重要的维护工作。Oracle提供了多种工具和技术来完成这项任务,其中最为人所熟知的就是传统的`exp`和`imp`命令...

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

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

    Oracle数据导入导出命令.pdf

    Oracle 提供了两种主要工具用于数据的导入导出:`EXP` 和 `IMP` 命令。 - **EXP (Export):** 用于从 Oracle 数据库中导出数据。 - **IMP (Import):** 用于将数据导入到 Oracle 数据库中。 这些工具允许用户以高效...

Global site tag (gtag.js) - Google Analytics