ORACLE 11G在用EXP导出时,空表不能导出。
11G中有个新特征,当表无近据时,不分配segment,以节省空间
处理方法:
1、insert一行,再rollback就发生segment了。
该方法是在在空表中插入数据,再删除,则发生segment。导出时则可导出空表。
2、配置deferred_segment_creation 参数
如:1、alter system set deferred_segment_creation=false;
2、show parameter deferred_segment_creation;
该参数值默许是TRUE,当改为FALSE时,无论是空表仍旧非空表,都分配segment。
需留意的是:该值配置后对以前导入的空表不发生作用,仍不能导出,只好对后面新增的表发生作用。如需导出之前的空表,只好用第一种方法
3、这种方法也是有点笨拙,但当前只想到这个方法
(1)找到有哪些空表 如:select table_name from user_tables where NUM_ROWS=0;
(2)在执行下面的SQL,有多少张空表就执行多少次。如:alter table 表名 allocate extent;