exp导出时遇到了ORA-01455的错误

今天需要搭一个CRM的测试环境,导出正式库的时候,报错 ORA-01455 如下:

.正在导出触发器

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

翻了下资料,说是由于物化视图编译不通过引起的,检查后发现均为普通视图,此类被排除.


继续查到,有人说10g客户端导出11g数据时有遇到该问题

Oracle11g增加了参数deferred_segment_creation,参数默认值是TRUE,这样,新建的表无记录时,是滞后分配段的,甚至连DDL定义也无法获取,所以EXP无法导出空表.

-----------------------------------------------------------

解决方法:用本用户登录,下面三个语句查看,结果是不是0行记录(通常第一个肯定不是0条)
(1)select 'alter table '||table_name||' allocate extent;'
from user_tables WHERE SEGMENT_CREATED='NO';
(2)select * from user_indexes WHERE SEGMENT_CREATED='NO';
(3)select * from user_lobs where segment_created='NO';
按照第一个语句构造出来的语句(一组alter table TAB_XX allocate extent;语句)执行,之后再查看,三个语句结果都是0行记录了.
之后,进行EXP正常.
注:上述Oracle参数如果设置为FALSE(alter system set deferred_segment_creation=FALSE;),则之后新建的空表会自动分配段,之前建的空表(未经过曾经有数据的环节)仍是没有分配段的,仍然需要上述方法处理一下.

------------------------------------------

以上为摘录于 http://blog.itpub.net/29512902/viewspace-1260233/ 

但是问题仍然未解决!

发现服务器上安装了多个数据库和多个客户端,环境变量一塌糊涂,通过绝对路径导出也报错,无奈之下准备通过expdp来备份.


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值