求助oracle 11g的对于空表的问题!
用过oracle 11g导出表的时候,只能导出有数据的表(用过的应该知道吧?)。
查了下资料,说用:
select table_name from user_tables where NUM_ROWS=0;
然后构建一个语句
select 'alter table '||table_name||' allocate extent;' from user_tables where num_rows=0;
不过发现有些空记录的表并不在里面,然后看了下 num_rows,发现不是为0。原来这个字段不是当前记录的。
然后查了下,说这样的“exec dbms_stats.gather_table_stats(OWNNAME =>'sftlmis_test', TABNAME => 'hwspjc',METHOD_OPT => 'FOR ALL');
PL/SQL procedure successfully completed”
但是这样只能对一张表做修改啊,我想对所有空记录的表做修改,请问怎么办?
------解决方案--------------------把下面sql查出的语句都执行一遍就ok了。。
select 'alter table '
------解决方案-------------------- table_name
------解决方案-------------------- ' allocate extent;'
from user_tables
where segment_created = 'NO';