Alessandro Guimarães – Oracle Blog

September 4, 2008

Farewell Dump Parameters

Filed under: banco de dados — Tags: , — agleite @ 1:49 am

Pois no 11g,  os parametros user_dump_dest, background_dump_dest e core_dump_dest foram substituidos por DIAGNOSTIC_DEST. Toda informação de trace do Oracle fica agora no diretorio especificado por este parametro que por default está $ORACLE_BASE/diag

September 3, 2008

Sistemas em Oracle | 10 Erros

Filed under: Uncategorized — agleite @ 1:48 pm

1 – Gerenciamento de conexões ineficiente
2 – Má utilização de cursores e shared pool
3 – SQL ineficiente
4 – Uso de parametros de inicialização não documentados, sem o suporte da Oracle, ou parametros não tão comuns como SPIN_COUNT ou CURSOR_SPACE_FOR_TIME
5 – Sistema de I/O com problemas no layout e largura de banda
6 – Problemas na configuração dos Redo Logs
7 – Serialização dos blocos no database buffer cache
8 – Full Table Scans demorados
9 – Grande quantidade de SQL recursivo
10 – Erros na migração de ambientes de desenvolvimento para produção

September 1, 2008

Evolução do Gerenciamento de Memória no Oracle

Filed under: banco de dados — Tags: — agleite @ 3:33 am

Tudo começou lá no 9i. Alguns dos parametros da SGA ficaram dinâmicos. Portanto o comando “ALTER SYSTEM” poderia ser utilizado para aumentar ou diminuir seus valores.

O total da SGA é limitado pelo parâmetro SGA_MAX_SIZE. Cada parametro da SGA é alocado em termos de “Grãos”, que nada mais é do que uma unidade de alocação. O tamanho do grão depende do SGA_MAX_SIZE e da plataforma do hardware.

Dependendo da versão 9i, os seguintes parametros foram definidos como dinâmicos:

  • 9.0.1: Shared Pool e Default Buffer Cache
  • 9.2.0: Foi acrescido o Large Pool

Além disso, a equação: “DB_BLOCK_BUFFERS*DB_BLOCK_SIZE”; foi substituida pelo novo parametro DB_CACHE_SIZE e DB_nK_CACHE_SIZE para diferentes tamanhos de bloco.

Por ultimo PGA_AGGREGATE_TARGET, no livrando dos sacrificio de ajustar os diversos  parametros “*_area_size”.

Ainda no  9i, quando você aumenta ou diminui o tamanho de um dos parametros acima, a memória liberada não será re-alocada para outro parametro dinâmico automaticamente. Você deve fazer isso manualmente.

Na versão 10g apareceu o  ASMM (Automatic Shared Memory Management), que automatiza o gerenciamento das seguintes estruturas de memória:

db_cache_size, shared_pool_size, large_pool_size, java_pool_size e streams_pool_size (10.2)

Quando implementada, a ASMM faz com que o Oracle distribua a memória entre os componentes baseado nos requirementos de carga de trabalho. Portanto este componentes são chamado de auto-otimizaveis. Quem coordena o tamanho destes componentes e move a memória para a area com maior necessidade, é o processo background MMAN(Memory Manager).

Para implementar a ASMM, basta

Parametrizar SGA_TARGET com um valor diferente de zero e STATISTICS_LEVEL=TYPICAL (ou ALL).

Os seguintes parametros não são auto-ajustaveis:

* LOG_BUFFER

* DB_KEEP_CACHE_SIZE

* DB_RECICLE_CACHE_SIZE

* DB_nK_CACHE_SIZE

* STREAMS_POOL_SIZE (10.1)

Além claro do valor “Fixed SGA”.

Quando você define SGA_TARGET, o valor total destes parametros é subtraido do valor de SGA_TARGET, sendo o saldo restante distribuido entre os componentes auto-ajustaveis.

SGA_TARGET é dinâmico, seu valor superio é determinado por SGA_MAX_SIZE. Este por sua vez só pode ser alterado com a re-inicialização da instancia.

Create a free website or blog at WordPress.com.