Componentes Arquitetônicos de um Banco de Dados Oracle

Slides:



Advertisements
Apresentações semelhantes
Coerência de Cache em Multiprocessadores
Advertisements

Banco de Dados I Aula 20.
Operadores e Funções do LINGO
14/10/09 Uma animação possui: Início; Passo; Fim; 1.
Sistemas de Informação Redes de Computadores
© Marcelo Bezerra de AlcântaraBanco de Dados II - Transação - 1 Disciplina Banco de Dados II Gerenciamento de transações Msc, Marcelo Bezerra de Alcântara.
Motor de Armazenamento
Gerenciamento do Disco Gerenciamento do Buffer
Cap Recuperação Pretende garantir a atomicidade e durabilidade das transações. Atomicidade => É responsabilidade do gerente de recuperação voltar.
Arquitetura de Sistemas Operacionais
Sumário 1 SQL Embutida 2 Processamento de Consultas
1 Complexidade de Algoritmos Complexidade de pior caso Complexidade de melhor caso de uso bem menos freqüente em algumas situações específicas Complexidade.
ODBC.
1 Objetos Relacionados a um banco de dados. 2 Introdução Visual Basic dispõe de um conjunto de objetos, que através de suas propriedades e métodos, nos.
Banco de Dados Oracle AESO.
Capítulo 6 Sistemas de Arquivos 6.1 Arquivos 6.2 Diretórios
Estudo de Caso 1: UNIX e LINUX
Capítulo 1 Introdução 1.1 O que é um sistema operacional
Sistemas Operacionais
Org. e Projeto de Banco de Dados
Daniel Paulo Introdução O tempo de resposta de um sistema é determinado pelo tempo que ele leva para retornar aos usuários às.
Estruturas de Controle
Daniel Paulo Conceitos de Banco de Dados - Processamento de Transações de Dados - Gerenciamento de dados OLAP/OLTP - Alto desempenho.
Prof. Alexander Roberto Valdameri
Prof. Alexander Roberto Valdameri
Auditoria de Segurança da Informação
Fundamentos de Banco de Dados Prof. Alexander Roberto Valdameri
Star Schema Benchmark SSB
Bancos de Dados – SQL – parte 1
RECUPERAÇÃO APÓS FALHA
Classes e objetos Arrays e Sobrecarga
Classes e objetos P. O. O. Prof. Grace.
MetaLib - Visão Geral 1º Encontro de Usuários ALEPH 30 Nov. e 1º Dez. de 2006 Caio Pellegatti.
Sistemas Operacionais
Educação Profissional Técnica de Nível Médio em Informática
Python Persistência de Dados
IDENTIFICAÇÃO, MODELAGEM E ANÁLISE DE PROCESSOS Luís Gonzaga Trabasso
Sistemas Operacionais
Análise Preliminar de Riscos
Arquitetura de Sistemas Operacionais – Machado/Maia 10/1 Arquitetura de Sistemas Operacionais Francis Berenger Machado Luiz Paulo Maia Capítulo 10 Gerência.
Sandro Gonçalves Murara
SISTEMAS OPERACIONAIS
Banco de Dados II Prof. Antônio Cordeiro.
Sistemas Operacionais
Entendendo as definições de classe
EXERCÍCIOS PARA GUARDA-REDES
Prof. Alessandro Gonçalves
GERENCIAMENTO DE REDES UTILIZANDO O PROTOCOLO SNMP
SISTEMAS DE GERENCIAMENTO DE BANCO DE DADOS Hélder Lima e Silva - hmls
Conteúdo Processos e threads Partes do processo
Projeto de Banco de Dados
Compras - Pedido de Compra
1 2 Observa ilustração. Cria um texto. Observa ilustração.
Capítulo 5 Garbage Collector.
Capítulo 1 Introdução 1.1 O que é um sistema operacional
Exercícios SGBD - CESPE
FaculdadePitágoras Curso Superior de Tecnologia: Banco de Dados Disciplina: Sistemas Gerenciadores de Banco de Dados Prof.: Fernando Hadad Zaidan.
Controle de concorrência
Banco de Dados Parte 04 Ceça. Ceça Moraes 2 Conteúdo  Os três níveis da arquitetura  Mapeamentos  Arquitetura cliente-servidor.
UML - Unified Modeling Language
Módulo Compras Relatórios e Relações 1. Objetivo 2 Conhecer os relatórios e as relações do sistema disponibilizadas no módulo Compras.
Planilha Eletrônica - Excel
Bancos de Dados Estrutura e Funcionamento de um SGBD
Falhas.
Curso de Pós Graduação em Banco de Dados Procedimentos de Contigência e Alta Disponibilidade Prof.: MSc Flávio Gonçalves da Rocha.
FaculdadePitágoras Curso Superior de Tecnologia: Banco de Dados Sistemas para Internet Disciplina: Sistemas Gerenciadores de Banco de Dados Prof.: Fernando.
Controle de Concorrência
Daniel Paulo Introdução O tempo de resposta de um sistema é determinado pelo tempo que ele leva para retornar aos usuários às.
Daniel Paulo SQL Server 2014 Módulo II Daniel Paulo
UCSal – Bacharelado em Informática
Transcrição da apresentação:

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

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 Java Pool Large Pool PGA PMON SMON DBWR LGWR CKPT Others Arquivos de Dados Arquivos de Controle Arquivos de Redo Arquivo de Parâmetros Log Arquivados Arquivo de Senha Database Administração de Bancos de Dados - Prof. Umberto Marrone

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 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 Database Buffer Cache Redo Log Buffer Library Cache Data Dictionary Cache Java Pool Large 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 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 Servidor Oracle Usuário do Banco Administração de Bancos de Dados - Prof. Umberto Marrone

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

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

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

Processos de Background Responsáveis pela interação entre estruturas de memória e físicas Obrigatórios DBWn PMON CKPT LGWR SMON Opcionais: ARCn LMDn QMNn CJQ0 LMON RECO Dnnn LMS Snnn LCKn Pnnn Administração de Bancos de Dados - Prof. Umberto Marrone

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

Log Writer (LGWR) LGWR escreve: Em um commit Quando 1/3 cheio Instance 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 SGA Redo Log Buffer DBWn LGWR Redo Log files Data files Control files Database Administração de Bancos de Dados - Prof. Umberto Marrone

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

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

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

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

Exercícios Administração de Bancos de Dados - Prof. Umberto Marrone Exercício 1: Componentes Arquitetônicos do Oracle 1 Qual das seguintes afirmações é verdadeira? a Um Servidor Oracle é uma coleção de dados consistindo de três tipos de arquivo. b Um usuário estabelece uma conexão com o banco de dados através da inicialização da Instância. c Uma conexão é um caminho de comunicação entre o Servidor Oracle e a Instância Oracle. d Uma sessão é inicializada quando um usuário é validado pelo Servidor Oracle. 2 Qual das seguintes áreas de memória não faz parte da SGA? a Cache de Buffer de Dados b PGA c Buffer de Redo Log d Pool Compartilhado 3 Quais afirmações sobre o Pool Compartilhado são verdadeiras? Escolha apenas duas. a O Pool Compartilhado é formado pela Cache de Biblioteca, Cache de Dicionário de Dados, Área SQL Compartilhada, Pool Java e Pool Grande. b O Pool Compartilhado é utilizado para armazenar os comandos SQL mais recentemente executados. c O Pool Compartilhado é utilizado por um objeto que pode ser compartilhado globalmente. d A Cache de Biblioteca é formada por uma Área SQL Compartilhada e uma Área PL/SQL Compartilhada. Administração de Bancos de Dados - Prof. Umberto Marrone

Exercícios Administração de Bancos de Dados - Prof. Umberto Marrone 4 Qual das seguintes áreas de memória é utilizada para armazenar informações contidas no Dicionário de Dados? a Cache de Buffer de Dados b PGA c Buffer de Redo Log d Pool Compartilhado 5 O objetivo principal do Buffer de Redo Log é registrar todas as alterações realizadas no banco de dados. a Verdadeiro b Falso 6 A PGA é uma região de memória que contém dados e informações de controle utilizadas pelos múltiplos Processos Servidores e de Background. 7 Quais dos seguintes processos são inicializados quando uma Instância Oracle é inicializada? a Processs Usuários b Processos Servidores c Processos de Background 8 Cite os cinco Processos de Background obrigatórios. ________________________________________ Administração de Bancos de Dados - Prof. Umberto Marrone