BuscaPé, líder em comparação de preços na América Latina
Desenvolvimento de sites , portais ,logomarcas e trabalhos gráficos. Downloads de Apostilas de html, , dreamweaver , flash , php , asp ,  programas, scripts asp , php , cgi , javascript , coldfusion e muitos outros

Saiba onde tem o melhor preço antes de comprar

Critérios de armazenamento no Oracle


Leituras: 8462 - Márcio d'Ávila



Tablespaces: Organização e Nomenclatura

Definir critérios para a divisão de um banco de dados Oracle em tablespaces é sempre uma questão importante para os DBAs na organização do armazenamento. Uma abordagem amplamente adotada e recomendada tem sido dividir o armazenamento de segmentos em tablespaces de acordo com três características:

  • Por sistemas aplicativos modelados no banco de dados em questão.
  • Por tipo de segmento armazenado: tabela, índice e LOB (large object).
  • Por categoria de tamanho dos segmentos.

De acordo com estes critérios, uma sugestão de formato para nomes de tablespaces no banco de dados Oracle é a seguinte:  S_O_T , onde:

  1. S: Nome ou sigla do sistema a qual pertencem seus objetos.
  2. O: Tipo de objeto dos segmentos contidos
    • T (ou TAB): tabelas
    • I (ou IND): índices
    • L (ou LOB): LOBs (large objects)
  3. T: Categoria de tamanho dos segmentos contidos
    • P (ou PEQ): pequenos
    • M (ou MED): médios
    • G (ou GDE): grandes

Exemplo: PESSOAL_T_P seria o nome de uma tablespace para o armazenamento das tabelas de tamanho pequeno de um sistema de controle de pessoal (RH). Os respectivos índices destas tabelas estariam em PESSOAL_I_P.

Normalmente, os índices de uma tabela seguem a mesma categoria de tamanho da respectiva tabela. O mesmo pode não ser verdade para segmentos de LOB. Tabelas pequenas em número e tamanho de linhas podem conter colunas LOB (BLOB binário ou CLOB caractere/texto) com grande volume de conteúdo armazenado, de forma que a tabela seja de tamanho P (pequena) mas um segmento de coluna LOB desta tenha categoria de tamanho M ou G.

Tablespaces: Parâmetros por categoria tamanho

Um notório artigo da Oracle "How to Stop Defragmenting and Start Living: The Definitive Word on Fragmentation", por Bhaskar Himatsingka e Juan Loaiza, Oracle Corporation, apresenta considerações e métricas para uma organização que obtém eficiência e baixa fragmentação e é ao mesmo tempo simples e fácil de implementar e gerenciar. O artigo está disponível no site Oracle Technology Network (OTN), em formato PDF, como paper #711. Para acessar OTN, é necessário criar, gratuitamente, uma conta de usuário no site.

O referido artigo apresenta um conjunto de regras administrativas denominado SAFE, para o armazenamento no Oracle Server 7 e 8 (válido também em versões posteriores). SAFE é uma sigla para Simple Algorithm for Fragmentation Elimination (Algortimo Simples para Eliminação de Fragmentação). A seguir compilamos o conjunto de regras SAFE como parâmetros efetivos para os comandos de criação de tablespace, em cada versão de Oracle Server, para as categorias de tamanho pequena (P), média (M) e grande (G).

Oracle 7

Parâmetro P M G
DEFAULT STORAGE INITIAL 160K 5M 160M
NEXT 160K 5M 160M
PCTINCREASE 0 0 0
DATAFILE SIZE 168K 5128K 161M
AUTOEXTEND ON NEXT 160K 5M 160M
MAXSIZE 1921M 1921M 1921M

Oracle 8

Parâmetro P M G
DEFAULT STORAGE INITIAL 128K 4M 128M
NEXT 128K 4M 128M
PCTINCREASE 0 0 0
DATAFILE SIZE 192K 4160K 129M
AUTOEXTEND ON NEXT 128K 4M 128M
MAXSIZE 1921M 1921M 1921M

Oracle 8i em diante

No Oracle 8i em diante, as métricas para alocação são as mesmas do Oracle 8, mas no formato e sintaxe de criação das tablespaces, deve-se usar o novo modo de gerenciamento de extensões local (mais simples e eficiente que o gerenciamento via dicionário de dados), com alocação uniforme (todas as extensões com mesmo tamanho).

Parâmetro P M G
EXTENT MANAGEMENT LOCAL UNIFORM SIZE 128K 4M 128M
DATAFILE SIZE 192K 4160K 129M
AUTOEXTEND ON NEXT 128K 4M 128M
MAXSIZE 1921M 1921M 1921M

Tabelas: Categorias de tamanho

Além dos parâmetros de tamanho de extensão (extent) por categoria de tamanho de segmento, existe também uma recomendação para o número total de extensões em cada segmento, de forma a garantir o gerenciamento eficiente destas extensões pelo Oracle. Esta recomendação é basicamente válida para todas as versões de Oracle Server citadas aqui.

  • O desejável é que cada segmento tenha até 505 extensões.
  • O máximo recomendado é que cada segmento não ultrapasse a quantidade de 1024 extensões.

Assim, é responsabilidade do DBA monitorar o crescimento dos segmentos de tabelas, índices e LOBs, observando aqueles que estiverem próximos de atingir a quantidade de 505 extensões ocupadas. Uma vez atingido esse limiar por um segmento, é aceitável que este segmento continue crescendo sem grande perda de desempenho, mas antes que ele atinja o total máximo recomendado de 1024 extensões, o DBA deve agendar a migração deste segmento para uma tablespace da categoria de tamanho acima da atual.

Considerando os parâmetros de tamanho de extensão em cada categoria de tamanho de segmento no Oracle 8 em diante, multiplicando estes valores pelas quantidades desejada e máxima recomendadas para o número total de extensões de cada segmento, podemos inferir facilmente as faixas de tamanho para que um segmento seja considerado pequeno, médio ou grande, conforme o quadro a seguir.

Desejável (até 505 extents) Máximo (1024 extents)
Pequena Menor que ~63MB Menor que 128MB
Média Entre ~63MB e ~2GB Entre 128MB e 4GB
Grande Acima de ~2GB Acima de 4GB

Estas faixas de tamanho são métricas práticas e particularmente úteis para DBAs, ADs e analistas de sistemas avaliarem o provável tamanho de uma nova tabela que estiver sendo modelada e implementada no banco de dados. A partir de uma avaliação do tamanho médio de uma linha e quantidade máxima de linhas para esta tabela, obtém-se o tamanho provável da tabela, que então pode ser enquadrada como P, M ou G de acordo com as faixas apresentadas.


Firefox - A web de volta

© 2003-2006, Márcio d'Ávila, mhavila.com.br, todos os direitos reservados. O texto e código-fonte apresentados podem ser referenciados e utilizados, desde que expressamente citada esta fonte e o crédito do(s) autor(es). A informação aqui apresentada, apesar de todo o esforço para garantir sua precisão e correção, é oferecida "como está", sem quaisquer garantias explícitas ou implícitas decorrentes de sua utilização ou suas conseqüências diretas e indiretas.