Cap tulo i
This presentation is the property of its rightful owner.
Sponsored Links
1 / 34

Capítulo I PowerPoint PPT Presentation


  • 66 Views
  • Uploaded on
  • Presentation posted in: General

Capítulo I. Componentes Arquitetônicos de um Banco de Dados Oracle. Arquivo de Senha. Arquitetura de um Banco Oracle. Instância. Processo Usuário. SGA. Shared Pool. Database Buffer Cache. Redo Log Buffer. Library Cache. Processo Servidor. Data Dictionary Cache. Large Pool.

Download Presentation

Capítulo I

An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -

Presentation Transcript


Cap tulo i

Capítulo I

Componentes Arquitetônicos de um Banco de Dados Oracle


Arquitetura de um banco oracle

Arquivo de

Senha

Arquitetura de um Banco Oracle

Instância

Processo

Usuário

SGA

Shared Pool

DatabaseBuffer Cache

Redo LogBuffer

Library

Cache

Processo

Servidor

Data DictionaryCache

Large Pool

Java Pool

PGA

PMON

SMON

DBWR

LGWR

CKPT

Others

Arquivos de Dados

Arquivos de Controle

Arquivos de Redo

Arquivo de

Parâmetros

Log

Arquivados

Database

Administração de Bancos de Dados - Prof. Umberto Marrone


Servidor oracle

Servidor Oracle

  • Um Servidor Oracle:

    • É um SGBD

    • Consiste de uma Instância Oracle e de um Banco de Dados Oracle

Servidor Oracle

Administração de Bancos de Dados - Prof. Umberto Marrone


Inst ncia oracle

Instância Oracle

  • Meio de acessar o Banco de Dados Oracle

  • Está associada a um e apenas um Banco

  • Formada por memória e processos de background

Instância

SGA

Shared Pool

Memory structures

DatabaseBuffer Cache

Redo LogBuffer

Library

Cache

Data DictionaryCache

Large Pool

Java Pool

Background process structures

PMON

SMON

DBWR

LGWR

CKPT

Others

Administração de Bancos de Dados - Prof. Umberto Marrone


Estabelecendo uma sess o e criando uma conex o

Servidor Oracle

Estabelecendo uma Sessão e Criando uma Conexão

  • Conectando-se a uma Instância Oracle:

    • Estabelecendo uma conexão usuária

    • Criando uma sessão

Processo

Servidor

Conexão Estabelecida

Sessão Criada

Processo

Usuário

Usuário do Banco

Administração de Bancos de Dados - Prof. Umberto Marrone


Banco de dados oracle

Arquivo de

Senha

Banco de Dados Oracle

  • Coleção de dados

  • Consiste de três tipos de arquivo

Banco Oracle

Redo Log files

Data

files

Control files

Arquivo de

Parâmetros

Log

Arquivado

Administração de Bancos de Dados - Prof. Umberto Marrone


Estrutura f sica

Estrutura Física

  • A estrutura física inclui três tipos de arquivo:

    • Arquivos de Controle

    • Arquivos de Dados

    • Arquivos de Redo Log Online

Header

Arquivos de

Controle

Arquivos

de Dados

Arquivos de

Redo Log

Administração de Bancos de Dados - Prof. Umberto Marrone


Estruturas de mem ria

Estruturas de Memória

  • A estrutura de memória do Oracle é formada por duas áreas:

    • Área de Sistema Global (System Global Area - SGA): alocada quando a instância é inicializada. É um componente fundamental de uma instância Oracle

    • Área de Programa Global (Program Global Area - PGA): alocada quando um processo servidor é inicializado

Administração de Bancos de Dados - Prof. Umberto Marrone


Rea de sistema global sga

Área de Sistema Global - SGA

  • A SGA consiste de várias estruturas de memória:

    • Pool Compartilhado (Shared Pool)

    • Cache de Buffer de Dados (Database Buffer Cache)

    • Buffer de Redo Log (Redo Log Buffer)

    • Outras estruturas (por exemplo, gerenciamento de bloqueios e latches, dados estatísticos, entre outros)

  • Outras duas estruturas de memória adicionais podem ser configuradas na SGA:

    • Pool Grande (Large Pool)

    • Pool Java (Java Pool)

Administração de Bancos de Dados - Prof. Umberto Marrone


System global area sga

System Global Area - SGA

  • Dinâmica

  • Dimensionada pelo parâmetro de inicialização SGA_MAX_SIZE

  • Alocada e gerenciada em grãos pelos componentes da SGA

    • Alocação de memória virtual contínua

    • Tamanho do grão é baseado em SGA_MAX_SIZE

Administração de Bancos de Dados - Prof. Umberto Marrone


Pool compartilhado

Pool Compartilhado

  • É utilizado para armazenar:

    • Comandos SQL mais recentemente executados

    • Definições de dados mais recentemente utilizadas

  • Consiste de duas estruturas de memória muito importantes na questão de performance:

    • Cache de Biblioteca (Library Cache)

    • Cache de Dicionário de Dados (Data Dictionary Cache)

  • Dimensionado pelo parâmetro SHARED_POOL_SIZE

Shared Pool

Library

Cache

DataDictionary

Cache

ALTER SYSTEM SET

SHARED_POOL_SIZE = 64M;

Administração de Bancos de Dados - Prof. Umberto Marrone


Cache de dicion rio de dados

Cache de Dicionário de Dados

  • É conjunto contendo as definições de dicionário de dados mais recentemente utilizadas

  • Inclui informações sobre arquivos de dados, tabelas, índices, colunas, usuários, privilégios e outros objetos do banco de dados

Administração de Bancos de Dados - Prof. Umberto Marrone


Cache de dicion rio de dados1

Cache de Dicionário de Dados

  • Durante a fase de Análise de um comando, o processo servidor procura, na Cache de Dicionário de Dados, por informações para validação de acesso e mapeamento de nomes de objetos

  • O armazenamento de informações de Dicionário de Dados em cache propicia uma melhora no tempo de resposta de consultas e execução de comandos DML

  • O tamanho é determinado por SHARED_POOL_SIZE

Administração de Bancos de Dados - Prof. Umberto Marrone


Cache de buffer de dados

Cache de Buffer de Dados

  • Armazena cópias de blocos de dados recuperados a partir dos arquivos de dados

  • Fornece um ganho de desempenho, quando se consulta ou atualiza os dados

  • Gerenciado por um algoritmo LRU

  • DB_BLOCK_SIZE determina o tamanho do bloco padrão

Cache de Buffer

de Dados

Administração de Bancos de Dados - Prof. Umberto Marrone


Cache de buffer de dados1

Cache de Buffer de Dados

  • Consiste de subcaches independentes:

    • DB_CACHE_SIZE

    • DB_KEEP_CACHE_SIZE

    • DB_RECYCLE_CACHE_SIZE

  • Pode ser dimensionada dinamicamente

  • DB_CACHE_ADVICE é utilizado para obter estatísticas sobre o tamanho das caches

  • As estatísticas são exibidas em V$DB_CACHE_ADVICE

  • ALTER SYSTEM SET DB_CACHE_SIZE = 96M;

    Administração de Bancos de Dados - Prof. Umberto Marrone


    Cache de buffer de dados2

    Cache de Buffer de Dados

    • Esses três parâmetros definem os tamanhos dos Buffer Caches:

      • DB_CACHE_SIZE: Determina o tamanho apenas do default buffer cache

      • DB_KEEP_CACHE_SIZE: Determina o tamanho do keep buffer cache, que é usado para reter blocos bastante reutilizados em memória

      • DB_RECYCLE_CACHE_SIZE: Determina o tamanho do recycle buffer cache, que é usado para eliminar blocos que têm pouca chance de serem reutilizados da memória

    Administração de Bancos de Dados - Prof. Umberto Marrone


    Buffer de redo log

    Buffer de Redo Log

    • Armazena alterações realizadas em blocos de dados

    • Função principal é recuperação

    • As alterações armazenadas são chamadas de entradas de redo

    • Entradas de redo contém informações para reconstrução ou cancelamento de alterações

    • Tamanho definido por LOG_BUFFER

    Buffer de Redo

    Log

    Administração de Bancos de Dados - Prof. Umberto Marrone


    Pool grande

    Pool Grande

    • Área opcional da SGA

    • Diminui o processamento no Pool Compartilhado

    • Utilizado para:

      • Memória de Sessão (UGA) na arquitetura de Servidor Compartilhado (Shared Server)

      • Processos Servidores de E/S

      • Operações de Backup e Recuperação (Recovery Manager)

      • Execução em paralelo

    • Não utiliza o algoritmo LRU

    • Dimensionado pelo parâmetro LARGE_POOL_SIZE

    • Pode ser dimensionado dinamicamente

    Administração de Bancos de Dados - Prof. Umberto Marrone


    Rea de programa global pga

    Área de Programa Global - PGA

    • Região de memória reservada para cada Processo Usuário conectando ao Oracle

    • Alocada quando um Processo Servidor é criado

    • Desalocada quando o Processo Servidor é finalizado

    • Utilizada por apenas um Processo Servidor

    PGA

    Processo

    Servidor

    Processo

    Usuário

    Administração de Bancos de Dados - Prof. Umberto Marrone


    Estrutura de processos

    Estrutura de Processos

    • Processo Usuário: inicializado quando um usuário solicita uma conexão com o Servidor Oracle

    • Processo Servidor: conecta-se a Instância Oracle e é inicializado quando um usuário estabelece uma sessão

    • Processos de Background: inicializado quando uma Instância Oracle é inicializada

    Administração de Bancos de Dados - Prof. Umberto Marrone


    Processo usu rio

    Processo Usuário

    • Um programa que solicita interação com o Servidor Oracle

    • Deve primeiramente estabeler uma conexão

    • Não interage diretamente com o Servidor Oracle

    Processo

    Servidor

    Processo

    Usuário

    Conexão Estabelecida

    Database user

    Administração de Bancos de Dados - Prof. Umberto Marrone


    Processo servidor

    Servidor Oracle

    Processo Servidor

    • Um programa que interage diretamente com o Servidor Oracle

    • Responde solicitações geradas e retorna resultados

    • Pode ser dedicado ou compartilhado

    Processo

    Servidor

    Conexão Estabelecida

    Sessão Criada

    Processo

    Usuário

    Database user

    Administração de Bancos de Dados - Prof. Umberto Marrone


    Processos de background

    Processos de Background

    • Responsáveis pela interação entre estruturas de memória e físicas

      • Obrigatórios

        DBWnPMONCKPT

        LGWRSMON

      • Opcionais:

        ARCnLMDn QMNn

        CJQ0LMON RECO

        DnnnLMS Snnn

        LCKnPnnn

    Administração de Bancos de Dados - Prof. Umberto Marrone


    Database writer dbwn

    Database Writer (DBWn)

    • DBWn escreve quando:

      • Acontece um checkpoint

      • A quantidade buffers “sujos” atinge um determinado percentual

      • Não existem buffers livres

      • Ocorre um timeout

      • Tablespace OFFLINE

      • Tablespace READ ONLY

      • Tabela DROP or TRUNCATE

      • Tablespace BEGIN BACKUP

    Instance

    SGA

    Database

    BufferCache

    DBWn

    Redo Log files

    Data files

    Control files

    Database

    Administração de Bancos de Dados - Prof. Umberto Marrone


    Log writer lgwr

    Log Writer (LGWR)

    • LGWR escreve:

      • Em um commit

      • Quando 1/3 cheio

      • Quando há mais de 1 MB de informações de redo

      • A cada 3 segundos

      • Antes que DBWn escreva

    Instance

    SGA

    Redo Log

    Buffer

    DBWn

    LGWR

    Redo Log files

    Control files

    Data files

    Database

    Administração de Bancos de Dados - Prof. Umberto Marrone


    System monitor smon

    System Monitor (SMON)

    • Funções:

      • Recuperação de Instância

        • Validação das alterações confirmadas no Arquivos de Redo Log

        • Abre o banco de dados para acesso pelos usuários

        • Desfaz transações não confirmadas

      • Juntar espaços livres

      • Desalocar segmentos temporários

    Administração de Bancos de Dados - Prof. Umberto Marrone


    Process monitor pmon

    Process Monitor (PMON)

    • Limpa processos falhos:

      • Realizando rollback de transações

      • Liberando bloqueios e recursos

    Instance

    SGA

    PMON

    PGA area

    Administração de Bancos de Dados - Prof. Umberto Marrone


    Checkpoint

    Redo Log files

    Control files

    Data files

    Database

    Checkpoint

    • Funções:

      • Sinalizar DBWn de checkpoints

      • Atualizar o header dos Arquivos de Dados e o Arquivo de Controle com informações de checkpoint

    Instance

    SGA

    DBWn

    LGWR

    CKPT

    Administração de Bancos de Dados - Prof. Umberto Marrone


    Archiver arcn

    Redo log files

    Control files

    Data

    files

    Archiver (ARCn)

    • Processo de Background Opcional

    • Arquiva automaticamente os Arquivos de Redo Log quando o banco de dados está no modo ARCHIVELOG

    • Mantém um registro de todas as modificações realizadas no banco de dados

    ARCn

    Archived redo log files

    Administração de Bancos de Dados - Prof. Umberto Marrone


    Estrutura l gica de armazenamento

    Tablespace

    Datafile

    Segment

    Segment

    Extent

    Blocks

    Estrutura Lógica de Armazenamento

    • Diz como o espaço físico do banco de dados é utilizado

    • Hierarquia consistindo de tablespaces, segmentos, extensões e blocos

    Administração de Bancos de Dados - Prof. Umberto Marrone


    Processando comandos sql

    Processando Comandos SQL

    • Conecte-se a uma Instância através de:

      • Processo Usuário

      • Processo Servidor

    • Os componentes do Servidor Oracle utilizados dependem do tipo de comando SQL executado:

      • Consultas retornam linha

      • Comandos DML são registrados

      • Um “commit” garante recuperação da transação

    Administração de Bancos de Dados - Prof. Umberto Marrone


    Exerc cios

    Exercícios

    Administração de Bancos de Dados - Prof. Umberto Marrone


    Exerc cios1

    Exercícios

    Administração de Bancos de Dados - Prof. Umberto Marrone


    Exerc cios2

    Exercícios

    Administração de Bancos de Dados - Prof. Umberto Marrone


  • Login