欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

解决Oracle 11g 导出数据报 “ORA-01455: 转换列溢出整数数据类型”的问题

程序员文章站 2022-06-10 08:32:31
问题描述:在进行数据库备份时候,导出dmp数据出现““ora-01455: 转换列溢出整数数据类型”的错误oracle版本号为11.2.0.1,操作系统为windows server2008r2问题排...

问题描述:

在进行数据库备份时候,导出dmp数据出现““ora-01455: 转换列溢出整数数据类型”的错误

oracle版本号为11.2.0.1,操作系统为windows server2008r2

解决Oracle 11g 导出数据报 “ORA-01455: 转换列溢出整数数据类型”的问题

问题排查解决:

换电脑以及服务器尝试,存在同样问题,在网上查询相关资料,发现问题原因主要有下面几个方面,进行了一一排除。

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内容请搜索以前的文章或继续浏览下面的相关文章希望大家以后多多支持!