Oracle
Critérios de armazenamento no Oracle
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:
- S: Nome ou sigla do sistema a qual pertencem seus objetos.
- O: Tipo de objeto dos segmentos contidos
- T (ou TAB): tabelas
- I (ou IND): índices
- L (ou LOB): LOBs (large objects)
- 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.
© 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.
Parceiros
Tecnoponta Santos - SP
Capital Administração de Condomínios
BR-Linux.org
Criar WEB
Verdade Absoluta
Artigos mais acessados
Desenho de Letras - Construindo fontes TTF
Menu Circular em 3D
Criando um sistema de login
Enviando email em formato HTML em PHP
Cargos e salários na área de informática
Como fazer e modificar calendários
Serviços
Desenvolvimento de Sites e Sistemas WEB
Otimização de Sites (SEO)
Catálogo de Produtos
Parcerias e Soluções de Publicidade
Fale Conosco


