Particionamento no Oracle – Parte 8: Tarefas finais de manutenção em partições
O particionamento permite decompor tabelas muito grandes e índices em partes menores e mais gerenciáveis que chamamos de partições. Cada partição é um objeto independente, com seu próprio nome e, opcionalmente, as suas características próprias de armazenamento. O particionamento se mostra muito útil para os mais variados tipos de aplicações, em especial as que administram grandes volumes de dados.

Neste contexto, o artigo trata de tarefas de manutenção em objetos particionados. Serão apresentadas as seguintes tarefas finais de manutenção: alteração de atributos padrão, alteração de atributos de partições existentes em tabelas e índices, modificação de partições do tipo list, alteração do template de subpartições, movimentação de partições, redefinição on-line de partições, reconstrução de partições de índices, renomeação de partições, divisão de partições e truncamento de partições.


Em que situação o tema é útil

Ao apresentar um conjunto de rotinas associadas a tarefas de manutenção em partições em bancos de dados, este artigo é útil no apoio à realização de atividades como alteração de atributos padrão de partições, adição ou remoção de valores da lista de partições, movimentação de partições, redefinição de partições de maneira on-line, renomeação de partições, divisão de partições ou truncamento partições.

Durante o gerenciamento de partições, será necessário alterar em vários momentos alguns atributos padrão definidos para as partições, seja para alocar as novas partições em outros tablespaces ou mesmo atributos de partições já existentes na tabela.

Outra situação muito frequente é a necessidade de adicionar um novo valor a uma lista que define uma determinada partição. Novos dados, códigos de peças, um novo estado que a empresa começou a fornecer mercadoria ou ainda o inverso, ou seja, um determinado mercado que não há mais interesse em vender, pois o custo de envio se torna limitante e, consequentemente, aquele valor não mais será necessário naquela partição.

Sem contar as tarefas de movimentação de partições, que se mostram muito eficientes para eliminar problemas de fragmentação na partição (já resolvemos alguns problemas de performance simplesmente movendo uma partição) e ainda redefinições on-line, que permitem que a aplicação continue utilizando a tabela em quanto uma alteração estrutural é feita.

E quando esquecemos de “batizar” uma partição e ela recebe aquele nome que só os desenvolvedores da Oracle acreditam que faça sentido? Bem, vamos renomear esta partição para um nome mais intuitivo.

E não se esqueça das partições que crescem demasiadamente e o particionamento deixa de ser eficiente. É hora de dividir esta partição.

Finalmente, veremos como “limpar” toda a partição liberando todos os blocos Oracle para reutilização imediata.

Assim, neste último artigo da série serão mostradas as tarefas finais de manutenção em partições no Oracle, que são:

· Alteração de atributos padrão;

· Alteração de atributos de partições existentes em tabelas e índices;

· Modificando partições do tipo list: adicionar novo valor;

· Modificando partições do tipo list: excluindo valores;

· Alterando o template de subpartições;

· Movimentação de partições;

· Redefinição on-line de partições;

· Reconstrução de partições de índices;

· Renomear partições;

· Divisão de partições;

· Truncar partições.

Alteração de atributos padrão

É possível modificar os atributos padrão de uma tabela ou de uma partição de uma tabela particionada composta. Quando os atributos padrão são modificados, os novos valores terão efeito apenas para as partições ou subpartições novas, ou seja, que forem criadas a partir do momento da alteração e mesmo assim os valores padrão ainda poderão ser substituídos especificamente ao criar uma nova partição ou subpartição.

Para modificar o padrão de atributos herdados ao criar subpartições é necessário usar o comando ALTER TABLE ... MODIFY DEFAULT ATTRIBUTES FOR PARTITION, como mostra o código da Listagem 1.

Listagem 1. Alteração de atributo herdado para subpartições.


      01. ALTER TABLE FUNCIONARIO
      02.   MODIFY DEFAULT ATTRIBUTES FOR PARTITION P_01
      03.     TABLESPACE TS_DADOS;

O código da Listagem 1 altera a tablespace em que as novas subpartições criadas na partição P_01 serão armazenadas. Vale lembrar que a partição P_01 faz parte da tabela FUNCIONARIO que possui particionamento composto do tipo range-hash.

No caso específico de tabelas com particionamento composto do tipo range-hash, apenas o atributo tablespace pode ser alterado, uma vez que todos os outros atributos devem ser compartilhados entre todas as subpartições.

Não é possível modificar atributos padrão de partições do tipo interval que ainda não foram criadas. Para alterar a maneira pela qual as futuras subpartições em uma tabela particionada por interval são criadas é necessário modificar o template da subpartição.

De forma parecida às tabelas particionadas, é possível alterar os atributos padrão que são herdadas por partições de índice global particionados por ...

Quer ler esse conteúdo completo? Tenha acesso completo