Posts Tagged ‘shrink

11
jan
13

Shrink Tablespace

Desde que voltei a mexer no Enterprise Manager do 10g, eu comecei a notar as recomendações do Segment Advisor sobre as tablespaces, recomendações essas que sugerem reorganização ou encolhimento para liberação de espaço. No caso das tbsps do banco que uso, o SA apenas recomendou shrink. Agora, o que é isso?

Suponhamos que tenhamos uma tablespace USERS, com a tabela T e outras tabelas diversas X, além de espaços vazios f:

XXXXXTTTTTffXXfffff

Agora, se dropássemos a tabela T, teríamos a TBSP assim:

XXXXXfffffffXXfffff

Agora, o efeito do shrink é liberar mais espaço numa tablespace ajustando sua high water mark. E isso resulta, no fim, com uma TBSP assim:

XXXXXfffffffXX

Devo lembrar que a diferença entre os dois últimos cenários é que, no penúltimo, os espaços vazios ao final da tablespace, mesmo sendo vazios, estão alocados na tablespace USERS e são propriedade dela. Já no último cenário, aquele espaço vazio não está associado a uma tablespace, por ora.

Mas, e aquele espaço vazio no meio ta TBSP? Disso eu tento falar mais pra frente.

Agora, voltando ao shrink, você pode usá-lo através do Enterprise Manager (Segment Advisor Recommendations -> Recommendation Details for Tablespace) ou através de comando (ALTER SHRINK).

EM ShrinkA documentação é bem completa sobre esse método, assim como há inúmeros blogs e afins que relatam as mais diversas formas de utilização do shrink, inclusive comparando-o a move, coalesce, reorg, etc.

Ainda não realmente utilizei o método, estou aguardando uma janela para isso, já que o shrink muito provavelmente irá gerar locks. Então, no futuro eu voltarei a postar sobre shrink, expandindo mais o assunto.




NoDBA

Categorias