11GR2客户端全库导出10GR2版本的数据库时报ORA-00904错误

今天在用11GR2客户端全库导出10GR2版本的数据库时报ORA-00904错误。

C:/>exp userid=system/manager@uatdb2 file=full.dmp  full=y buffer=10485760

Export: Release 11.2.0.1.0 - Production on 星期四 7月 29 10:24:05 2010

Copyright (c) 1982, 2009, Oracle and/or its affiliates.  All rights reserved.


连接到: Oracle Database 10g Enterprise Edition Release 10.2.0.4.0 - 64bit Produc
tion
With the Partitioning, Oracle Label Security, OLAP, Data Mining Scoring Engine
and Real Application Testing options
已导出 ZHS16GBK 字符集和 AL16UTF16 NCHAR 字符集
服务器使用 AL32UTF8 字符集 (可能的字符集转换)

即将导出整个数据库...
. 正在导出表空间定义
EXP-00008: 遇到 ORACLE 错误 904
ORA-00904: "MAXSIZE": 标识符无效
EXP-00000: 导出终止失败


而在本地导出是没问题的。

初步怀疑是版本的问题。

打一个SQLPLUS在会话级启用模块级别的跟踪。


SQL> exec dbms_monitor.serv_mod_act_trace_enable('uatdb2','exp.exe');

PL/SQL procedure successfully completed.


在客户端重新运行:
C:/>exp 
userid=system/manager@uatdb2 file=full.dmp  full=y buffer=10485760

在跟踪文件中,执行到下面就执行不下去了。
=====================
PARSING IN CURSOR #5 len=37 dep=1 uid=0 oct=3 lid=0 tim=4846799102675 hv=1398610540 ad='df1eea8'
select text from view$ where rowid=:1
END OF STMT
PARSE #5:c=0,e=27,p=0,cr=0,cu=0,mis=0,r=0,dep=1,og=4,tim=4846799102673
EXEC #5:c=0,e=24,p=0,cr=0,cu=0,mis=0,r=0,dep=1,og=4,tim=4846799102771
FETCH #5:c=0,e=30,p=0,cr=2,cu=0,mis=0,r=1,dep=1,og=4,tim=4846799102821
STAT #5 id=1 cnt=1 pid=0 pos=1 obj=63 op='TABLE ACCESS BY USER ROWID VIEW$ (cr=1 pr=0 pw=0 time=21 us)'
=====================
PARSE ERROR #6:len=173 dep=0 uid=5 oct=3 lid=5 tim=4846799103471 err=904
SELECT ID, OWNER, NAME, ISONLINE, CONTENT, INIEXT, SEXT, PCTINC, MINEXT,             MAXEXT, MINLEN, DEFLOG, EXT_MGT, ALLOC_TYPE,

BLOCKSIZE, MAXSIZE      FROM   SYS.EXU9TBS
WAIT #6: nam='SQL*Net message to client' ela= 1 driver id=1413697536 #bytes=1 p3=0 obj#=-1 tim=4846799103578
WAIT #6: nam='SQL*Net message from client' ela= 3524 driver id=1413697536 #bytes=1 p3=0 obj#=-1 tim=4846799107140
XCTEND rlbk=0, rd_only=1

其中SELECT ID, OWNER, NAME, ISONLINE, CONTENT, INIEXT, SEXT, PCTINC, MINEXT,             MAXEXT, MINLEN, DEFLOG, EXT_MGT,

ALLOC_TYPE, BLOCKSIZE, MAXSIZE      FROM   SYS.EXU9TBS 这条SQL语句里面有个MAXSIZE最为可疑。
拿出来到SQLPLUS下执行以下:

SQL> SELECT ID, OWNER, NAME, ISONLINE, CONTENT, INIEXT, SEXT, PCTINC, MINEXT, AXEXT, MINLEN, DEFLOG, EXT_MGT, ALLOC_TYPE,

BLOCKSIZE, MAXSIZE FROM   SYS.EXU9TBS;
SELECT ID, OWNER, NAME, ISONLINE, CONTENT, INIEXT, SEXT, PCTINC, MINEXT, AXEXT, MINLEN, DEFLOG, EXT_MGT, ALLOC_TYPE, BLOCKSIZE,

MAXSIZE FROM   SYS.EXU9TBS
                                                                                                                                *
ERROR at line 1:
ORA-00904: "MAXSIZE": invalid identifier

果然报了相同的错误。 查看了一下这个表的结构,根本没有MAXSIZE这个字段。

SQL> desc sys.EXU9TBS
 Name                                                  Null?    Type
 ----------------------------------------------------- -------- ------------------------------------
 ID                                                    NOT NULL NUMBER
 OWNER                                                          CHAR(6)
 NAME                                                  NOT NULL VARCHAR2(30)
 ISONLINE                                                       VARCHAR2(7)
 CONTENT                                                        VARCHAR2(9)
 INIEXT                                                NOT NULL NUMBER
 SEXT                                                  NOT NULL NUMBER
 PCTINC                                                NOT NULL NUMBER
 MINEXT                                                NOT NULL NUMBER
 MAXEXT                                                NOT NULL NUMBER
 MINLEN                                                         NUMBER
 DEFLOG                                                NOT NULL NUMBER
 EXT_MGT                                               NOT NULL NUMBER
 ALLOC_TYPE                                            NOT NULL NUMBER
 BLOCKSIZE                                             NOT NULL NUMBER


这个表里记录的是和表空间相关的信息。

而在11G的版本中,这个字段是有的。

ORACLE的客户端竟然不向下兼容,不知道这个算不算BUG。

解决方法还是用相同版本的客户端导出或者在服务端导出。

 

 

博文来源:http://blog.chinaunix.net/u3/107027/showart_2284611.html

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值