2013年(350)
分类: Oracle
2013-04-25 11:31:58
在一次导出操作时遇到了ORA-00904,ORA-01003错误,多方搜索也几无所得。
导出的大概情形如下:
D:\>expfile=d:\xx.dmp
Export: Release 10.2.0.4.0 - Production on Fri Oct 24 13:25:33
Copyright (c) 1982, 2007, . All rights reserved.
Connected to: Oracle Database 10g Enterprise Edition Release 10.2.0.3.0 - 64bit Production
With the Partitioning, OLAP and Data Mining options
Export done in ZHS16GBK character set and AL16UTF16 NCHAR character set
. exporting pre-schema procedural objects and actions
. exporting foreign function library names for user USER
. exporting PUBLIC type synonyms
. exporting private type synonyms
. exporting object type definitions for user USER
About to export USER's objects ...
. exporting database links
. exporting sequence numbers
. exporting cluster definitions
. about to export USER's tables via Conventional Path ...
. . exporting table LC_BL 0 rows exported
. . exporting table LC_BLLX 0 rows exported
. . exporting table LC_DLR 0 rows exported
. . exporting table LC_MB 0 rows exported
. . exporting table LC_MBJD 0 rows exported
. . exporting table LC_MBLB 0 rows exported
. . exporting table LC_RYXZ 0 rows exported
. . exporting table LC_SJJD 0 rows exported
. . exporting table LC_SJLC 0 rows exported
. . exporting table LC_SWLB 4 rows exported
. . exporting table OA_BBS_ANNEX 0 rows exported
. . exporting table OA_BBS_BOARD 0 rows exported
. . exporting table OA_BBS_DETAIL
EXP-00008: ORACLE error 904 encountered
ORA-00904: "IFREEPOOL": invalid identifier
. . exporting table OA_CL_CLSY
EXP-00008: ORACLE error 1003 encountered
ORA-01003: no statement parsed
. . exporting table OA_CL_JBXX
EXP-00008: ORACLE error 904 encountered
ORA-00904: "IFREEPOOL": invalid identifier
. . exporting table OA_CL_WX
EXP-00008: ORACLE error 1003 encountered
ORA-01003: no statement parsed
. . exporting table OA_CYDH 0 rows exported
. . exporting table OA_CYHB 0 rows exported
.............................
.............................
. exporting synonyms
. exporting views
. exporting stored procedures
. exporting operators
EXP-00008: ORACLE error 904 encountered
ORA-00904: "OLEVEL": invalid identifier
EXP-00000: Export terminated unsuccessfully
服务器和客户端两边连接都很正常,百思不得解,难道是导出版本的问题?不至于啊,1024导出1023的库,之前操作过,没发现过这个问题,而且看提示不像啊,众所周知版本错误会提示ORA-06550。实在无法,最后报着死马当活马医的想法尝试换了一个同版本的客户端执行exp,结果顺利执行。
后来又经过多番尝试,发现出错的均是含lob字段的表,看来一方面oracle在执行exp时对版本的处理非常严格,即使大版本相同,小版本有略微差异也会导致exp时报错,另一方面是处理规则也存在版本延续的情况,如果不涉及到处理规则的变化,即使exp时客户端版本与服务器不符,导出时也有可能不报错(运气好的话)。
将此次事件记录下来以加强记忆,以后执行导出还是都尽可能确保版本一致吧(起码exp的客户端版本不能高于服务器)。