Na primeira parte, tratamos sobre os conceitos mais básicos de arquitetura (Instância, Sessão e Conexão).
Nesta segunda parte, trataremos especificamente de uma das estruturas que compõe a Arquitetura do Banco de Dados Oracle: a Estrutura de Memória.
INTRODUÇÃO
Uma instância é iniciada com sucesso a partir do momento em que é alocada a Estrutura de Memória e são iniciados os Background Processes. A Estrutura de Memória é uma área reservada na memória RAM exclusivamente para uma instância específica. Essa área de memória é utilizada para:
- Códigos;
- Informações sobre CADA sessão conectada, ativas ou inativas;
- Informações necessárias durante a execução de um programa, como, por exemplo, o status de uma query;
- Informações sobre dados compartilhados e que se comunicam através de processos, como, por exemplo, Lock;
- Dados em Cache, como registros de redo ou data blocks.
Estruturas Básicas de Memória – Conceitos Básicos
System Global Area – SGA
A SGA é, na realidade, um conjunto de estruturas de memórias COMPARTILHADAS (os famosos Componentes da SGA). Por este motivo, mais importante do que conhecer o conceito geral por trás da SGA é conhecer o funcionamento de cada um de seus componentes.
Na SGA estão contidos Dados e Informações de controle para uma única Instância e é compartilhada por TODOS os Server Processes e Background Processes.
Program Global Area – PGA
Diferentemente da SGA, a PGA é uma área de memória NÃO COMPARTILHADA que contém dados e informações de controle para ser usado EXCLUSIVAMENTE por um Processo do Oracle, ou seja: Existe uma PGA para cada Background Process e para cada Server Process.
User Global Area – UGA
A UGA é uma memória associada a uma sessão de usuário. Ela, em geral, armazena informações relativas à sessão do usuário, como o seu estado, por exemplo. A UGA DEVE estar disponível para uma sessão no banco de dados enquanto ela existir.
Observação: Apesar de, na imagem acima, a UGA estar dentro da SGA, isso não é regra. Depende de como o servidor está configurado para receber as conexões, ou seja: Dedicated Server ou Shared Server. (será tratado na parte 3 dessa série sobre Arquitetura)
Referências Bibliográficas
https://asktom.oracle.com/pls/asktom/f?p=100:11:0::::P11_QUESTION_ID:4269591917792
https://docs.oracle.com/cd/E11882_01/server.112/e40540/memory.htm#CNCPT7777