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 4, 2008
September 3, 2008
Sistemas em Oracle | 10 Erros
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
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.