ORACLE exp时出现1455错误,全网唯一正解,建议收藏

文章目录

      • 一、问题描述
      • 二、问题解决办法
        • 2.1 解决Oracle11G空表不占空间问题
        • 2.2 查看视图是否有编译出错

一、问题描述

在使用exp username/password命令导出用户数据,出现以下错误:

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

二、问题解决办法

2.1 解决Oracle11G空表不占空间问题

1、执行以下sql,查看结果是否true,如果为true,用第二条sql修改。

show parameter deferred_segment_creation; 
alter system set deferred_segment_creation=false; 

2、手工分配extent,将查询出来的结果copy,然后执行。

Select 'alter table '||table_name||' allocate extent;' from user_tables where num_rows=0

3、执行完成后,进行导出尝试,如果不报错,则忽略第二大步。

2.2 查看视图是否有编译出错

该步骤在网上找不到,注意观察报错信息,信息显示是在导出视图的时候报错的,那么我们就去查看是否有视图编译错误,如果有尝试recompile,如果还是出错,直接drop掉,再进行导出就会发现可以成功导出了。

你可能感兴趣的:(精通oracle之路,oracle)