Oracle的import和export的版本规则

 

今日导数据遇到一错误,记得之前也遇到过,但是没做记录,在此记一记,便于加深印象。

使用exp导数据的时候,在本地连远程DB服务器执行如下语句:

 
 
  1. exp **/**@192.168.90.125/center file=....

出现如下信息:

 
 
  1. 连接到: Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - 64bit Production
  2. With the Partitioning, OLAP and Data Mining options
  3. 已导出 ZHS16GBK 字符集和 AL16UTF16 NCHAR 字符集
  4. 即将导出指定的表通过常规路径...
  5. . . 正在导出表 TB_SYS_ACTION
  6. EXP-00008: 遇到 ORACLE 错误 904
  7. ORA-00904: "MAXSIZE": invalid identifier
  8. . . 正在导出表 TB_SYS_ASSEMBLYINFO
  9. EXP-00008: 遇到 ORACLE 错误 1003
  10. ORA-01003: no statement parsed
  11. . . 正在导出表 TB_SYS_BILLDEFINE
  12. EXP-00008: 遇到 ORACLE 错误 904
  13. ORA-00904: "MAXSIZE": invalid identifier
  14. . . 正在导出表 TB_SYS_BILLQRYEXT
  15. EXP-00008: 遇到 ORACLE 错误 1003
  16. ORA-01003: no statement parsed
  17. . . 正在导出表 TB_SYS_BILLQRYSIM
  18. EXP-00008: 遇到 ORACLE 错误 904
  19. ORA-00904: "MAXSIZE": invalid identifier
  20. . . 正在导出表 TB_SYS_COLUMNDISPLAYER
  21. EXP-00008: 遇到 ORACLE 错误 1003
  22. ORA-01003: no statement parsed
  23. . . 正在导出表 TB_SYS_DBOBJMODIFYLOG
  24. EXP-00008: 遇到 ORACLE 错误 904
  25. ORA-00904: "MAXSIZE": invalid identifier
  26. . . 正在导出表 TB_SYS_DDFLOWCONTROL
  27. EXP-00008: 遇到 ORACLE 错误 1003
  28. ORA-01003: no statement parsed
  29. . . 正在导出表 TB_SYS_DICT
  30. EXP-00008: 遇到 ORACLE 错误 904
  31. ORA-00904: "MAXSIZE": invalid identifier
  32. 。。。。。。。。

其实,此报错信息是因为本地使用的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 identifier,可在10g和11g版本中分别执行

 
 
  1. SQL > desc sys.exu9tbs

结果如下:

 
 
  1. Connected to Oracle Database 10g Enterprise Edition Release 10.2.0.1.0
  2. Connected as center
  3. SQL> desc sys.exu9tbs
  4. Name Type Nullable Default Comments
  5. ---------- ------------ -------- ------- --------
  6. ID NUMBER
  7. OWNER CHAR(6) Y
  8. NAME VARCHAR2(30)
  9. ISONLINE VARCHAR2(7) Y
  10. CONTENT VARCHAR2(9) Y
  11. INIEXT NUMBER
  12. SEXT NUMBER
  13. PCTINC NUMBER
  14. MINEXT NUMBER
  15. MAXEXT NUMBER
  16. MINLEN NUMBER Y
  17. DEFLOG NUMBER
  18. EXT_MGT NUMBER
  19. ALLOC_TYPE NUMBER
  20. BLOCKSIZE NUMBER

 
 
  1. Connected to Oracle Database 11g Enterprise Edition Release 11.2.0.3.0
  2. Connected as hbtest
  3. SQL> desc sys.exu9tbs
  4. Name Type Nullable Default Comments
  5. ---------- ------------ -------- ------- --------
  6. ID NUMBER
  7. OWNER CHAR(6) Y
  8. NAME VARCHAR2(30)
  9. ISONLINE VARCHAR2(7) Y
  10. CONTENT VARCHAR2(9) Y
  11. INIEXT NUMBER
  12. SEXT NUMBER
  13. PCTINC NUMBER
  14. MINEXT NUMBER
  15. MAXEXT NUMBER
  16. MINLEN NUMBER Y
  17. DEFLOG NUMBER
  18. EXT_MGT NUMBER
  19. ALLOC_TYPE NUMBER
  20. BLOCKSIZE NUMBER
  21. MAXSIZE NUMBER Y ----> 11g多了此字段

exu9tbs 是个系统视图。

 

原文:http://2874575.blog.51cto.com/2864575/903985

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值