Arquitetura Oracle Database 11g – Parte 2: Arquitetura de Memória (INTRODUÇÃ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.

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.

Imagem mostrando toda a Estrutura de Memória
Imagem mostrando toda 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

https://docs.oracle.com/database/121/CNCPT/E41396-12.pdf

Sobre mim

Bruno Bragatto graduou-se em Automação Industrial pelo IFSP, pós-graduado em Banco de Dados Oracle pela FIAP e é Oracle Database 11g Administrator Certified Associate e Microsoft MCSA – SQL 2016 Database Administration.


OCA - Oracle 11g Database Administrator