Banco de Dados Oracle - PowerPoint PPT Presentation

1 / 48
About This Presentation
Title:

Banco de Dados Oracle

Description:

Title: PowerPoint Presentation Last modified by: Your User Name Created Date: 1/1/1601 12:00:00 AM Document presentation format: Apresenta o na tela (4:3) – PowerPoint PPT presentation

Number of Views:108
Avg rating:3.0/5.0
Slides: 49
Provided by: diUfpeBrr
Category:

less

Transcript and Presenter's Notes

Title: Banco de Dados Oracle


1
Banco de Dados Oracle
  • AESO

2
Banco de Dados Oracle
  • Visão Geral dos Componentes Principais da
    Arquitetura Oracle

3
Banco de Dados Oracle
  • Servidor Oracle
  • É o nome que a Oracle deu ao seu SGBD. Ele
    consiste de uma Instância e um Banco de Dados
    Oracle.

4
Banco de Dados Oracle
  • Instância Oracle
  • É uma forma de acessar um Banco de Dados Oracle.
  • Sempre abre um único Banco de Dados.
  • Consiste em estruturas de memórias e processos de
    segundo plano (background).

Estruturas de Memória
Estruturas de Processos de Segundo Plano
5
Banco de Dados Oracle
  • Instância Oracle
  • É preciso iniciar a instância para acessar os
    dados contidos no banco de dados.
  • Sempre que uma instância é iniciada, uma SGA
    (System Global Area) é alocada e os processos de
    segundo plano do Oracle também são iniciados.
  • Os processos de segundo plano executam funções
    para o processo que faz a chamada. Ex operações
    de entrada/saída (E/S)

6
Banco de Dados Oracle
  • Banco de Dados Oracle
  • É um conjunto de dados tratados como uma unidade.
  • Consiste em três tipos de arquivos

7
Banco de Dados Oracle
  • Arquivos do Banco de Dados
  • Os arquivos de dados
  • Contêm os dados reais do banco de dado
  • Os arquivos de redo log on-line
  • Contêm um registro das alterações feitas no
    banco de dados para permitir a recuperação dos
    dados em caso de falha
  • Os arquivos de controle
  • Contêm as informações necessárias para manter e
    verificar integridade do banco de dados

8
Banco de Dados Oracle
  • Outras Estruturas Importantes de Arquivos
  • O Servidor Oracle também usa outros arquivos que
    não fazem parte do banco de dados
  • Os Arquivos de Parâmetros
  • Define as características de uma instância
    Oracle. Ex parâmetros que dimensionam algumas
    das estruturas da memória na SGA.
  • O Arquivo de Senhas
  • Autentica os usuários com privilégios para
    iniciar e desativar uma instância Oracle.
  • Os Arquivos de Redo Log Arquivados
  • São cópias off-line dos arquivos de redo log
    on-line quepodem ser necessários para a
    recuperação após falhas de mídia.

9
Banco de Dados Oracle
  • Processos da Arquitetura Oracle
  • Processos do usuário e do servidor.
  • Os processos do usuário e do servidor são os
    principais processos envolvidos na execução de
    uma instrução SQL. No entanto, outros processos
    (obrigatórios) podem ajudar o servidor a concluir
    o processamento da instrução SQL.
  • Outros processos
  • Existem vários outros processos usados por
    outras opções, como Advanced Queuing, Real
    Application Clusters, Shared Server, Advanced
    Replication, etc.

10
Banco de Dados Oracle
  • Estabelecendo uma Conexão e Criando uma Sessão

11
Banco de Dados Oracle
  • Estabelecendo uma Conexão e Criando uma Sessão
  • Antes de submeterem instruções SQL a um banco de
    dados Oracle, os usuários devem se conectar a uma
    instância.
  • O usuário inicia uma ferramenta, como o SQLPlus,
    ou executa uma aplicação. Essa ferramenta ou essa
    aplicação é executada como um processo do
    usuário.
  • Na maioria das configurações básicas, quando um
    usuário efetua logon no servidor Oracle, é criado
    um processo no computador que executa esse
    servidor. Esse processo denomina-se processo do
    servidor.

12
Banco de Dados Oracle
  • Estabelecendo uma Conexão e Criando uma Sessão
  • Conexão
  • Uma conexão é um caminho de comunicação entre um
    processo do usuário e um servidor Oracle.
  • Há três maneiras de conexão para o usuário
  • Logon no SO onde está instalado o Servidor
    Oracle.
  • Conexão via rede (duas camadas)
  • Conexão via rede (três camadas)

13
Banco de Dados Oracle
  • Estabelecendo uma Conexão e Criando uma Sessão
  • A conexão pode ser
  • Dedicada - Para cada processo do usuário se tem
    um processo de servidor.
  • Compartilhada - Um processo de servidor atende a
    vários processos de usuário.
  • Sessões
  • Uma sessão é uma conexão específica de um
    usuário com um servidor Oracle.

14
Banco de Dados Oracle
  • Estrutura Lógica e Física da Arquitetura Oracle

15
Banco de Dados Oracle
  • Estrutura Lógica e Física da Arquitetura Oracle
  • A arquitetura do banco de dados Oracle inclui
    estruturas lógicas e físicas que formam o banco
    de dados.
  • A estrutura física
  • Inclui os arquivos que formam o banco de dados
    (3 tipos de arquivos).
  • A estrutura lógica
  • Inclui tablespaces, segmentos, extensões e
    blocos de dados.

16
Banco de Dados Oracle
  • Estrutura Lógica e Física da Arquitetura Oracle
  • Existe a seguinte hierarquia de estruturas
    lógicas
  • Um banco de dados Oracle contém no mínimo um
    tablespace.
  • Um tablespace contém um ou mais segmentos.
  • Um segmento é composto de extensões.
  • Uma extensão é composta de blocos lógicos.
  • Um bloco é a menor unidade para operações de
    leitura e gravação.

17
Banco de Dados Oracle
  • Estrutura Lógica e Física da Arquitetura Oracle

18
Banco de Dados Oracle
  • Estrutura Lógica

19
Banco de Dados Oracle
  • Estrutura Física
  • A estrutura física de um banco de dados Oracle
    inclui três tipos de arquivos

20
Banco de Dados Oracle
  • Estrutura da Memória

21
Banco de Dados Oracle
  • Estrutura da Memória
  • A estrutura da memória do Oracle consiste em duas
    áreas denominadas
  • SGA System Global Area (alocada na
    inicialização da instância)
  • PGA Program Global Area (alocada quando um
    processo de servidor é iniciado)

22
Banco de Dados Oracle
  • System Global Area
  • Ela é usada para armazenar informações do banco
    de dados compartilhadas pelos processos do banco
    de dados.
  • Consiste em várias estruturas de memória
  • Shared Pool
  • Cache de Buffer do Banco de Dados
  • Buffer de Redo Log
  • etc

23
Banco de Dados Oracle
  • System Global Area
  • A partir do 9i a SGA é dinâmica sendo
    dimensionada pelo parâmetro SGA_MAX_SIZE.

24
Banco de Dados Oracle
  • SGA - Shared Pool
  • Usado para armazenar
  • As instruções SQL executadas mais recentemente.
  • As definições de dados usadas mais recentemente.

25
Banco de Dados Oracle
  • SGA - Shared Pool
  • Dimensionado pelo parâmetro SHARED_POOL_SIZE
  • Ele consiste em duas estruturas principais de
    memórias relacionadas ao desempenho
  • Cache de Biblioteca
  • Cache de Dicionário de Dados

26
Banco de Dados Oracle
  • SGA Shared Pool - Cache de Biblioteca
  • Armazena as informações sobre as instruções SQL e
    PL/SQL mais usadas recentemente.
  • Permite o compartilhamento de instruções usadas
    normalmente.
  • É gerenciado por um algoritmo LRU (Least Recently
    Used).
  • Consiste em duas estruturas de memória
  • Área SQL compartilhada
  • Área PL/SQL compartilhada
  • Tamanho determinado pelo dimensionamento da
    SHARED POOL.

27
Banco de Dados Oracle
  • SGA Shared Pool - Cache de Dicionário de Dados
  • As informações sobre o banco de dados (dados de
    contas de usuários, nomes de arquivos de dados,
    nomes de segmentos, locais de extensões,
    descrições de tabelas e privilégios de usuários)
    são armazenadas nas tabelas do dicionário de
    dados.
  • Quando o servidor necessita dessas informações,
    as tabelas do dicionário de dados são lidas e os
    dados retornados são armazenados no Cache de
    Dicionário de Dados.

28
Banco de Dados Oracle
  • SGA - Cache de Buffer do Banco de Dados

29
Banco de Dados Oracle
  • SGA - Cache de Buffer do Banco de Dados
  • Quando uma consulta é processada, o processo do
    servidor Oracle consulta os blocos necessários no
    Cache de Buffer do Banco de Dados.
  • Se o bloco não é encontrado nesse cache, o
    processo do servidor lê o bloco no arquivo de
    dados e coloca uma cópia no Cache de Buffer do
    Banco de Dados.
  • Como as solicitações subseqüentes do mesmo bloco
    podem encontrar esse bloco na memória, talvez
    elas não precisem de leituras físicas.
  • O servidor Oracle usa um algoritmo LRU.

30
Banco de Dados Oracle
  • SGA - Buffer de Redo Log

31
Banco de Dados Oracle
  • SGA - Buffer de Redo Log
  • O Buffer de Redo Log é um buffer circular que
    contém alterações feitas em blocos de arquivos de
    dados.
  • As entradas de redo contêm as informações
    necessárias para recriar os dados anteriores às
    alterações feitas pelas operações INSERT, UPDATE,
    DELETE, CREATE, ALTER ou DROP.
  • O objetivo principal é a recuperação.

32
Banco de Dados Oracle
  • SGA - Large Pool

33
Banco de Dados Oracle
  • SGA - Large Pool
  • Área de memória opcional da SGA. Usado para
  • Memória de sessão para o servidor compartilhado.
  • Processos do servidor de E/S.
  • Operações de backup e restauração ou RMAN.
  • Pode ser dimensionado dinamicamente com
    LARGE_POOL_SIZE.

34
Banco de Dados Oracle
  • SGA - Program Global Area

35
Banco de Dados Oracle
  • SGA - Program Global Area
  • A PGA (Program Global Area ou Process Global
    Area) é uma região da memória que contém os dados
    e as informações de controle de um único processo
    do servidor ou de um único processo de segundo
    plano.
  • Alocada quando um processo é criado.

36
Banco de Dados Oracle
  • SGA - Program Global Area
  • Desalocada quando o processo é encerrado.
  • Usada somente por um processo ao contrário da SGA.

37
Banco de Dados Oracle
  • SGA - Processos de Segundo Plano

38
Banco de Dados Oracle
  • SGA - Processos de Segundo Plano
  • A arquitetura Oracle tem cinco processos de
    segundo plano obrigatórios DBWn, PMON, CKPT,
    LGWR, SMON.
  • Além da lista obrigatória, o Oracle tem vários
    processos de segundo plano opcionais iniciados
    quando sua respectiva opção é usada. ExAdvanced
    Queuing, Real Application Clusters, Shared
    Server, Advanced Replication, etc.

39
Banco de Dados Oracle
  • SGA - DBWn (Database Writer)

40
Banco de Dados Oracle
  • SGA - DBWn (Database Writer)
  • Grava as alterações feitas no Cache de Buffer do
    Banco de Dados nos arquivos de Dados.
  • Isto ocorre quando
  • Não há buffers livres.
  • Os buffers sujos atingem um limite.
  • Ocorre um checkpoint.
  • Etc.

41
Banco de Dados Oracle
  • SGA - LGWR (Log Writer)

42
Banco de Dados Oracle
  • SGA - LGWR (Log Writer)
  • O LGWR grava
  • No commit
  • Quando 1/3 está cheio
  • Quando há 1 MB de redo
  • A cada 3 segundos
  • Antes que o DBWn grave

43
Banco de Dados Oracle
  • SGA - SMON (System Monitor)

44
Banco de Dados Oracle
  • SGA - SMON (System Monitor)
  • Responsabilidades
  • Recuperação de instância
  • Aglutina o espaço livre (arquivos de dados)
  • Desaloca segmentos temporários (arquivos de
    dados)

45
Banco de Dados Oracle
  • SGA - PMON (Processor Monitor)

46
Banco de Dados Oracle
  • SGA - PMON (Processor Monitor)
  • Realiza uma limpeza após falhas de processos por
    meio de
  • Faz rollback da transação atual do usuário
  • Libera todos os bloqueios de tabela ou linha
    mantidos no momento
  • Libera outros recursos reservados pelo usuário no
    momento
  • Etc.

47
Banco de Dados Oracle
  • SGA - CKPT (Checkpoint)

48
Banco de Dados Oracle
  • SGA - CKPT (Checkpoint)
  • Responsável por
  • Sinalizar o DBWn em checkpoints
  • Atualizar as informações de ckeckpoint nos
    cabeçalhos dos arquivos de dados.
  • Atualizar as informações de ckepoints nos
    arquivos de controle.
Write a Comment
User Comments (0)
About PowerShow.com