Oracle 11g R2 exp导出表不完整

2014-11-24 18:13:32 · 作者: · 浏览: 0

检查user_tables表发现没有导出的表的segment_created属性是NO


解决办法:


1、可通过下面语句生成SQL执行:


select 'alter table '|| table_name ||' move;'
from user_tables where segment_created='NO';


或是
select 'alter table '|| table_name ||' allocate extent;'
from user_tables where segment_created='NO';


2、通过修改系统参数(未测试):


可以通过修改deferred_segment_creation 为false 来禁用这个功能,修改只对以后创建的table 生效。 对于已经存在的table不受影响。


alter system set deferred_segment_creation=true;


其它
alter table ... move不但拉回了HWM,而且回收了extent


在oracle9i中,delete很大的表的数据后,需要收缩表的空间,


可以使用alter table tabname move (tablespace tbs_name),


注意:这个时候一定需要rebuild index . 因为move后,数据的rowid变化了