EXP-00008: 遇到 ORACLE 错误 904 ORA-01003
今日导数据遇到一错误,记得之前也遇到过,但是没做记录,在此记一记,便于加深印象。使用exp导数据的时候,在本地连远程DB服务器执行如下语句:
[*]exp **/**@192.168.90.125/center file=....
出现如下信息:
[*]连接到: Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - 64bit Production
[*]With the Partitioning, OLAP and Data Mining options
[*]已导出 ZHS16GBK 字符集和 AL16UTF16 NCHAR 字符集
[*]
[*]即将导出指定的表通过常规路径...
[*]. . 正在导出表 TB_SYS_ACTION
[*]EXP-00008: 遇到 ORACLE 错误 904
[*]ORA-00904: "MAXSIZE": invalid identifier
[*]. . 正在导出表 TB_SYS_ASSEMBLYINFO
[*]EXP-00008: 遇到 ORACLE 错误 1003
[*]ORA-01003: no statement parsed
[*]. . 正在导出表 TB_SYS_BILLDEFINE
[*]EXP-00008: 遇到 ORACLE 错误 904
[*]ORA-00904: "MAXSIZE": invalid identifier
[*]. . 正在导出表 TB_SYS_BILLQRYEXT
[*]EXP-00008: 遇到 ORACLE 错误 1003
[*]ORA-01003: no statement parsed
[*]. . 正在导出表 TB_SYS_BILLQRYSIM
[*]EXP-00008: 遇到 ORACLE 错误 904
[*]ORA-00904: "MAXSIZE": invalid identifier
[*]. . 正在导出表 TB_SYS_COLUMNDISPLAYER
[*]EXP-00008: 遇到 ORACLE 错误 1003
[*]ORA-01003: no statement parsed
[*]. . 正在导出表 TB_SYS_DBOBJMODIFYLOG
[*]EXP-00008: 遇到 ORACLE 错误 904
[*]ORA-00904: "MAXSIZE": invalid identifier
[*]. . 正在导出表 TB_SYS_DDFLOWCONTROL
[*]EXP-00008: 遇到 ORACLE 错误 1003
[*]ORA-01003: no statement parsed
[*]. . 正在导出表 TB_SYS_DICT
[*]EXP-00008: 遇到 ORACLE 错误 904
[*]ORA-00904: "MAXSIZE": invalid identifier
[*]。。。。。。。。
其实,此报错信息是因为本地使用的exp导出工具的版本与db服务器端exp版本不一致。
本地用的exp是11g版本,而db服务器端exp是10g版本。
由于Oracle的imp/exp组件的一个操作原则就是向下兼容,且有一些规则:
规则1:低版本的exp/imp可以连接到高版本(或同版本)的数据库服务器,但高版本的exp/imp不能连接到低版本的数据库服务器。
规则2:高版本exp出的dmp文件,低版本无法imp(无法识别dmp文件);低版本exp出的dmp文件,高版本可以imp(向下兼容)。
规则4:从Oracle 低版本Export的数据可以Import到Oracle高版本中,但限于Oracle的相邻版本,如从Oracle 7 到 Oracle 8。对于两个不相邻版本间进行转换,如从Oracle 6 到 Oracle 8,则应先将数据输入到中间版本—Oracle 7,再从中间数据库转入更高版本Oracle 8。
于是在db服务器端进行exp操作,然后在本地imp操作,结果导入成功。
为弄清楚为什么提示ORA-00904: "MAXSIZE": invalid>
[*]SQL > desc sys.exu9tbs
结果如下:
[*]Connected to Oracle Database 10g Enterprise Edition Release 10.2.0.1.0
[*]Connected as center
[*]
[*]SQL> desc sys.exu9tbs
[*]Name Type Nullable Default Comments
[*]---------- ------------ -------- ------- --------
[*]ID NUMBER
[*]OWNER CHAR(6) Y
[*]NAME VARCHAR2(30)
[*]ISONLINE VARCHAR2(7)Y
[*]CONTENT VARCHAR2(9)Y
[*]INIEXT NUMBER
[*]SEXT NUMBER
[*]PCTINC NUMBER
[*]MINEXT NUMBER
[*]MAXEXT NUMBER
[*]MINLEN NUMBER Y
[*]DEFLOG NUMBER
[*]EXT_MGT NUMBER
[*]ALLOC_TYPE NUMBER
[*]BLOCKSIZENUMBER
[*]Connected to Oracle Database 11g Enterprise Edition Release 11.2.0.3.0
[*]Connected as hbtest
[*]
[*]SQL> desc sys.exu9tbs
[*]Name Type Nullable Default Comments
[*]---------- ------------ -------- ------- --------
[*]ID NUMBER
[*]OWNER CHAR(6) Y
[*]NAME VARCHAR2(30)
[*]ISONLINE VARCHAR2(7)Y
[*]CONTENT VARCHAR2(9)Y
[*]INIEXT NUMBER
[*]SEXT NUMBER
[*]PCTINC NUMBER
[*]MINEXT NUMBER
[*]MAXEXT NUMBER
[*]MINLEN NUMBER Y
[*]DEFLOG NUMBER
[*]EXT_MGT NUMBER
[*]ALLOC_TYPE NUMBER
[*]BLOCKSIZENUMBER
[*]MAXSIZE NUMBER Y ----> 11g多了此字段
[*]
exu9tbs 是个系统视图。
页:
[1]