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

oracle常用的迁移工具有exp,imp,expdp,impdp,dblink等方式,实际过程中可以根据工具特点,数据库的具体环境情况,灵活采用.  
exp/imp工具应方便简单使用,在数据量不大的情况下使用很频繁, 这个简要记录下使用中遇到的问题.

一、exp/imp版本不能往上兼容问题, 数据库的版本问题一定要搞清楚.

1. 低版本的exp/imp可以连接高版本的数据库, 高版本exp/imp不能连接低版本的数据库.  
2. 高版本exp导出的dmp文件, 低版本imp命令无法导入.    
3. 低版本exp导出的dmp文件, 高版本imp命令可以导入.

注意:  
操作者要有足够的权限,权限不够它会提示, 导入之前,需要创建相应的用户与表空间.

二、imp和exp使用的字符集不同

1. 查询数据库字符集

SQL> select * from v$nls_parameters where parameter=‘NLS_CHARACTERSET‘;

PARAMETER                       VALUE  
------------------------------- ----------    
NLS_CHARACTERSET                ZHS16GBK

SQL> quit

2. 指定客户端字符集与数据库一致

$ export NLS_LANG=AMERICAN_AMERICA.ZHS16GBK

windows系统下在cmd: set nls_lang=AMERICAN_AMERICA.ZHS16GBK

否则,导出时会出现如下报错:EXP-00091: Exporting questionable statistics.

三、全库导出,单用户导入问题

1. 全库导出

$ exp system/oracle file=system.dmp direct=y full=y;

direct=y  直接路径读取  
recordlength=65535 缓冲区

2. 按用户导入要指定buffer参数,否则报错IMP-00032与IMP-00008.

$ imp abc/abc file=system.dmp fromuser=abc touser=abc buffer=5400000;

3. 按用户导出该用户所有对象数据

$ exp abc/abc file=abc.dmp direct=y log=abc.log

注:要有记录日志的习惯,会查看报错的内容,针对处理.

四、示例:

1. 导出hr,tom用户下的所有对象

exp hr/hr file=hr_tom.emp owner=hr,tom log=hr_tom.log

2. 导入hr对象

imp hr/hr file=hr_tom.emp fromuser=hr touser=hr

3. 导入数据提速度示例

buffer参数值可以减少磁盘读取的次数, ignore=y在导入表的时间出现存在的表,会直接增量导入数据.如果无一致性约束的话,会导入复制数据,feedback会显示进度.

imp abc/abc file=abc.dmp buffer=10240000 commit=y feedback=100000 ignore=y

4. 表空间传输

Oracle传输表空间迁移数据库  
http://koumm.blog.51cto.com/703525/1574822

5. 直接从DMP文件中提示SQL文件

1) 从DMP文件中提示SQL文件  
imp abc/abc file=abc.dmp fromuser=abc touser=abc indexfile=abc.sql

2) 涉及外键约束的表创建将不成功,这时应该分离出主键外键约束来,可以这样提取建表脚本:  
imp abc/abc file=abc.dmp fromuser=abc touser=abc indexes=n constraints=n indexfile=abc.sql

exp选项:

buffer     :下载数据缓冲区,以字节为单位,缺省依赖操作系统    
consistent :下载期间所涉及的数据保持read only,缺省为n    
direct     :使用直通方式 ,缺省为n    
feeback    :显示处理记录条数,缺省为0,即不显示    
file       :输出文件,缺省为expdat.dmp    
filesize   :输出文件大小,缺省为操作系统最大值    
indexes    :是否下载索引,缺省为n,这是指索引的定义而非数据,exp不下载索引数据    
log        :log文件,缺省为无,在标准输出显示    
owner      :指明下载的用户名    
query      :选择记录的一个子集    
rows       :是否下载表记录    
tables     :输出的表名列表    
imp选项:    
buffer     :上载数据缓冲区,以字节为单位,缺省依赖操作系统    
commit     :上载数据缓冲区中的记录上载后是否执行提交    
feeback    :显示处理记录条数,缺省为0,即不显示    
file       :输入文件,缺省为expdat.dmp    
filesize   :输入文件大小,缺省为操作系统最大值    
fromuser   :指明来源用户方    
ignore     :是否忽略对象创建错误,缺省为n,在上载前对象已被建立往往是一个正常现象,所以此选项建议设为y    
indexes    :是否上载索引,缺省为n,这是指索引的定义而非数据,如果上载时索引已建立,此选项即使为n也无效,imp自动更新索引数据    
log        :log文件,缺省为无,在标准输出显示    
rows       :是否上载表记录    
tables     :输入的表名列表    
touser     :指明目的用户方

时间: 2024-10-23 23:13:08

oracle exp/imp示例及使用问题整理的相关文章

第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的使用详解

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

oracle exp/imp 详解

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

oracle exp imp实现导出导入

一.说明 oracle 的exp/imp命令用于实现对数据库的导出/导入操作; exp命令用于把数据从远程数据库服务器导出至本地,生成dmp文件; imp命令用于把本地的数据库dmp文件从本地导入到远程的Oracle数据库中. 二.下面介绍的是导入导出的实例. 数据导出: exp myname/[email protected]/orcl file = d:\my.dmp --将数据库完全导出 exp myname/[email protected]/orcl file = d:\my.dmp

oracle exp/imp工具使用

最近在学习oraclel备份与恢复的知识,特总结了逻辑备份与恢复的使用方法: 一.逻辑备份的介绍: 所谓备份 ,就是把数据库复制到转储设备的过程.其中,转储设备是指用于放置数据库拷贝的磁带或磁盘. Oracle数据库有三种标准的备份方法,它们分别是导出/导入(EXP/IMP).热备份和冷备份.导出备件是一种逻辑备份,冷备份和热备份是物理备份. 下面咱们就来讲讲导入导入(EXP/IMP)用法. 二.EXP/IMP工具介绍: 利用Export可将数据从数据库中提取出来,利用Import则可将提取出来

Oracle exp,imp

首先询问对方数据库的表空间名称和大小,然后在你的oracle中建立相应表空间,最后使用命令导入.导出数据. 补充: 1.要新建一个数据库:Oracle数据导入导出imp/exp就相当于oracle数据还原与备份.exp命令可以把数据从远程数据库服务器导出到本地的dmp文件,imp命令可以把dmp文件从本地导入到远处的数据库服务器中. 利用这个功能可以构建两个相同的数据库,一个用来测试,一个用来正式使用. 例如:imp命令导入数据: imp username/[email protected] f

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

oracle 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) 或 TA