ORACLE 11G 无法导出空表的解决办法

Oracle 11g的新特性,表数据如果为空,则延迟分配表空间,所以导出的数据不全

 

--设置立刻分配表空间(设置后,后续新增的表即使没有数据会自动创建表空间,不再延迟创建)

alter system set deferred_segment_creation=false;

 

--查询当前用户下的所有空表
select table_name from user_tables where NUM_ROWS=0;

 

-- 根据上述查询,可以构建针对空表分配空间的命令语句,执行下列查询出的语句即可

select 'alter table '|| a.table_name ||' allocate extent;' from user_tables a where a.table_name not in (select segment_name from user_segments where segment_type = 'TABLE');

 

复制查询出来的语句, 然后执行,后面再进行导出时可以导出空表了

 

posted on 2020-02-10 20:03  老有所依  阅读(148)  评论(0)    收藏  举报

导航