Estrutura de Memória Oracle


As estruturas básicas de memória associadas a uma instância Oracle incluem:

  • SGA (System Global Area): Compartilhada por todos os processos do servidor e de background
  • PGA (Program Global Area): Privada de cada processo do servidor e background; há uma PGA para cada processo.

A SGA é uma área de memória compartilhada que contém dados e informações de controle para a instância.

Ela inclui as seguintes estruturas de dados:

  • Cache de buffer do banco de dados: Armazena no cache os blocos de dados recuperados do banco de dados
  • Buffer de redo log: Armazena no cache as informações de redo (usadas para a recuperação de instância) até que elas possam ser gravadas nos arquivos de redo log físicos armazenados no disco
  • Shared pool: Armazena no cache construtos que podem ser compartilhados entre os usuários
  • Large pool: Área opcional usada para armazenar grandes solicitações de entrada/saída no buffer
  • Java pool: Usado para todos os códigos e dados Java específicos de sessão dentro da JVM (Java Virtual Machine)
  • Streams pool: Usado pelo Oracle Streams

Quando você inicia a instância usando o Enterprise Manager ou o SQL*Plus, é exibida a memória alocada para a SGA.

A infra-estrutura dinâmica da SGA permite alterar o tamanho do cache de buffer do banco de dados, o shared pool, o large pool, o Java pool e o Streams pool sem que seja necessário desativar a instância.

O banco de dados pré-configurado foi pré-ajustado com definições adequadas aos parâmetros de memória. Entretanto, à medida que o uso do seu banco de dados for expandindo, você talvez julgue necessário alterar as definições dos parâmetros de memória.

O Oracle fornece alertas e supervisores que identificam problemas de dimensionamento de memória e o ajudam a determinar os valores apropriados aos parâmetros de memória.

Uma PGA é uma região da memória que contém dados e informações de controle para cada processo do servidor. O processo do servidor atende às solicitações de um cliente. Cada processo do servidor possui sua própria área PGA privada, criada quando o processo é iniciado. O acesso a ela é exclusivo ao processo e é lido e gravado apenas pelo código Oracle que atua em seu nome.

O volume de memória PGA usada e de seu conteúdo variará se a instância estiver configurada em modo de servidor compartilhado. Geralmente, a PGA contém o seguinte:

  • Área SQL privada: Contém dados, tais como as informações de bind e as estruturas de memória de runtime. Cada sessão que executa uma instrução SQL tem uma área SQL privada.
  • Memória de sessão: Memória alocada para reter as variáveis de uma sessão e outras informações relativas a essa sessão.

Em meu próximo post, tratarei de explicar com mais detalhes os Processos Oracle, deixando bem claro os processos mais importantes de background. Espero que esse post tenha tirado suas dúvidas sobre como é uma estrutura de memória Oracle. Até a próxima e boa semana.

Anúncios

Deixe um comentário

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s