Arquitetura Primária e Gerenciamento de Memória - Oracle

Acreditem ou não, encontrei um post nos resumos aqui que por anos não publiquei... 

A referência do post está aqui. A abordagem era Oracle e  neste post a seguinte proposta é: Aprofundar o conhecimento sobre conceitos Oracle, arquitetura primária e gerenciamento de memória Oracle.

Vamos nessa então...

Arquitetura Primária

A arquitetura inclui componentes físicos, componentes de memória, processos e estruturas lógicas.


  Servidor Oracle : Um servidor Oracle inclui uma instância do Oracle e um banco de dados Oracle .

  Um banco de dados Oracle inclui vários tipos diferentes de arquivos:  
  1. Arquivos de dados 
  2. Arquivos de controle 
  3. Arquivos de log refazer 
  4. Arquivo de redo log  
 O servidor Oracle também acessa arquivos de parâmetros e arquivos de senha.

  Este conjunto de arquivos tem várias finalidades.
  •   Um é permitir que os usuários do sistema para processar instruções SQL.
  •   Melhorar o desempenho do sistema.
 Um outro é o de assegurar a base de dados pode ser recuperado, se houver uma falha de software / hardware.
  •   O servidor de banco de dados deve gerenciar grandes quantidades de dados em um ambiente multi-usuário.
  •   O servidor deve gerenciar o acesso simultâneo aos mesmos dados.
  •  O servidor deve entregar alta performance. Isso geralmente significa tempos de resposta rápidos.
  Instância Oracle

Uma instância Oracle consiste em dois diferentes conjuntos de componentes:

O primeiro conjunto de componentes é o conjunto de processos em segundo plano (pmon, SMON, RECO, DBW0, LGWR, ckpt, D000 e outros).

Estes serão abordados mais adiante em detalhe , cada processo em segundo plano é um programa de computador. Estes processos realizar entrada / saída e monitorar outros processos Oracle para oferecer bom desempenho e confiabilidade do banco de dados.

O segundo conjunto componente inclui as estruturas de memória que compõem a instância Oracle.
     
Quando uma instância é iniciado, uma estrutura de memória, chamada System Global Area (SGA) é alocado. Neste ponto, os processos em segundo plano também começar.  Uma instância Oracle fornece acesso a um e somente um banco de dados Oracle.

 Banco de dados Oracle

Um banco de dados Oracle consiste em arquivos. Às vezes, estes são chamados de arquivos do sistema operacional, mas eles são realmente arquivos de bancos de dados que armazenam as informações de banco de dados que uma empresa ou organização precisa para operar.

Os arquivos de log redo são usados para recuperar o banco de dados em caso de falhas de programação de aplicativos, falhas de instância e outras falhas menores.

 Os arquivos de log redo arquivados são utilizados para recuperar o banco de dados se um disco falhar.

 Outros arquivos não mostrados na figura são:
  •   O requerido arquivo de parâmetro que é usado para especificar os parâmetros para configurar uma instância do Oracle quando ele inicia.
  •   A opção de arquivo de senha autentica os usuários especiais do banco de dados. Estes são chamados usuários privilegiados e incluem os administradores de banco de dados.
  •   Alerta e arquivos de rastreamento Log - estas informações armazenar arquivos sobre os erros e as medidas tomadas que afetam a configuração do banco de dados.
 Usuário e o servidor processos

Os processos mostrados na figura são chamados de usuários e servidores processos . Estes processos são usados para gerenciar a execução de instruções SQL.
  •  A Process Server compartilhada pode compartilhar memória e processamento variável para vários processos do usuário.
  •   Um processo de servidor dedicado gerencia a memória e as variáveis para um único processo de usuário.
 Gerenciamento de memória  

Oracle Management Memory Database

No gerenciamento de memória o foco é manter tamanhos ideais para estruturas de memória.
  •  A memória é gerenciada com base em  memória relacionada com parâmetros de inicialização .
  •  Estes valores são armazenados no arquivo init.ora para cada base de dados.
Três opções básicas para o gerenciamento de memória são as seguintes:

  Gerenciamento automático de memória :
  1. DBA especifica o tamanho do alvo para memória da instância.
  2. A instância de banco de dados sintoniza automaticamente o tamanho da memória alvo.
  3. Banco de Dados redistribui memória conforme necessário entre a SGA ea instância PGA.
  Automático de gerenciamento de memória compartilhada :
  1. Este modo de gestão é parcialmente automatizado.
  2. DBA especifica o tamanho do alvo para o SGA.
  3. DBA pode, opcionalmente, definir um tamanho de destino agregada para o PGA ou gerenciar áreas de trabalho PGA individualmente.
  Manual de gerenciamento de memória :
  1. Em vez de definir o tamanho total da memória, o DBA define muitos parâmetros de inicialização para gerenciar os componentes do SGA e PGA instância individualmente.
  As estruturas de memória incluem três áreas de memória:
  1. Área Global do Sistema (SGA) - Alocada quando uma instância Oracle é iniciado.
  2. Programa Global Area (PGA) - Alocado quando um Process Server é iniciado.
  3. Usuário Global Area (UGA) - Alocado quando um usuário se conecta a criar uma sessão.
 System Global Area

O SGA é uma área de memória de leitura / gravação que armazena informações compartilhadas por todos os processos de banco de dados e por todos os usuários do banco de dados (às vezes ele é chamado de Área Global Shared ).

Esta informação inclui dados organizacionais e controlar a informação usada pelo servidor Oracle. O SGA é alocada na memória e memória virtual. O tamanho do SGA pode ser estabelecida por um DBA, atribuindo um valor ao parâmetro SGA_MAX_SIZE no parâmetro file-este é um parâmetro opcional.

O SGA é alocada quando uma instância Oracle (banco de dados) é iniciado com base nos valores especificados no arquivo de parâmetros de inicialização (ou PFILE ou SPFILE).

O SGA tem as seguintes estruturas de memória obrigatórios:
  1. Database Buffer Cache
  2. Redo Log Buffer
  3. Java Pool
  4. Streams Pool
  5. Pool - inclui dois componentes:
  •  Cache de Library
  •  Data Dictionary Cache
  •  Outras estruturas (por exemplo, fechamento e gestão trinco, dados estatísticos)
**Tais estruturas de memória serão expicados nos próximos posts**

Esta figura do Oracle Database Administration Guide fornece uma outra maneira de ver o SGA .

 Programa Global Area (PGA)

A PGA é:
 Uma região de memória não compartilhada que contém informações de dados e controle exclusivamente para uso por um processo Oracle. A PGA é criada pela Oracle Database quando um processo da Oracle é iniciado. Existe um PGA para cada Process Server e cada Processo de fundo . Ele armazena dados e informações de controle para um único Process Server ou um único Processo de fundo.

Ele é alocada quando um processo é criado e a memória é eliminado pelo sistema operacional quando o processo termina. Este NÃO é uma parte comum da memória - um PGA para cada processo. A coleta de PGAs individuais é o PGA total de instância, ou instância PGA.

Parâmetros de inicialização do banco de dados definir o tamanho da instância do PGA, não PGAs individuais.

O Programa Global Area também denominado o processo Global Area (PGA) é uma parte da memória alocada que está fora da Instância Oracle.

 Usuário Global Area

A Área Global User é a memória sessão. Uma sessão que carrega um PL / SQL pacote na memória tem o estado dos pacotes armazenados na UGA. O estado dos pacotes é o conjunto de valores armazenados em todas as variáveis de pacote em um momento específico. As mudanças de estado como o código do programa as variáveis. Por padrão, variáveis de pacote são exclusivas para e persistir durante a vida da sessão.

O Pool OLAP também é armazenado no UGA. Esta Pool consegue OLAP páginas de dados, que são equivalentes aos blocos de dados. A Pool página é alocado no início de uma sessão de OLAP e liberado no final da sessão. Uma sessão OLAP abre automaticamente sempre que um usuário consulta um objeto tridimensional, como um cubo.

O UGA deve estar disponível para uma sessão de banco de dados para a vida da sessão. Por esta razão, o UGA não pode ser armazenado no PGA quando se utiliza um servidor comum de ligação, porque o PGA é específica para um único processo.  

Portanto, UGA é armazenado no SGA ao usar conexões de servidor compartilhado, permitindo que qualquer acesso processo servidor compartilhado a ele. Quando se utiliza um servidor dedicado de ligação, UGA é armazenado no PGA.

About thallitaceleste

This is a short description in the author block about the author. You edit it by entering text in the "Biographical Info" field in the user admin panel.

0 comments:

Postar um comentário