A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Capítulo I Componentes Arquitetônicos de um Banco de Dados Oracle.

Apresentações semelhantes


Apresentação em tema: "Capítulo I Componentes Arquitetônicos de um Banco de Dados Oracle."— Transcrição da apresentação:

1 Capítulo I Componentes Arquitetônicos de um Banco de Dados Oracle

2 Administração de Bancos de Dados - Prof. Umberto Marrone 2 Arquivo de Senha Instância SGA Redo Log Buffer Shared Pool Data Dictionary Cache Library Cache DBWRSMONPMONCKPTLGWROthers Processo Usuário Processo Servidor PGA Arquivos de Controle Arquivos de Dados Database Database Buffer Cache Arquivos de Redo Java Pool Large Pool Arquivo de Parâmetros Log Arquivados Arquitetura de um Banco Oracle

3 Administração de Bancos de Dados - Prof. Umberto Marrone 3 Servidor Oracle Um Servidor Oracle: –É um SGBD –Consiste de uma Instância Oracle e de um Banco de Dados Oracle Servidor Oracle

4 Administração de Bancos de Dados - Prof. Umberto Marrone 4 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 Background process structures Memory structures Instância SGA Redo Log Buffer Shared Pool Data Dictionary Cache Library Cache DBWRSMONPMONCKPTLGWROthers Database Buffer Cache Java Pool Large Pool

5 Administração de Bancos de Dados - Prof. Umberto Marrone 5 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 Sessão Criada Usuário do Banco Processo Usuário Processo Servidor Conexão Estabelecida Servidor Oracle

6 Administração de Bancos de Dados - Prof. Umberto Marrone 6 Banco de Dados Oracle Coleção de dados Consiste de três tipos de arquivo Arquivo de Senha Arquivo de Parâmetros Log Arquivado Control files Data files Redo Log files Banco Oracle

7 Administração de Bancos de Dados - Prof. Umberto Marrone 7 Estrutura Física A estrutura física inclui três tipos de arquivo: –Arquivos de Controle –Arquivos de Dados –Arquivos de Redo Log Online Arquivos de Controle Arquivos de Dados Header Arquivos de Redo Log

8 Administração de Bancos de Dados - Prof. Umberto Marrone 8 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

9 Administração de Bancos de Dados - Prof. Umberto Marrone 9 Á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)

10 Administração de Bancos de Dados - Prof. Umberto Marrone 10 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

11 Administração de Bancos de Dados - Prof. Umberto Marrone 11 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 Data Dictionary Cache Library Cache ALTER SYSTEM SET SHARED_POOL_SIZE = 64M;

12 Administração de Bancos de Dados - Prof. Umberto Marrone 12 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

13 Administração de Bancos de Dados - Prof. Umberto Marrone 13 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

14 Administração de Bancos de Dados - Prof. Umberto Marrone 14 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

15 Administração de Bancos de Dados - Prof. Umberto Marrone 15 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;

16 Administração de Bancos de Dados - Prof. Umberto Marrone 16 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

17 Administração de Bancos de Dados - Prof. Umberto Marrone 17 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

18 Administração de Bancos de Dados - Prof. Umberto Marrone 18 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

19 Administração de Bancos de Dados - Prof. Umberto Marrone 19 Á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 Processo Usuário PGA Processo Servidor

20 Administração de Bancos de Dados - Prof. Umberto Marrone 20 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

21 Administração de Bancos de Dados - Prof. Umberto Marrone 21 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 Database user Processo Servidor Processo Usuário Conexão Estabelecida

22 Administração de Bancos de Dados - Prof. Umberto Marrone 22 Processo Servidor Um programa que interage diretamente com o Servidor Oracle Responde solicitações geradas e retorna resultados Pode ser dedicado ou compartilhado Conexão Estabelecida Sessão Criada Database user Processo Usuário Processo Servidor Servidor Oracle

23 Administração de Bancos de Dados - Prof. Umberto Marrone 23 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

24 Administração de Bancos de Dados - Prof. Umberto Marrone 24 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 Control files Data files Redo Log files Database DBWn Database Buffer Cache

25 Administração de Bancos de Dados - Prof. Umberto Marrone 25 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 Control files Data files Redo Log files Database Redo Log Buffer DBWnLGWR

26 Administração de Bancos de Dados - Prof. Umberto Marrone 26 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

27 Administração de Bancos de Dados - Prof. Umberto Marrone 27 Process Monitor (PMON) Limpa processos falhos: –Realizando rollback de transações –Liberando bloqueios e recursos PGA area Instance SGA PMON

28 Administração de Bancos de Dados - Prof. Umberto Marrone 28 Checkpoint Funções: –Sinalizar DBWn de checkpoints –Atualizar o header dos Arquivos de Dados e o Arquivo de Controle com informações de checkpoint Control files Data files Redo Log files Database Instance SGA DBWnLGWRCKPT

29 Administração de Bancos de Dados - Prof. Umberto Marrone 29 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 Control files Data files Redo log files

30 Administração de Bancos de Dados - Prof. Umberto Marrone 30 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 Tablespace Datafile Segment BlocksExtent Segment

31 Administração de Bancos de Dados - Prof. Umberto Marrone 31 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

32 Administração de Bancos de Dados - Prof. Umberto Marrone 32 Exercícios

33 Administração de Bancos de Dados - Prof. Umberto Marrone 33 Exercícios

34 Administração de Bancos de Dados - Prof. Umberto Marrone 34 Exercícios


Carregar ppt "Capítulo I Componentes Arquitetônicos de um Banco de Dados Oracle."

Apresentações semelhantes


Anúncios Google