Início > Oracle > Reorganização de Tabelas e Tablespaces

Reorganização de Tabelas e Tablespaces

Há uma série de razões pelas quais o DBA deve monitorar periodicamente e reorganizar as tabelas, pois a estrutura interna de tabelas está em constante mudança por causa das atividades de atualização/delete, uma vez que a maioria das aplicações são orientados para o processamento de transações on-line, as estruturas internas de tabelas geralmente tornam-se menos ideal ao longo do tempo, a reorganização melhora substancialmente o desempenho da tabela. Segue algumas razões para se fazer uma reorganização:

– Chained rows – Linhas encadeadas acontece quando uma linha é grande demais para caber em um bloco único banco de dados, geralmente resultam de uma inserção, por exemplo, se o tamanho do bloco para o banco de dados é 4kbytes e há uma linha kbytes 8 a ser inserido, a Oracle vai quebrar os dados em pedaços e guarde-o em blocos diferentes que são encadeados. Há informações de encaminhamento para permitir que a base de dados para coletar todos os bits de informação linha encadeada de vários blocos, quaisquer declarações de consulta ou criar / atualização migram ou linhas encadeadas estará adicionando sobrecarga de E / S para o sistema, e sobrecarga para o desempenho de índices e de FTS.

– Table rows can be physically resequenced in primary index – Por resequencing das linhas da tabela não necessariamente pode ser na mesma ordem física como o índice principal, você pode melhorar significativamente a velocidade de um aplicativo. Os dados podem ser rapidamente acessados ​​por consultas que utilizam o índice de chave primária, com muito menos I / O, já que as linhas adjacentes residem em blocos continuos. Esta é uma técnica de sintonia muito importante Oracle que podem reduzir o sistema de I / O.

– Espaço livre dentro dos blocos de dados – Isto é porque as tabelas possui normalmente de dois grupos freelist a 20 freelists, por exemplo, manter um total de 60 freelists separados, cada um com seu próprio conjunto de blocos livres, essas tabelas se estende frequentemente, embora haja uma grande quantidade de espaço não utilizado na tabela, a reorganização vai ajudar a reduzir todas as operações que necessitam de varreduras de tabela completa das tabelas.

Tipos de reorganização que eu conheço:

1. Criar tabela a partir de outra tabela fazendo create table as select (CTAS) e depois renomeando

2. Oracle’s export/import

3. Move de tabelas e tablespaces

4. DBMS Redefinition

Bom vou citar alguns exemplos destes utilitarios acima:

1. create table new_customer
tablespace customer_flip
storage (initial 500m
next 50m
maxextents unlimited)
parallel (degree 11)
as select * from customer;

2. expdp system/senha dumpfile=arquivo_de_dump.dmp logfile=import.log tables=hr.teste
Drop da tabela;
impdb system/senha dumpfile=arquivo_de_dump.dmp logfile=import.log tables=hr.teste

3. alter tablespace BR_ADMIN coalesce; #Faz a reorganização dos objetos da tablespace inteira, utilizando o espaço da TBS.
alter table owner.table_name move tablespace TBS_REORG storage (initial 10k); #Faz a reorganização da tabela para outra TBS, após o move para a tablespace voltar a tablespace de origem.
alter table owner.table_name coalesce; #Faz a reorganização na mesma TBS

4. RDBMS Redefinition compoem alguns passos para se fazer a reorganização online que eu não irei abordar agora.

OBS: Após a execução do reorg, realizar sempre o rebuild dos indexes e recompilar os objetos invalidos.
Abraço

Categorias:Oracle
  1. Nenhum comentário ainda.
  1. No trackbacks yet.

Deixe uma resposta

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s

%d blogueiros gostam disto: