AMM ou ASMM • Entendendo o Gereciamento de Memória
Então, você instalou o software Oracle e, após a instalação, resolveu rodar o comando “DBCA” – Assistente de Configuração de Banco de Dados. Por alguma razão, decidiu fazer a instalação no modo “Advanced” e chegou à etapa “Configuration Options”, onde há algumas opções de configuração da memória, conforme mostra a figura abaixo:
O que tenho para te dizer é: CALMA! Vou explicar o que significa cada uma dessas opções, para que você possa entender e saber o que fazer.
Antes de detalhar cada opção, é importante destacar que não existe uma escolha universalmente melhor ou pior, mas sim uma resposta que depende do contexto. Ao final desta explicação, tudo ficará claro. Vamos prosseguir:
Opções de Configuração de Memória:
- Use Automatic Shared Memory Management (ASMM):
Essa opção permite que você informe ao Oracle quanto de memória SGA e PGA ele deve utilizar. O Oracle faz o gerenciamento automático desses recursos com base nos limites definidos. - Use Manual Shared Memory Management:
Nesta opção, você define manualmente os tamanhos dos pools de memória. É ideal quando você conhece bem o comportamento da aplicação e sabe exatamente o que o banco de dados demandará. - Automatic Memory Management (AMM):
Aqui, você informa ao Oracle apenas a quantidade total de memória disponível. O Oracle faz a distribuição automática entre SGA e PGA conforme a necessidade, sem intervenção manual.
Um exemplo para ilustrar:
Vamos supor que temos um banco de dados em funcionamento. Durante o horário comercial, ele se comporta como um banco OLTP (transacional). Após o horário comercial, ele muda para um comportamento OLAP (analítico), realizando processamentos e gerando relatórios.
Se configurarmos o banco com AMM, o Oracle pode alocar, por exemplo, 40% da memória para SGA e o restante para PGA durante o horário comercial. Ao final do expediente, ele ajusta mais memória para SGA, pensando que precisará de mais recursos para as tarefas de OLAP. No entanto, ao perceber que há uma demanda maior de PGA, ele volta a ajustar, e, quando o horário comercial recomeça, o banco estará mais preparado para OLAP do que para OLTP.
O resultado? O banco pode ficar “mal configurado” em determinados momentos.
Portanto, com base nesse exemplo, fica claro que não há uma opção certa ou errada. O importante é entender o uso específico do banco de dados e, a partir disso, escolher a configuração mais adequada.
Espero que tenham gostado!
Até a próxima!