oracle 11g用exp无法导出空表的解决方案

1、查询所有空表并分配segment,使用以下语句查询生成修改空表设置的SQL:

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

将查询结果复制粘贴出来,然后执行粘贴出来的sql即可。

 

2、设置系统参数

设置系统参数,让后续新表自动分配segment。查询系统参数,该参数值默认是TRUE,当改为FALSE时,无论是空表还是非空表,都分配segment.

查询语句:

show parameter deferred_segment_creation;

 

将这个参数修改为FALSE,修改语句为:

alter system set deferred_segment_creation=false;

 

再次查询确认参数是否修改成功:

show parameter deferred_segment_creation;

可见已经修改为FALSE了,如下图:

 

posted @ 2021-09-13 11:20  宇宙小咖  阅读(41)  评论(0)    收藏  举报