oracle性能如何调整,如何回收表空间碎片
作者:chinaitlab
出处:IT专家网论坛
2010-04-06 13:00
几种方法。
1、将表空间用compress=Y参数exp出来,将其中表truncate后,将表imp进去。
2、使用alter tablespace name coalesce;手动收缩一次。
3、将表空间的pctincreace参改为大于0,让其自动收缩。一般改为1。
alter tablespace name storage (pctincrease 1);
关于表空间pctincrease=1:
(1)不将pctincrease设为0,是因为SMON进程将只会定期将PCTINCREASE 不等于0的表空间的空闲碎块合并。如果设为0,将阻止SMON合并空闲碎块合并,这时,必须手工使用ALTER TABLESPACE XXX COALESCE;合并碎块。
(2)不将PCTINCREASE设为较大的数,仅仅用于防止新建的表使用大的PCTINCREASE,并造成空间使用的不可控。 如果表空间中再也不用建新表,那么该参数只要不等于0,其他取值就没有任何影响了。
另外,PCTINCREASE与表空间的自动增长没有关系,表空间的自动增长是通过AUTOEXTEND ON来控制的,并且它是纯粹线形增长的(即规定增长多少,就永远每次增长多少),不象表的PCTINCREASE一样会形成几何增长的可能。