ORA-00904: "POLTYP": 标识符无效 11g客户端导出10g 不能导出10g数据库

时间:2022-12-22 08:39:53
连接到: Oracle Database 10g Enterprise Edition Release 10.2.0.3.0 - Production
With the Partitioning, OLAP and Data Mining options
已导出 ZHS16GBK 字符集和 AL16UTF16 NCHAR 字符集
服务器使用 AL32UTF8 字符集 (可能的字符集转换)

即将导出指定的用户...
. 正在导出 pre-schema 过程对象和操作
. 正在导出用户 EMSYLY 的外部函数库名
. 导出 PUBLIC 类型同义词
. 正在导出专用类型同义词
. 正在导出用户 EMSYLY 的对象类型定义
即将导出 EMSYLY 的对象...
. 正在导出数据库链接
. 正在导出序号
. 正在导出簇定义
. 即将导出 EMSYLY 的表通过常规路径...
EXP-00008: 遇到 ORACLE 错误 904
ORA-00904: "POLTYP": 标识符无效
EXP-00000: 导出终止失败


网上问度,结果如下:
exp导出老是出现ORA-00904

有2个原因:
服务器和客户端一个是x86bit的,一个是x86_64bit的安装程序。
客户端和服务器端的版本不兼容。

情况1:
windows x86_64bit 11.2.0.1 的客户端导出windows x86 10.2.0.3的Oracle Database。
无法执行导出,接收到ORA-00904报错。
遇到 ORACLE 错误 904ITPUB
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
0ORA-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才能正常导出。