相关文章:
《exp导出出现:ORA-00904: : invalid identifier》:http://blog.itpub.net/23135684/viewspace-1336722/
exp导出老是出现ORA-00904: "POLTYP": invalid identifier可能有两个原因:
1).服务器和客户端一个是x86bit的,一个是x86_64bit的安装程序。
2).客户端和服务器端的版本不兼容。
下面是做的一些测试:
>情况1:
windows x86_64bit 11.2.0.1 的客户端导出windows x86 10.2.0.3的Oracle Database。
无法执行导出,接收到ORA-00904报错。
EXP-00008: 遇到 ORACLE 错误 904
ORA-00904: "POLTYP": 标识符无效
EXP-00000: 导出终止失败
>情况2:
Linux x86_64bit 10.2.0.5 的客户端导出windows x86 10.2.0.3的Oracle Database。
无法执行导出,接收到ORA-00904报错。
EXP-00008: ORACLE error 904 encountered
ORA-00904: "POLTYP": invalid identifier
EXP-00000: Export terminated unsuccessfully
>情况3:
windows x86 11.1.0.6的客户端导出windows x86 10.2.0.3的Oracle Database。
可以进行导出,但是导出有一大堆ORA-00904报错。
EXP-00008: 遇到 ORACLE 错误 1003
ORA-01003: 语句未进行语法分析
. . 正在导出表 SM_T_SYS_PARAM
EXP-00008: 遇到 ORACLE 错误 904
ORA-00904: "MAXSIZE": 标识符无效
. . 正在导出表 SM_T_SYS_WORKFLOW
EXP-00008: 遇到 ORACLE 错误 1003
ORA-01003: 语句未进行语法分析
. . 正在导出表 SM_T_USER
EXP-00008: 遇到 ORACLE 错误 904
ORA-00904: "MAXSIZE": 标识符无效
. . 正在导出表 SM_T_USER_ORG
EXP-00008: 遇到 ORACLE 错误 1003
ORA-01003: 语句未进行语法分析
>情况4:
windows x86 10.2.0.1的客户端导出windows x86 10.2.0.3的Oracle Database。
导出正常。
由上可以总结出,x86_64bit的Oracle导出x86bit的Oracle会报此错,11gR1,11gR2导出10g的Oracle也会报此错,只有满足10g的x86bit客户端导出10g的x86bit的Oracle Database才能正常导出。
--end--
导出文章二说明:
转自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/[email protected] 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 即将导出指定的表通过常规路径 ... |
1.2 使用10g客户端通过imp连接9i数据库:连接失败(而不是导出失败)
C:\Documents and Settings\yuechaotian>exp userid=hbjb_kf_hd/[email protected] 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 |
规则2:高版本exp出的dmp文件,低版本无法imp(无法识别dmp文件)
2.1 使用10g客户端exp出10g的数据
C:\Documents and Settings\yuechaotian>exp userid=test/[email protected] 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 即将导出指定的用户 ... …… 导出成功终止 , 但出现警告。 C:\Documents and Settings\yuechaotian> |
2.2 使用9i客户端imp上面所导出的dmp文件到10g:可以连接到10g中,但无法识别文件
C:\Documents and Settings\yuechaotian>imp userid=test/[email protected] 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 IMP-00010: 不是有效的导出文件,标题验证失败 C:\Documents and Settings\yuechaotian> |
规则3:低版本exp出的dmp文件,高版本可以imp(向下兼容)
3.1 使用9i客户端exp出9i中的数据
C:\Documents and Settings\yuechaotian>exp userid=test/[email protected] 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 即将导出指定的用户 ... …… 在没有警告的情况下成功终止导出。 C:\Documents and Settings\yuechaotian> |
3.2 使用10g客户端imp到10g数据库中
C:\Documents and Settings\yuechaotian>imp userid=test/[email protected] 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 经由常规路径由 EXPORT:V09.02.00 创建的导出文件 …… 成功终止导入 , 但出现警告。 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 经由常规路径由 EXPORT:V08.01.07 创建的导出文件 警告 : 这些对象由 SCOTT 导出 , 而不是当前用户 已经完成 ZHS16GBK 字符集和 AL16UTF16 NCHAR 字符集中的导入 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 字符集中的导入 C:\Documents and Settings\yuechaotian> |