问题:
—用exp用10g客户端导11g数据库数据时,出现ora-01455错误,如下:
[oracle@logserver ~]$ exp owner=scott file=scott251.dmp indexes=n statistics=none
Export: Release 10.2.0.5.0 - Production on 星期四 4月 5 17:20:50 2012
Copyright (c) 1982, 2007, Oracle. All rights reserved.
连接到: Oracle Database 11g Enterprise Edition Release 11.2.0.2.0 - 64bit Production
With the Partitioning, Automatic Storage Management, OLAP, Data Mining
and Real Application Testing options
已导出 ZHS16GBK 字符集和 AL16UTF16 NCHAR 字符集
注: 将不导出表的索引
即将导出指定的表通过常规路径…
EXP-00008: 遇到 ORACLE 错误 1455
ORA-01455: 转换列溢出整数数据类型
EXP-00000: 导出终止失败
—但导某些单个表时没有问题
[oracle@logserver ~]$ exp tables=scott.emp file=scott251.dmp indexes=n statistics=none
Export: Release 10.2.0.5.0 - Production on 星期四 4月 5 17:21:04 2012
Copyright (c) 1982, 2007, Oracle. All rights reserved.
连接到: Oracle Database 11g Enterprise Edition Release 11.2.0.2.0 - 64bit Production
With the Partitioning, Automatic Storage Management, OLAP, Data Mining
and Real Application Testing options
已导出 ZHS16GBK 字符集和 AL16UTF16 NCHAR 字符集
注: 将不导出表的索引
即将导出指定的表通过常规路径…
. . 正在导出表 EMP导出了 14 行
成功终止导出, 没有出现警告。
—在导某些表时也会出现这个问题
[oracle@logserver ~]$ exp tables=scott.bonus file=scott251.dmp indexes=n statistics=none
Export: Release 10.2.0.5.0 - Production on 星期四 4月 5 17:24:50 2012
Copyright (c) 1982, 2007, Oracle. All rights reserved.
连接到: Oracle Database 11g Enterprise Edition Release 11.2.0.2.0 - 64bit Production
With the Partitioning, Automatic Storage Management, OLAP, Data Mining
and Real Application Testing options
已导出 ZHS16GBK 字符集和 AL16UTF16 NCHAR 字符集
注: 将不导出表的索引
即将导出指定的表通过常规路径…
EXP-00008: 遇到 ORACLE 错误 1455
ORA-01455: 转换列溢出整数数据类型
EXP-00000: 导出终止失败
分析:
在使用网上朋友的资料,也不能解决,如下:
Oracle 用exp 导出数据库的时候,可能会遇到这个错误:
Encountering errors in Export logfile
EXP-00008: Oracle error # encountered
ORA-01455: converting column overflows integer datatype
当我们在exp命令加上参数:INDEXES=n STATISTICS=none 后就不会报这个错误。
导致这个错误原因:
Export 命令会将表的statistics 值转成成整形。 当这个statistics值超过2^31-1时,就会报这个错误。
解决方法:
1. 通过dba_tables 和 dba_indexes 来查看对应表的值。 即num_rows值,看是否超过了2^31-1。
如果表的numrows超过了,可以手工的修改表的这个值,如:
SQL> execute sys.dbms_stats.set_table_stats( ‘SCOTT’, ‘EMP’, numrows => 1000000000000);
该命令格式:
DBMS_STATS.SET_TABLE_STATS(
2. 删除对应的统计信息
表:
SQL>ANALYZE TABLE
索引:
SQL>ANALYZE INDEX
或者使用:
execute sys.dbms_stats.delete_index_stats(ownname => ‘scott’, indname => ‘my_indx_1’);
execute dbms_stats.delete_table_stats(ownname => ‘scott’, tabname=>’table_name’)
然后再重新导入
http://blog.csdn.net/tianlesoftware/article/details/6251652Oracle
最后在matelink [ID 1096832.1]上查得结果分析,可能是由于bug(9306119)引起的.
最终解决办法:
使用expdp,impdp工具进行导入导出操作,成功完成数据的迁移。
—建dblink,用10g客户端导出11g数据
[oracle@logserver ~]$ expdp system/em193#1108 directory=expdp network_link=link_103 schemas=scott dumpfile=scott.dmp
Export: Release 10.2.0.5.0 - 64bit Production on 星期四, 05 4月, 2012 17:58:51
Copyright (c) 2003, 2007, Oracle. All rights reserved.
连接到: Oracle Database 10g Enterprise Edition Release 10.2.0.5.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options
启动 “SYSTEM”.”SYS_EXPORT_SCHEMA_01”: system/** directory=expdp network_link=link_103 schemas=scott dumpfile=scott.dmp
正在使用 BLOCKS 方法进行估计…
处理对象类型 SCHEMA_EXPORT/TABLE/TABLE_DATA
使用 BLOCKS 方法的总估计: 192 KB
处理对象类型 SCHEMA_EXPORT/USER
处理对象类型 SCHEMA_EXPORT/SYSTEM_GRANT
处理对象类型 SCHEMA_EXPORT/ROLE_GRANT
处理对象类型 SCHEMA_EXPORT/DEFAULT_ROLE
处理对象类型 SCHEMA_EXPORT/PRE_SCHEMA/PROCACT_SCHEMA
处理对象类型 SCHEMA_EXPORT/TABLE/TABLE
处理对象类型 SCHEMA_EXPORT/TABLE/INDEX/INDEX
处理对象类型 SCHEMA_EXPORT/TABLE/CONSTRAINT/CONSTRAINT
处理对象类型 SCHEMA_EXPORT/TABLE/INDEX/STATISTICS/INDEX_STATISTICS
处理对象类型 SCHEMA_EXPORT/TABLE/CONSTRAINT/REF_CONSTRAINT
处理对象类型 SCHEMA_EXPORT/TABLE/STATISTICS/TABLE_STATISTICS
. . 导出了 “SCOTT”.”DEPT” 5.742 KB 4 行
. . 导出了 “SCOTT”.”EMP” 8.062 KB 14 行
. . 导出了 “SCOTT”.”SALGRADE” 5.671 KB 5 行
. . 导出了 “SCOTT”.”BONUS” 0 KB 0 行
已成功加载/卸载了主表 “SYSTEM”.”SYS_EXPORT_SCHEMA_01”
**
SYSTEM.SYS_EXPORT_SCHEMA_01 的转储文件集为:
/home/oracle/scott.dmp
作业 “SYSTEM”.”SYS_EXPORT_SCHEMA_01” 已于 17:59:34 成功完成
—再把导出的11g数据导入到10g数据库
[oracle@logserver ~]$ impdp system/em193#1108 directory=expdp schemas=scott dumpfile=scott.dmp TABLE_EXISTS_ACTION=replace
Import: Release 10.2.0.5.0 - 64bit Production on 星期四, 05 4月, 2012 18:01:28
Copyright (c) 2003, 2007, Oracle. All rights reserved.
连接到: Oracle Database 10g Enterprise Edition Release 10.2.0.5.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options
已成功加载/卸载了主表 “SYSTEM”.”SYS_IMPORT_SCHEMA_01”
启动 “SYSTEM”.”SYS_IMPORT_SCHEMA_01”: system/** directory=expdp schemas=scott dumpfile=scott.dmp TABLE_EXISTS_ACTION=replace
处理对象类型 SCHEMA_EXPORT/USER
ORA-31684: 对象类型 USER:”SCOTT” 已存在
处理对象类型 SCHEMA_EXPORT/SYSTEM_GRANT
处理对象类型 SCHEMA_EXPORT/ROLE_GRANT
处理对象类型 SCHEMA_EXPORT/DEFAULT_ROLE
处理对象类型 SCHEMA_EXPORT/PRE_SCHEMA/PROCACT_SCHEMA
处理对象类型 SCHEMA_EXPORT/TABLE/TABLE
处理对象类型 SCHEMA_EXPORT/TABLE/TABLE_DATA
. . 导入了 “SCOTT”.”DEPT” 5.742 KB 4 行
. . 导入了 “SCOTT”.”EMP” 8.062 KB 14 行
. . 导入了 “SCOTT”.”SALGRADE” 5.671 KB 5 行
. . 导入了 “SCOTT”.”BONUS” 0 KB 0 行
处理对象类型 SCHEMA_EXPORT/TABLE/INDEX/INDEX
处理对象类型 SCHEMA_EXPORT/TABLE/CONSTRAINT/CONSTRAINT
处理对象类型 SCHEMA_EXPORT/TABLE/INDEX/STATISTICS/INDEX_STATISTICS
处理对象类型 SCHEMA_EXPORT/TABLE/CONSTRAINT/REF_CONSTRAINT
处理对象类型 SCHEMA_EXPORT/TABLE/STATISTICS/TABLE_STATISTICS
作业 “SYSTEM”.”SYS_IMPORT_SCHEMA_01” 已经完成, 但是有 1 个错误 (于 18:01:33 完成)
