解决Oracle 11g 导出数据报 “ORA-01455: 转换列溢出整数数据类型”的问题
问题描述:
在进行数据库备份时候,导出dmp数据出现““ORA-01455: 转换列溢出整数数据类型”的错误
Oracle版本号为11.2.0.1,操作系统为Windows Server2008R2
问题排查解决:
换电脑以及服务器尝试,存在同样问题,在网上查询相关资料,发现问题原因主要有下面几个方面,进行了一一排除。
1、存在空表,检查表中有数据,且没有特殊的数据类型(blob,clob等),就是一个普通的表,该问题排除;
2、统计信息问题,修改使用导出语句进行导出,添加Direct=y INDEXES=n STATISTICS=none等参数,问题依旧;
3、客户端和服务端版本不对应问题,我这里本地不存在这个问题,可以排除;
4、数据本身问题,检查数据无错误,未发现异常;
5、可能关联有物化视图、快照等导致,经检查,无相关内容,可以排除。
最终,未发现根本原因,通过expdb命令方式导出,导出正常,如果有遇到同样情况的可以参考一下,expdb命令在此不再进行详细说明。
补充:下面看下ORACLE 11g 导出数据的操作步骤:
ORACLE 11g 导出 表的时候 不会导出空表
导出空表操作步骤 :(使用PLSQL)
1、打开SQL window 执行下面的 SQL
Select 'alter table '||table_name||' allocate extent;' from user_tables where segment_created = 'NO' UNION ALL Select 'alter table '||table_name||' allocate extent;' from user_tables where num_rows=0 or num_rows is null;
2、获取到查询的数据,然后选择获取最后页(Alt+End),选中全部结果,复制。
3、粘贴到Command,然后执行。
这是对空表进行设定,这样在导出的时候就不会忽略空表。
到此这篇关于解决Oracle 11g 导出数据报 “ORA-01455: 转换列溢出整数数据类型”的问题的文章就介绍到这了,更多相关Oracle 11g 导出数据报 “ORA-01455内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
相关文章
oracle获取当前时间,精确到毫秒并指定精确位数的实现方法
下面小编就为大家带来一篇oracle获取当前时间,精确到毫秒并指定精确位数的实现方法。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧2017-05-05浅谈PL/SQL批处理语句:BULK COLLECT与FORALL对优化做出的贡献
本篇文章小编为大家介绍一下,浅谈PL/SQL批处理语句:BULK COLLECT与FORALL对优化做出的贡献。有需要的朋友可以参考一下2013-04-04
最新评论