http://hi.baidu.com/zaaaaaa/blog/item/d08cdc102caec8f9c3ce79ad.html
Oracle数据导入导出imp/exp就相当于oracle数据还原与备份。exp命令可以把数据从远程数据库服务器导出到本地的dmp文件,imp命 令可以把dmp文件从本地导入到远处的数据库服务器中。 利用这个功能可以构建两个相同的数据库,一个用来测试,一个用来正式使用。
=======================================================
装了oracle数据库,但在dos壮态下执行exp/imp时,显示不是内部或外部命令,也不是可用的程序,不知道什么问题??
没有设置oracle的系统环境变量,设置一下就ok:path=c:\oracle9\ora92\bin
-----------------------------------------------------------------------------------
执行环境:可以在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)
基本上上面的导入导出够用了。不少情况要先是将表彻底删除,然后导入。
详解:http://www.bokee.net/bloggermodule/blog_viewblog.do?id=465310
注意:
操作者要有足够的权限,权限不够它会提示。
数据库时可以连上的。可以用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
以下我自己补充:
1.在导入导出命令中加上feedback=1000可以让过程显示一个不断增多的“...”,以改变以往的闪烁的光标
-------------------------
================================
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
大约半个小时就可以执行完了。
分享到:
相关推荐
"Oracle 数据导入导出 imp/exp 命令详解" Oracle 数据导入导出 imp/exp 命令是 Oracle 数据库管理系统的重要组件之一,用于实现数据的导入和导出。imp/exp 命令可以将数据从远程数据库服务器导出到本地的 dmp 文件...
Oracle 数据库提供了多种工具和技术来支持这些需求,其中 imp/exp 命令是用于数据导入导出的经典方法之一。本文将详细介绍 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 命令的使用方法,以及本机和异机恢复的步骤。 一...
下面是一个实际操作的例子,展示了如何使用 `imp` 命令导入数据: ``` imp userid=test/test full=y file=inner_notify.dmp ``` 此命令表示将 inner_notify.dmp 文件中的所有数据导入 test 用户所在的数据库中,...
### Oracle 数据导入导出 IMP/EXP 功能详解 #### 一、概述 Oracle 数据库的导入导出(IMP/EXP)是一种重要的数据管理和维护工具,主要用于实现数据的备份与恢复。这种工具允许用户将数据库中的数据导出为二进制格式...
功能:Oracle数据导入导出imp/exp就相当与oracle数据还原与备份。大多情况都可以用Oracle数据导入导出完成数据的备份和还原(不会造成数据的丢失)。 Oracle有个好处,虽然你的电脑不是服务器,但是你装了oracle...
通过上述介绍可以看出,Oracle的`IMP`和`EXP`命令提供了灵活的数据备份与恢复方案。无论是针对整个数据库还是特定的表或用户对象,都能够轻松实现。掌握这些命令的使用方法对于Oracle数据库管理员来说是非常必要的,...
Oracle数据导入导出imp/exp就相当于oracle数据还原与备份。exp命令可以把数据从远程数据库服务器导出到本地的dmp文件,imp命令可以把dmp文件从本地导入到远处的数据库服务器中。执行环境:可以在SQLPLUS.EXE或者DOS...
### Oracle 数据导入导出 imp/exp 命令详解 #### 一、概述 在数据库管理领域,Oracle 提供了强大的工具来支持数据的备份与恢复,其中 `imp`(Import)与 `exp`(Export)命令是进行数据迁移时常用的工具之一。本文...
Oracle 11G 导入导出(imp 和 exp)少表解决方法 Oracle 11G 是一个功能强大且复杂的数据库管理系统,它提供了多种方式来导入和导出数据。然而,在使用 Oracle 11G 时,用户可能会遇到一些问题,例如无法导出空表...
Oracle数据导入导出imp/exp 功能:Oracle数据导入导出imp/exp就相当与oracle数据还原与备份。 大多情况都可以用Oracle数据导入导出完成数据的备份和还原(不会造成数据的丢失)。 Oracle有个好处,虽然你的电脑...
Oracle数据库导入导出命令详解 Oracle数据库导入导出命令是数据库管理员和开发人员必备的...使用EXP和IMP命令可以灵活地控制数据的导入和导出过程,并且可以根据需要选择使用不同的参数来控制导入和导出的范围和方式。
Oracle 全库迁移使用 IMP/EXP 命令 在 Oracle 数据库中,进行全库迁移是一项复杂的任务,需要使用 IMP 和 EXP 命令来实现。下面将详细介绍如何使用 IMP 和 EXP 命令进行全库迁移,并注意 full 参数的使用。 一、...
Oracle 19c 备份恢复-导入导出是指使用 Oracle 数据库提供的工具 exp 和 imp 实现数据库的备份恢复和数据的导入导出。本文将详细介绍 Oracle 19c 备份恢复-导入导出的基本命令、工作方式、模式、选项和高级选项。 ...
三、使用imp命令导入数据 使用imp命令可以将dmp文件从本地导入到远处的数据库服务器中。例如,执行命令imp jjjg/jjjg@orcl_jjjg file=d:\pa0102.dmp tables=(pa01,pa02)。注意在导入数据时,应先对原来对应数据库中...
### Oracle 导入导出命令(imp、exp)详解 #### 概述 在Oracle数据库管理过程中,数据的导入导出是一项重要的维护工作。Oracle提供了多种工具和技术来完成这项任务,其中最为人所熟知的就是传统的`exp`和`imp`命令...
Oracle 提供了两种主要工具用于数据的导入导出:`EXP` 和 `IMP` 命令。 - **EXP (Export):** 用于从 Oracle 数据库中导出数据。 - **IMP (Import):** 用于将数据导入到 Oracle 数据库中。 这些工具允许用户以高效...