【分析】 出现此错误之前,是记录数为0的表没有被导出
原因是Oracle11g增加了参数deferred_segment_creation,参数默认值是TRUE, 新建的表无记录时滞后分配段的,所以EXP无法导出空表
【解决】:用本用户登录,下面三个语句查看,结果是不是0行记录(通常第一个肯定不是0条)
select 'alter table '||table_name||' allocate extent;'from user_tables WHERE SEGMENT_CREATED='NO';
select * from user_indexes WHERE SEGMENT_CREATED='NO';
select * from user_lobs where segment_created='NO';
按照第一个语句构造出来的语句执行,之后再查看,三个语句结果都是0行记录了.之后,进行EXP正常.
或者调整Oracle参数 alter system set deferred_segment_creation=FALSE;),则之后新建的空表会自动分配段,之前建的空仍是没有分配段的,仍需要处理一下.