引用地址:https://www.cnblogs.com/ningvsban/p/3603678.html
ORACLE 11G中有个新特性,当表无数据时,不分配segment,以节省空间。
解决方法:
1.insert一行,再rollback就产生segment了
2.设置deferred_segment_creation参数
alter system set deferred_segment_creation=false;
需注意的是:该值设置后对以前导入的空表不产生作用,仍不能导出,只能对后面新增的表产生作用。如需导出之前的空表,只能用第一种方法。
3.批量处理空表
首先使用下面的sql语句查询一下当前用户下的所有空表
select table_name from user_tables where NUM_ROWS=0;
然后用一下SQL语句执行查询
select 'alter table '||table_name||' allocate extent;' from user_tables where num_rows=0
依次执行上述sql语句查询结果