关于oracle 11g客户端导出10g库的问题【转】

上一篇 / 下一篇  2010-07-01 16:21:23 / 个人分类:Oracle

关于oracle 11g客户端导出10g库的问题【转】

今天在本机装上11g的客户端想体验一把,没想到第一次exp就出问题了:

C:\Documents and Settings>exptest/test@testtables=test  indexes=n constraints=n statistics=none feedback=10000 file=d:\test.dmp log=d:\test.log

Export: Release 11.1.0.6.0 - Production on 星期六 10月 10 16:04:27 2009

Copyright (c) 1982, 2007,Oracle.  All rights reserved.

连接到: Oracle Database10gEnterprise Edition Release 10.2.0.1.0 - 64bit Production
With the Partitioning, OLAP and Data Mining options
已导出 ZHS16GBK 字符集和 AL16UTF16 NCHAR 字符集
注: 将不导出表的索引
注: 将不导出表的约束条件

即将导出指定的表通过常规路径...
. . 正在导出表                   test
EXP-00008: 遇到 ORACLE 错误 1003
ORA-01003: 语句未进行语法分析
. . 正在导出表                           DKSXB
EXP-00008: 遇到 ORACLE 错误 904
ORA-00904: "MAXSIZE": 标识符无效
. . 正在导出表                           DKXXB
EXP-00008: 遇到 ORACLE 错误 1003
ORA-01003: 语句未进行语法分析
导出成功终止, 但出现警告。

C:\Documents and Settings>

网上找了很多也没找到,最后发现数据库其他机器上用oracle 10g客户端导出就没问题。

有人说是数据字典丢了,于是在服务器上执行

[oracle@localhost ~]$ sqlplus/nolog

SQL>@/opt/oracle/product/10.2/db_1/rdbms/admin/catexp.sql

以重建数据字典。

 

建好了后,再次执行导出,还是不行。

但是我在服务器上执行同样的语句就可以。

于是我意识到可能是EXP版本问题,于是测试

最后发现:

在一台11g的机器上运行一条SQL检测那个MAXSIZE是个什么列。

SQL> select distinct table_name from user_col_comments where column_name=’MAXSIZE’;

TABLE_NAME
————————————————————
EXU9STOU
EXU9PLB
EXU9PDSU
EXU9LBCPU
EXU9PDS
EXU9IXCP
CPOOL$
EXU9TBCPU
EXU9TBCP
EXU9STO
EXU9IXCPU

TABLE_NAME
————————————————————
DBA_CPOOL_INFO
EXU9TBS
EXU9PLBU
EXU9LBCP

 

然后在10g的服务器上运行同样的语句,没有返回行。可见MAXSIZE是11g在数据字典中新加的项,10g是没有的。

 

#10g
Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 – 64bit Production
With the Partitioning, OLAP and Data Mining options

SQL> desc sys.exu9tbs
名称                                      是否为空? 类型
—————————————– ——– —————————-
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 Database 11g Enterprise Edition Release 11.1.0.7.0 – Production
With the Partitioning, OLAP and Real Application Testing options

SQL> desc sys.exu9tbs
名称                                      是否为空? 类型
—————————————– ——– ————————-
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
MAXSIZE                                                 NUMBER ———>问题在这里

所以,导入导出数据的时候,还是尽可能的版本统一,10g导10g的,11g导11g的,免得不必要的麻烦。


TAG:

测亦有道 引用 删除 系统消息   /   2010-07-01 18:49:54
5
测亦有道 引用 删除 系统消息   /   2010-07-01 18:49:44
最近也碰到oracle升级问题,搞得不是太懂,先顶楼主
 

评分:0

我来说两句

Open Toolbar