关于EXP-00056: 遇到 ORACLE 错误 1455 ORA-01455: 转换列溢出整数数据类型 EXP-00000: 导出终止失败 的问题解决方法整理

在客户端用exp导出数据库的时候,遇到如下情况

...

....

......

.. 正在导出同义词 . 正在导出视图 EXP-00056: 遇到 ORACLE 错误 1455 ORA-01455: 转换列溢出整数数据类型 EXP-00000: 导出终止失败

在导完表、同义词、视图后出现EXP-00056: 遇到 ORACLE 错误 1455

这样的问题我连续遇到两次。

我查过网上许多帖子,解决方法都不一样:

第一种:

SQL> connect / as sysdba SQL> @catmetx.sql SQL> @utlrp.sql SQL> exit

此中方法我未去验证!

 

第二种:多数说是oracle客户端版本与数据库服务器版本不一致的问题

所以我在服务器上做了exp 操作

最终导出成功,但是存在警告!

第一次出现的时候解决了这个问题。

可是针对这种说法我不是很认同,因为在此之前我在这个客服端都成功导出过数据的而且现在都能导出其它用户的数据,数据库服务器就一台,环境都一样,所以觉得应该不是版本的问题。

 

第三种:

ORA-01455: 转换列溢出整数数据类型 ,Export 命令会将表的statistics 值转成成整形。 当这个statistics值超过2^31-1时,就会报这个错误。 最后在exp命令后加 “INDEXES=n STATISTICS=none”这两个参数。 exp 用户名/口令 file=c:\XXX.dmp INDEXES=n STATISTICS=none

 

曾经试过针对我这情况没有作用,如果你的是这种原因导致的,给你个连接参考http://wenku.baidu.com/link?url=YC5ZSOIBg5zlpFlu8ofUd8x3lJj4TuGLz1HHi6DUhnIWJ38tpf7NmN1GmB39GPmHXCrzmtyghza5p0qQOLk0o4-OjulkoxIr2ib9-4KmzK7

 

第四种:

exp.exe 改成使用 expdp.exe
类似导入时使用impdp.exe命令
在plsql/dev中方法改成E:\oracle\product\10.2.0\client_2\bin\expdp.exe就可以了。

 

这种方法我试过没有成功。

 

第五种:

物化视图导致

删除物化视图,再对关联的表做insert操作

成功解决一次,但是我遇到另一次数据库里面是没有物化视图的。

 

第六种:

有编译未通过视图,先删除即可 ps:并在在网上,发现也有index,trigger导致类似错误

此方法我还未证实。

 

经我在一次导出中出现上述第二种情况时log内容如下:

1、数据库服务器上导出成功,但有警告!

连接到: Oracle Database 11g Enterprise Edition Release 11.1.0.7.0 - Production With the Partitioning, OLAP, Data Mining and Real Application Testing options 已导出 ZHS16GBK 字符集和 AL16UTF16 NCHAR 字符集

即将导出指定的用户... . 正在导出 pre-schema 过程对象和操作 . 正在导出用户 XXX 的外部函数库名 . 导出 PUBLIC 类型同义词 . 正在导出专用类型同义词 . 正在导出用户 XXX 的对象类型定义 EXP-00097: 对象类型 "XXX"."SYS_PLSQL_75837_219_1" 未处于有效状态, 不会导出类型 EXP-00097: 对象类型 "XXX"."SYS_PLSQL_75837_145_1" 未处于有效状态, 不会导出类型 EXP-00097: 对象类型 "XXX"."KU$_COLLECTION_T" 未处于有效状态, 不会导出类型 EXP-00097: 对象类型 "XXX"."KU$_TABLESPACE_T" 未处于有效状态, 不会导出类型 即将导出 XXX 的对象... . 正在导出数据库链接 . 正在导出序号 . 正在导出簇定义 . 即将导出 XXX 的表通过常规路径... . . 正在导出表                             AAA导出了          40 行

.

.

.

. 正在导出同义词 . 正在导出视图 . 正在导出存储过程 . 正在导出运算符 . 正在导出引用完整性约束条件 . 正在导出触发器 . 正在导出索引类型 . 正在导出位图, 功能性索引和可扩展索引 . 正在导出后期表活动 . 正在导出实体化视图 . 正在导出快照日志 . 正在导出作业队列 . 正在导出刷新组和子组 . 正在导出维 . 正在导出 post-schema 过程对象和操作 . 正在导出统计信息 导出成功终止, 但出现警告。

 

2、客户端上导出失败,内容如下:

...

....

......

.. 正在导出同义词 . 正在导出视图 EXP-00056: 遇到 ORACLE 错误 1455 ORA-01455: 转换列溢出整数数据类型 EXP-00000: 导出终止失败

 

我注意到成功这次有对象无效,给出了提示;

但是失败这次是未提示有无效对象的。

 

所以总结得出:这种情况我认为有两种情况会导致,第一种是由于客服端和服务器端的字符集不一致导致,第二种可能是与无效对象有关。

 

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。