arquitetura oracle

Upload: smaylle-nobre

Post on 07-Apr-2018

224 views

Category:

Documents


0 download

TRANSCRIPT

  • 8/3/2019 Arquitetura Oracle

    1/33

    Explorando a Arquitetura doOracle Database

  • 8/3/2019 Arquitetura Oracle

    2/33

    Arquitetura Oracle

  • 8/3/2019 Arquitetura Oracle

    3/33

    Arquitetura Oracle

    O RDBMS (Relational Database ManagerSystem) Oracle um sistema degerenciamento de banco de dados relacional.

    O servidor Oracle consiste de:- Instncia Oracle (Oracle Instance)- Arquivos do Banco de Dados (DatabaseFiles)

  • 8/3/2019 Arquitetura Oracle

    4/33

    Arquitetura Oracle

  • 8/3/2019 Arquitetura Oracle

    5/33

    Arquitetura Oracle

    Arquivos do Banco de Dados Oracle

    - Um banco de dados Oracle (Database files) so umconjunto de dados tratados como uma unidade.

    - Um banco de dados possui uma estrutura lgica efsica.- A estrutura fsica do banco de dados um conjunto dearquivos do sistema operacional. Um banco de dadosOracle eles so compostos de trs tipos de arquivos:

    - Arquivos de Dados (Data Files)- Arquivos de Logs (Redo Logs)- Arquivos de Controle (Control Files)

  • 8/3/2019 Arquitetura Oracle

    6/33

    Arquitetura Oracle

    Arquivos de Dados (Data Files)

    Os arquivos de dados contm os dados do banco, e eles soarmazenados em tabelas definidas pelo usurio. Alm disto,nos arquivos de dados tambm so armazenados o dicionriode dados, as imagens anteriores de dados alterados, ndices eoutros tipos de estruturas. Um banco de dados Oracle deveconter no mnimo um arquivo de dados.

  • 8/3/2019 Arquitetura Oracle

    7/33

    Arquitetura Oracle

    Caractersticas dos Arquivos de Dados:- Os arquivos de dados podem estar associados aapenas um banco de dados Oracle.

    - Um ou mais arquivos de dados formam umaunidade lgica chamada tablespace.

    Redo Logs- Os redo logs armazenam as mudanas efetuadas no

    banco de dados para possibilitar a recuperao dosdados em caso de falhas. Um banco de dados Oracledeve possuir no mnimo dois arquivos de redo log.

  • 8/3/2019 Arquitetura Oracle

    8/33

    Arquitetura Oracle

    Arquivos de Controle (Control Files)- Os arquivos de controle contm asinformaes necessrias para manter e

    verificar a integridade do banco de dados. Porexemplo, o arquivo de controle utilizado paraidentificar os arquivos de dados e os arquivos

    de redo log. Um banco de dados Oracle devepossuir no mnimo um arquivo de controle.

  • 8/3/2019 Arquitetura Oracle

    9/33

    Arquitetura Oracle Outros Arquivos Importantes

    O servidor Oracle tambm faz uso de outros arquivos queno fazem parte do banco de dados:

    Arquivo de Parmetros (Parameter File)Define as caractersticas da instncia Oracle. Por exemplo, ele

    contm parmetros que definem o tamanho das estruturas dememria da SGA

    Arquivo de Senhas (Password File)Faz a validao de quais usurios tem permisso de fazer start

    up e shutdown na instncia Oracle Arquivos de Redo Log Arquivados (Archived Redo Log Files)

    So cpias off-line dos arquivos de redo log, que podem sernecessrios em um processo de recuperao de falhas de mdia

  • 8/3/2019 Arquitetura Oracle

    10/33

    Arquitetura Oracle

  • 8/3/2019 Arquitetura Oracle

    11/33

    Arquitetura Oracle

    Instncia Oracle (Oracle Instance)

    Uma Instncia Oracle consiste na estrutura dememria chamada de SGA (System Global Area) enos processos em segundo plano (background

    processes) utilizados para gerenciar o banco de

    dadosUma Instncia Oracle somente pode abrir eutilizar um banco de dados de cada vez

  • 8/3/2019 Arquitetura Oracle

    12/33

    Arquitetura Oracle

    rea Global do Sistema (System Global Area) rea de memria utilizada para armazenar as

    informaes do banco de dados que so

    compartilhadas pelos processos Contm dados e informaes de controle e alocada na

    memria do computador onde o servidor Oracle estaoperando

    Dinmica e definida pelo parmetro SGA_MAX_SIZE

    Definida em pores (granule)

    Consiste de diversas estruturas de memria

  • 8/3/2019 Arquitetura Oracle

    13/33

    Arquitetura Oracle

    Oracle Database Memory Structures Shared Pool

    utilizada para armazenar os comandos SQL executadosrecentemente, e as informaes dodicionrio de dados. Estes comandos SQL podem ser solicitados

    por processos do usurio ou no caso de stored procedures, lidosdo dicionrio de dados. Database Buffer Cache

    utilizada para armazenar os dados recentemente utilizados. Osdados so lidos e gravados nos arquivos de dados

    Redo Log Bufferutilizado para armazenar as alteraes feitas no banco de dadospelos processos e servidores pelos processos em segundo plano.

  • 8/3/2019 Arquitetura Oracle

    14/33

    Arquitetura Oracle

    Java PoolUtilizado para armazenar cdigo Java.

    Large Poolutilizado para armazenar grandes estruturas de

    memria que no esto relacionadasdiretamente ao processamento de instrues SQL,como por exemplo blocos de dadoscopiados durante operaes de backup e recovery.

    Streams Poolutilizado para manter estruturas de dados e controledo recurso Oracle Streams

  • 8/3/2019 Arquitetura Oracle

    15/33

    Arquitetura Oracle

    Processos em Segundo Plano

    - Os processos em segundo plano (background processes)de uma instncia executam funes comuns que sonecessrias para atender as solicitaes de servio deusurios simultneos, sem comprometer a integridade e odesempenho do sistema.- Eles consolidam funes que, de outra forma, seriamtratadas por diversos programas Oracle executados paracada usurio.

    - Ele executam tarefas de I/O e monitoram outros processosOracle para oferecer maior paralelismo, o que aumenta odesempenho e a confiabilidade.

  • 8/3/2019 Arquitetura Oracle

    16/33

    Arquitetura Oracle

    - Dependendo da configurao, uma instncia Oracle pode incluirvrios processos de segundo plano, no entanto cada instnciainclui cinco processos de segundo plano fundamentais. So Eles: O Database Writer (DBW0) responsvel por gravar dados alterados

    do buffer cache do banco de dados nos arquivos de dados.

    O Log Writer (LGWR) grava as alteraes registradas no buffer deredo log nos arquivos de redo log. O Monitor de Sistema (SMON, System Monitor) verifica a consistncia

    no banco de dados e, se necessrio, inicia a recuperao do banco dedados quando ele aberto.

    O Monitor de Processo (PMON, Process Monitor) disponibilizarecursos se um dos processos Oracle falhar.

    O Checkpoint Process (CKPT) responsvel pela atualizao dasinformaes de status do banco de dados nos arquivos de controle enos arquivos de dados, sempre que as alteraes efetuadas no cachede buffer ficam registradas no banco de dados de forma permanente.

  • 8/3/2019 Arquitetura Oracle

    17/33

    Arquitetura Oracle

  • 8/3/2019 Arquitetura Oracle

    18/33

    Arquitetura Oracle

    O Database Writer (DBW0) grava os bufferssujos do Buffer Cache do banco de dados nosarquivos de dados. Ele garante que um

    nmero suficiente de buffers livres estejadisponvel no Buffer Cache de buffer. Odesempenho do banco de dados melhorado,

    porque os processos de servidor efetuamalteraes somente no cache de buffer.

  • 8/3/2019 Arquitetura Oracle

    19/33

    Arquitetura Oracle

  • 8/3/2019 Arquitetura Oracle

    20/33

    Arquitetura Oracle

    O LGWR executa gravaes seqenciais do bufferde redo log no arquivo de redo log nas situaes aseguir: Quando uma transao efetua commit.

    Quando 1/3 do buffer de redo log est cheio. Quando h mais de um megabyte de alteraes

    registradas no buffer de redo log. Antes de o DBW0 gravar blocos modificados do cache

    de buffer do banco de dados nos arquivos de dados. Como o redo necessrio para a recuperao, o LGWR

    confirma o COMMIT somente aps o redo estargravado em disco

  • 8/3/2019 Arquitetura Oracle

    21/33

    Arquitetura Oracle

    Se a instncia Oracle falhar, qualquerinformao na SGA que no foi gravada emdisco se perder. Por exemplo, a falha do

    sistema operacional causa uma falha nainstncia. Depois da perda da instncia, o

    processo de segundo plano SMONexecutar

    automaticamente a recuperao da instnciaquando o banco de dados for reaberto.

  • 8/3/2019 Arquitetura Oracle

    22/33

    Arquitetura Oracle

    O processo de segundo plano PMONefetuauma limpeza aps falha dos processos daseguinte maneira:

    - Submete a rollback a transao atual dousurio- Libera todos bloqueios de tabela ou linha que

    existem no momento- Libera outros recursos que estejamreservados pelo usurio

  • 8/3/2019 Arquitetura Oracle

    23/33

    Arquitetura Oracle

    Durante um checkpoint:

    Vrios buffers de banco de dados sujos includosno log que est sendo submetido a um checkpoint

    so gravados nos arquivos de dados pelo DBWn. O processo de segundo plano de checkpoint CKPT

    atualiza os cabealhos de todos os arquivos dedados e arquivos de controle para que reflitam aconcluso com xito.

  • 8/3/2019 Arquitetura Oracle

    24/33

    Arquitetura Oracle

  • 8/3/2019 Arquitetura Oracle

    25/33

    Arquitetura Oracle

    Conectando a uma Instancia ORACLE

    Conexo, comunicao entre o User process e o

    Server process

    Sesso, conexo especifica entre o User e a

    Instancia atraves do User process.

  • 8/3/2019 Arquitetura Oracle

    26/33

    Arquitetura Oracle

  • 8/3/2019 Arquitetura Oracle

    27/33

    Arquitetura Oracle

  • 8/3/2019 Arquitetura Oracle

    28/33

    Arquitetura Oracle

    O Oracle armazena dados logicamente em

    tablespaces e fisicamente em arquivos de

    dados (datafiles). Apesar dos arquivos de

    dados e os tablespaces estarem muito "inter-relacionados", os mesmos possuem diferenasimportantes:

    Um banco de dados Oracle consiste em uma ou maisunidades de armazenamento lgicas denominadas

    tablespaces, que armazenam coletivamente todos os

    dados do banco de dados.

  • 8/3/2019 Arquitetura Oracle

    29/33

    Arquitetura Oracle

    Cada tablespace em um banco de dados Oracle

    consiste em um ou mais arquivos denominados

    arquivos de dados (datafiles), que so estruturas

    fsicas compatveis com o sistema operacional noqual o Oracle executado.

    Os dados de um banco de dados so armazenados

    coletivamente nos arquivos de dados que

    constituem cada tablespace do banco de dados.

  • 8/3/2019 Arquitetura Oracle

    30/33

    Arquitetura Oracle

    Como um banco de dados um conjunto de arquivosde dados, muito importante entender como um

    banco de dados Oracle agrupa esses arquivos. Como

    dito anteriormente, o Oracle faz isso sob a proteo

    de um objeto de banco de dados chamado

    tablespace. Antes de poder inserir dados em um

    banco de dados Oracle, primeiro necessrio criar

    um tablespace e depois uma tabela dentro desse

    tablespace que conter os dados.

  • 8/3/2019 Arquitetura Oracle

    31/33

    Arquitetura Oracle

    Podemos observar que na criao de um

    banco de dados utilizando o DBCA, o Oracle

    como padro sempre cria um tablespace de

    dados chamado USERS. Ao criar uma tabela necessrio incluir todas as informaes sobre

    o tipo de dados que deseja manter. O cdigo

    abaixo, gerado para criar a tabela CLIENTE,ilustra como o Oracle armazena informaes

    sobre o tipo de dado que ir registrar:

  • 8/3/2019 Arquitetura Oracle

    32/33

    Arquitetura Oracle

  • 8/3/2019 Arquitetura Oracle

    33/33

    Arquitetura Oracle