Posted on 2009-08-23 23:14
leekiang 阅读(2805)
评论(1) 编辑 收藏 所属分类:
oracle
转自http://www.cublog.cn/u/30637/showart_481055.html
Oracle的imp/exp组件是我们常用的工具,它的一个操作原则就是向下兼容。下面是据此总结的几个使用规则和相关测试:
规则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,再从中间数据库转入更高版本。
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
行
即将启用约束条件
...
成功终止导入
,
没有出现警告。
C:\Documents and Settings\yuechaotian>
|