原因: 在oracle11g有个特征,如果某个表从来没有被使用过,则数据库系统不会给这个表分配段,只在数据字典中保存其结构。这样,从来没有被使用过的表使用exp命令就不会被导出。
解决办法:
select 'alter table '||table_name||' allocate extent;' from user_tables where num_rows=0 or num_rows is null
使用上面的语句 会拼接出给空表分配Extent的语句,然后执行这些sql。
我通过执行这些sql就解决了,不过我怀疑我的情况比较特殊,因为原作者说还需要执行其他的操作,参考: