oracle11g exp导出问题:部分表导不出来

在oracle导出表的命令exp时候发现一个问题,就是部分表全然的导不出来,经检查发现仅仅要是表为空的都会导不出来。

在例如以下表中发现segment_created都为NO的是导不出来的,经查询后,将语句提取出来运行就可以。

select 'alter table '|| table_name ||' allocate extent;'
 from user_tables where segment_created='NO';

 alter table table allocate extent;

备注:在11g中有一个特性就是參数deferred_segment_creation,默认是true的。表示段延迟创建。当创建一个新的表,而且该表还没有数据的情况

下,该表是不会分配extent的,所以说该表不占数据空间,此时没有分配segment,导致exp导不出来。

因此,依据上述方法。查询user_tables表。假设segment_created为NO的,说明该表没有分配segment。查询出来运行下就可以。

原文地址:https://www.cnblogs.com/jhcelue/p/7389410.html