深入理解Oracle的imp/exp 和各版本之间的规则
Oracle数据中IMP/EXP工具可用于对数据进行迁移。IMP命令用于把Dmp文件从本地导入到远程数据库服务器,而EXP命令则是把数据从远程数据库服务器导出到本地的Dmp文件。其功能相当于Oracle数据库的备份与还原。利用IMP/EXP工具可以轻松的实现对数据库的迁移工作,甚至是跨平台的数据库迁移。
exp/imp:
这也算是最常用最简单的方法了,一般是基于应用的owner级做导出导入。
操作方法为:在新库建立好owner和表空间,停老库的应用,在老库做exp user/pwd owner=XXX file=exp_xxx.dmp log=exp_xxx.log buffer=6000000,传dmp文件到新库,在新库做imp user/pwd fromuser=XXX touser=XXX file=exp_xxx.dmp log=imp_xxx.log ignore=y.
优缺点:优点是可以跨平台使用;缺点是停机时间长,停机时间为从exp到网络传输到新库,再加上imp的时间。
Oracle的imp/exp组件是我们常用的工具,它的一个操作原则就是向下兼容。下面是据此总结的几个使用规则和相关测试:
规则1:低版本的exp/imp可以连接到高版本(或同版本)的数据库服务器,但高版本的exp/imp不能连接到低版本的数据库服务器
规则2:高版本exp出的dmp文件,低版本无法imp(无法识别dmp文件)
规则3:低版本exp出的dmp文件,高版本可以imp(向下兼容)
规则4:从Oracle 低版本的Export数据可以Import到Oracle高版本中,但限于Oracle的相邻版本
规则1:低版本的exp/imp可以连接到高版本(或同版本)的数据库服务器,但高版本的exp/imp不能连接到低版本的数据库服务器
--1.1 使用9i客户端通过imp连接到10g数据库
C:\Documents and Settings\yuechaotian>exp userid=hdtest/test@s67 tables=(ab01) rows=n file=d:\x.dmp
Export: Release 9.2.0.1.0 - Production on 星期三 2月 20 10:09:55 2008
Copyright (c) 1982, 2002, Oracle Corporation. All rights reserved.
连接到: Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Production
With the Partitioning, OLAP and Data Mining options
已导出 ZHS16GBK 字符集和 AL16UTF16 NCHAR 字符集
注: 将不会导出表数据(行)
即将导出指定的表通过常规路径 ...
. . 正在导出表 AB01
在没有警告的情况下成功终止导出。
--1.2 使用10g客户端通过imp连接9i数据库:连接失败(而不是导出失败)
C:\Documents and Settings\yuechaotian>exp userid=hbjb_kf_hd/test@s46 owner=hdtest file=d:\x.dmp
Export: Release 10.2.0.1.0 - Production on 星期三 2月 20 09:57:22 2008
Copyright (c) 1982, 2005, Oracle. All rights reserved.
EXP-00056: 遇到 ORACLE 错误 6550
ORA-06550: 第 1 行, 第 41 列:
PLS-00302: 必须说明 ''SET_NO_OUTLINES'' 组件
ORA-06550: 第 1 行, 第 15 列:
PL/SQL: Statement ignored
EXP-00000: 导出终止失败
规则2:高版本exp出的dmp文件,低版本无法imp(无法识别dmp文件)
--2.1 使用10g客户端exp出10g的数据
C:\Documents and Settings\yuechaotian>exp userid=test/test@orcl owner=test file=d:\10g.dmp
Export: Release 10.2.0.1.0 - Production on 星期三 2月 20 11:16:39 2008
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
已导出 ZHS16GBK 字符集和 AL16UTF16 NCHAR 字符集
服务器使用 AL32UTF8 字符集 (可能的字符集转换)
即将导出指定的用户...
……
导出成功终止, 但出现警告。
C:\Documents and Settings\yuechaotian>
--2.2 使用9i客户端imp上面所导出的dmp文件到10g:可以连接到10g中,但无法识别文件
C:\Documents and Settings\yuechaotian>imp userid=test/test@s10g fromuser=test touser=test file=d:\10g.dmp
Import: Release 9.2.0.1.0 - Production on 星期三 2月 20 11:20:33 2008
Copyright (c) 1982, 2002, Oracle Corporation. All rights reserved.
连接到: Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Production
With the Partitioning, OLAP and Data Mining options
IMP-00010: 不是有效的导出文件,标题验证失败
IMP-00000: 未成功终止导入
C:\Documents and Settings\yuechaotian>
规则3:低版本exp出的dmp文件,高版本可以imp(向下兼容)
-- 3.1 使用9i客户端exp出9i中的数据
C:\Documents and Settings\yuechaotian>exp userid=test/test@s9i owner=test file=d:\9i.dmp
Export: Release 9.2.0.1.0 - Production on 星期三 2月 20 11:25:04 2008
Copyright (c) 1982, 2002, Oracle Corporation. All rights reserved.
连接到: Oracle9i Enterprise Edition Release 9.2.0.1.0 - Production
With the Partitioning, OLAP and Oracle Data Mining options
JServer Release 9.2.0.1.0 - Production
已导出 ZHS16GBK 字符集和 AL16UTF16 NCHAR 字符集
即将导出指定的用户...
……
在没有警告的情况下成功终止导出。
C:\Documents and Settings\yuechaotian>
-- 3.2 使用10g客户端imp到10g数据库中
C:\Documents and Settings\yuechaotian>imp userid=test/test@orcl fromuser=test touser=test file=d:\9i.dmp
Import: Release 10.2.0.1.0 - Production on 星期三 2月 20 11:28:46 2008
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
经由常规路径由 EXPORT:V09.02.00 创建的导出文件
已经完成 ZHS16GBK 字符集和 AL16UTF16 NCHAR 字符集中的导入
导入服务器使用 AL32UTF8 字符集 (可能的字符集转换)
. . 正在导入表 "AUDIT_ACTIONS"导入了 144 行
……
成功终止导入, 但出现警告。
C:\Documents and Settings\yuechaotian>
规则4:从Oracle 低版本的Export数据可以Import到Oracle高版本中,但限于Oracle的相邻版本,如从Oracle 7 到 Oracle 8。对于两个不相邻版本间进行转换,如从Oracle 6 到 Oracle 8,则应先将数据输入到中间版本—Oracle 7,再从中间数据库转入更高版本。
--我使用10g的imp功能,可以将由817导出的dmp文件直接导入10g中,这与该规则的介绍不同。(该规则出自高道强的《Oracle导入导出工具实现数据库移植》)
C:\Documents and Settings\yuechaotian>imp userid=test/test fromuser=scott touser=test file=d:\tyc.dmp
Import: Release 10.2.0.1.0 - Production on 星期三 2月 20 14:03:33 2008
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
经由常规路径由 EXPORT:V08.01.07 创建的导出文件
警告: 这些对象由 SCOTT 导出, 而不是当前用户
已经完成 ZHS16GBK 字符集和 AL16UTF16 NCHAR 字符集中的导入
导入服务器使用 AL32UTF8 字符集 (可能的字符集转换)
导出服务器使用 ZHS16GBK NCHAR 字符集 (可能的 ncharset 转换)
. 正在将 SCOTT 的对象导入到 TEST
. . 正在导入表 "ACCOUNT"导入了 5 行
. . 正在导入表 "BONUS"导入了 0 行
. . 正在导入表 "DEPT"导入了 4 行
. . 正在导入表 "EMP"导入了 14 行
. . 正在导入表 "RECEIPT"导入了 1 行
. . 正在导入表 "SALGRADE"导入了 5 行
即将启用约束条件...
成功终止导入, 没有出现警告。
C:\Documents and Settings\yuechaotian>
--以上操作,对于OracleXE的10g版本同样适用:
C:\Documents and Settings\yuechaotian>imp userid=test/test fromuser=scott touser=test file=d:\tyc.dmp
Import: Release 10.2.0.1.0 - Production on 星期三 2月 20 14:15:51 2008
Copyright (c) 1982, 2005, Oracle. All rights reserved.
连接到: Oracle Database 10g Express Edition Release 10.2.0.1.0 - Production
经由常规路径由 EXPORT:V08.01.07 创建的导出文件
警告: 这些对象由 SCOTT 导出, 而不是当前用户
已经完成 ZHS16GBK 字符集和 AL16UTF16 NCHAR 字符集中的导入
导出服务器使用 ZHS16GBK NCHAR 字符集 (可能的 ncharset 转换)
. 正在将 SCOTT 的对象导入到 TEST
. . 正在导入表 "ACCOUNT"导入了 5 行
. . 正在导入表 "BONUS"导入了 0 行
. . 正在导入表 "DEPT"导入了 4 行
. . 正在导入表 "EMP"导入了 14 行
. . 正在导入表 "RECEIPT"导入了 1 行
. . 正在导入表 "SALGRADE"导入了 5 行
即将启用约束条件...
成功终止导入, 没有出现警告
深入理解Oracle的imp/exp 和各版本之间的规则的更多相关文章
- Oracle数据导入导出imp/exp
功能:Oracle数据导入导出imp/exp就相当与oracle数据还原与备份. 大多情况都可以用Oracle数据导入导出完成数据的备份和还原(不会造成数据的丢失). Oracle有个好处,虽然你的电 ...
- Oracle 导入导出数据 imp/exp impdp/expdp
IMPDP/EXPDP 一.创建逻辑目录,该命令不会在操作系统创建真正的目录,最好以system等管理员创建. create directory dpdata as '/opt'; 二 ...
- Oracle数据导入导出imp/exp sp2-0734:未知的命令开头'imp...解决方法
Oracle数据导入导出imp/exp sp2-0734:未知的命令开头'imp...解决方法 sp2-0734:未知的命令开头'imp 忽略了剩余行默认分类 www.2cto.com 应该 ...
- Oracle数据导入导出imp/exp命令总结
racle数据导入导出imp/exp就相当于oracle数据还原与备份.exp命令可以把数据从远程数据库服务器导出到本地的dmp文件,imp命令可以把dmp文件从本地导入到远处的数据库服务器中. 利用 ...
- Oracle数据导入导出imp/exp(转)
在oracle安装目录下有EXP.EXE与IMP.EXE这2个文件,他们分别被用来执行数据库的导入导出.所以Oracle数据导入导出imp/exp就相当与oracle数据还原与备份. 一.Oracle ...
- Oracle imp exp 导入导出 执行脚本
一:用命令 imp/exp 的方式进行数据的导入和导出 一:文件后缀名: 二:oracle 导出 exp 命令 echo 开始备份数据库 if not exist D:\oracle_bak\fil ...
- Oracle数据库导入导出 imp/exp备份还原
Oracle数据导入导出imp/exp Oracle数据导入导出imp/exp 在cmd的dos命令提示符下执行,而不是在sqlplus里面,但是格式一定要类似于: imp/exp 用户名/密 ...
- ORACLE expdp \ impdp \ exp \ imp
(转自:http://www.cnblogs.com/lanzi/archive/2011/01/06/1927731.html) EXPDP命令行选项1. ATTACH该选项用于在客户会话与已存在导 ...
- Oracle数据导入导出imp/exp命令 10g以上expdp/impdp命令
Oracle数据导入导出imp/exp就相当于oracle数据还原与备份.exp命令可以把数据从远程数据库服务器导出到本地的dmp文件,imp命令可以把dmp文件从本地导入到远处的数据库服务器中. 利 ...
随机推荐
- CLI Console
CLI Console New to 3.0 is a command line utility aptly named Nova located in the root. It currently ...
- Javascript之基本包装类型
一.基本包装类型概述 var box = 'Mr. Lee';//定义一个字符串 var box2 = box.substring(2);//截掉字符串前两位 alert(box2);//输出新字符串 ...
- Python基础:1.数据类型(空、布尔类型、整型、长整型、浮点型、字符串)
提示:python版本2.7,windows系统 Python提供的基本数据类型:空.布尔类型.整型.长整型.浮点型.字符串.列表.元组.字典.日期 1.空(None) None,是一个特殊的值,不能 ...
- [转]使用Oracle SQL Developer连接数据库并创建用户
本文转自:http://blog.csdn.net/xw13106209/article/details/6594738 1.使用sys账户创建数据库连接 安装Oracle 11g会自带一个叫做SQL ...
- 关于Eclipse中的开源框架EMF(Eclipse Modeling Framework)
Eclipse项目本身可以划分为4个主要的子项目:Equinox,平台,Java开发工具(Java Development Tools,JDT)和插件开发环境(Plug-in Development ...
- Javascript日期处理类库Moment.js
1.组件详情地址Moment.js中文网 http://momentjs.cn/ 2.几个方法: (1) 日期格式化 moment().format(); // 2016-02-29T14:03:30 ...
- always block內省略else所代表的電路
真 OO无双 之 真乱舞书 寫程式是很快樂的一件事 Since Sep.15,2006 (筆記) always block內省略else所代表的電路 (SOC) (Verilog) Abstract在 ...
- Unity3D 之UGUI制小地图
这里使用UGUI制作一个小地图. 方法一: 第一步:使用UGUI弄一个地图背景和人物指针 第二步:脚本获取人物的位置和角度给人物指针进行同步 将 PlayerIconController.cs 文件绑 ...
- 开源Pull_To_Refresh控件使用
学习知识点 onTouch事件传递机制. Lisenter监听 ImageView的src background scaleType不同属性的显示情况. onTouch滑动抬起调用的MotionEve ...
- Java机试题目_怎样截取字符串
面试题1 怎样截取字符串 考题题干 编写一个截取字符串的函数,输入为一个字符串和字节数,输出为按字节截取的字符串.但是要保证汉字不被截半个,如"我ABC"4,应该截为" ...