Oracle导出时,空表不能导出解决

ORACLE数据库导出完成,实际再做导入时,发现有部分表未导入,这部分表有个共性就是空表。

发现11G中有个新特性,当表无数据时,不分配segment,以节省空间。

1、insert一行,再rollback就产生segment了。

     该方法是在在空表中插入数据,再删除,则产生segment。导出时则可导出空表。

2、设置deferred_segment_creation 参数

     alter system set deferred_segment_creation=false;

3、 用以下这句查找空表

     select 'alter table '||table_name||' allocate extent;' from user_tables where num_rows=0;

     把查询结果导出,执行导出的语句。

在实际中方法3用得比较多,完成上述之后,再做导出导入。

posted on 2013-12-12 22:43  guarder  阅读(337)  评论(0)    收藏  举报