在11g上用exp导出数据库时,空表会不被导出。解决这个问题有两个办法:
方法一
执行下列语句,把获得的结果再执行一遍
select 'alter table '||table_name||' allocate extent;' from user_tables where num_rows=0;
原理:强行修改segment值,然后再导出即可导出空表
方法二
alter system set deferred_segment_creation=false scope=both;
原理:设置deferred_segment_creation参数,该参数值默认是TRUE,当改为FALSE时,无论是空表还是非空表,都分配segment。
注意:这条语句只对以后产生的空表起作用,对以前的空表还是得用方法一。