Вы находитесь на странице: 1из 48

Banco de Dados

Oracle

AESO
Banco de Dados Oracle
Viso Geral dos Componentes Principais
da Arquitetura Oracle
Banco de Dados Oracle
Servidor Oracle

o nome que a Oracle deu ao seu SGBD. Ele


consiste de uma Instncia e um Banco de
Dados Oracle.
Banco de Dados Oracle
Instncia Oracle

uma forma de acessar um Banco de Dados


Oracle.
Sempre abre um nico Banco de Dados.
Consiste em estruturas de memrias e
processos de segundo plano (background).

Estruturas de Memria

Estruturas de Processos
de Segundo Plano
Banco de Dados Oracle
Instncia Oracle

preciso iniciar a instncia para acessar os dados


contidos no banco de dados.

Sempre que uma instncia iniciada, uma SGA


(System Global Area) alocada e os processos de
segundo plano do Oracle tambm so iniciados.

Os processos de segundo plano executam


funes para o processo que faz a chamada. Ex:
operaes de entrada/sada (E/S)
Banco de Dados Oracle
Banco de Dados Oracle

um conjunto de dados tratados como uma


unidade.
Consiste em trs tipos de arquivos
Banco de Dados Oracle
Arquivos do Banco de Dados:
Os arquivos de dados
Contm os dados reais do banco de dado

Os arquivos de redo log on-line


Contm um registro das alteraes feitas no
banco de dados para permitir a recuperao dos
dados em caso de falha

Os arquivos de controle
Contm as informaes necessrias para manter
e verificar integridade do banco de dados
Banco de Dados Oracle
Outras Estruturas Importantes de Arquivos:
O Servidor Oracle tambm usa outros arquivos que no
fazem parte do banco de dados:
Os Arquivos de Parmetros
Define as caractersticas de uma instncia Oracle.
Ex: parmetros que dimensionam algumas das
estruturas da memria na SGA.

O Arquivo de Senhas
Autentica os usurios com privilgios para iniciar e
desativar uma instncia Oracle.

Os Arquivos de Redo Log Arquivados


So cpias off-line dos arquivos de redo log on-line
que
podem ser necessrios para a recuperao aps
falhas de mdia.
Banco de Dados Oracle
Processos da Arquitetura Oracle:

Processos do usurio e do servidor.


Os processos do usurio e do servidor so os
principais processos envolvidos na execuo de
uma instruo SQL. No entanto, outros processos
(obrigatrios) podem ajudar o servidor a concluir
o processamento da instruo SQL.
Outros processos:
Existem vrios outros processos usados por
outras opes, como: Advanced Queuing, Real
Application Clusters, Shared Server, Advanced
Replication, etc.
Banco de Dados Oracle
Estabelecendo uma Conexo e Criando uma
Sesso
Banco de Dados Oracle
Estabelecendo uma Conexo e Criando uma
Sesso
Antes de submeterem instrues SQL a um
banco de dados Oracle, os usurios devem se
conectar a uma instncia.
O usurio inicia uma ferramenta, como o
SQL*Plus, ou executa uma aplicao. Essa
ferramenta ou essa aplicao executada
como um processo do usurio.
Na maioria das configuraes bsicas,
quando um usurio efetua logon no servidor
Oracle, criado um processo no computador
que executa esse servidor. Esse processo
Banco de Dados Oracle
Estabelecendo uma Conexo e Criando uma
Sesso
Conexo
Uma conexo um caminho de comunicao
entre um processo do usurio e um servidor
Oracle.

H trs maneiras de conexo para o usurio:



Logon no SO onde est instalado o Servidor Oracle.
Conexo via rede (duas camadas)
Conexo via rede (trs camadas)
Banco de Dados Oracle
Estabelecendo uma Conexo e Criando uma
Sesso
A conexo pode ser :

Dedicada - Para cada processo do usurio


se tem um processo de servidor.
Compartilhada - Um processo de servidor
atende a vrios processos de usurio.

Sesses
Uma sesso uma conexo especfica de um
usurio com um servidor Oracle.
Banco de Dados Oracle
Estrutura Lgica e Fsica da Arquitetura
Oracle
Banco de Dados Oracle
Estrutura Lgica e Fsica da Arquitetura Oracle

A arquitetura do banco de dados Oracle inclui


estruturas lgicas e fsicas que formam o banco
de dados.
A estrutura fsica
Inclui os arquivos que formam o banco de dados
(3 tipos de arquivos).

A estrutura lgica
Inclui tablespaces, segmentos, extenses e
blocos de dados.
Banco de Dados Oracle
Estrutura Lgica e Fsica da Arquitetura
Oracle

Existe a seguinte hierarquia de estruturas


lgicas:
Um banco de dados Oracle contm no
mnimo um tablespace.
Um tablespace contm um ou mais
segmentos.
Um segmento composto de extenses.
Uma extenso composta de blocos lgicos.
Um bloco a menor unidade para operaes
de leitura e gravao.
Banco de Dados Oracle
Estrutura Lgica e Fsica da Arquitetura
Oracle
Banco de Dados Oracle
Estrutura Lgica
Banco de Dados Oracle
Estrutura Fsica

A estrutura fsica de um banco de dados


Oracle inclui trs tipos de arquivos:
Banco de Dados Oracle
Estrutura da Memria
Banco de Dados Oracle
Estrutura da Memria

A estrutura da memria do Oracle consiste


em duas reas denominadas:
SGA System Global Area (alocada na
inicializao da instncia)
PGA Program Global Area (alocada quando um
processo de servidor iniciado)
Banco de Dados Oracle
System Global Area

Ela usada para armazenar informaes do


banco de dados compartilhadas pelos
processos do banco de dados.

Consiste em vrias estruturas de memria:


Shared Pool
Cache de Buffer do Banco de Dados
Buffer de Redo Log
etc
Banco de Dados Oracle
System Global Area

A partir do 9i a SGA dinmica sendo


dimensionada pelo parmetro
SGA_MAX_SIZE.
Banco de Dados Oracle
SGA - Shared Pool

Usado para armazenar:


As instrues SQL executadas mais
recentemente.
As definies de dados usadas mais
recentemente.
Banco de Dados Oracle
SGA - Shared Pool

Dimensionado pelo parmetro


SHARED_POOL_SIZE

Ele consiste em duas estruturas principais de


memrias relacionadas ao desempenho:
Cache de Biblioteca
Cache de Dicionrio de Dados
Banco de Dados Oracle
SGA Shared Pool - Cache de Biblioteca

Armazena as informaes sobre as instrues


SQL e PL/SQL mais usadas recentemente.
Permite o compartilhamento de instrues
usadas normalmente.
gerenciado por um algoritmo LRU (Least
Recently Used).
Consiste em duas estruturas de memria:
rea SQL compartilhada
rea PL/SQL compartilhada
Tamanho determinado pelo dimensionamento
da SHARED POOL.
Banco de Dados Oracle
SGA Shared Pool - Cache de Dicionrio de
Dados

As informaes sobre o banco de dados (dados


de contas de usurios, nomes de arquivos de
dados, nomes de segmentos, locais de
extenses, descries de tabelas e privilgios
de usurios) so armazenadas nas tabelas do
dicionrio de dados.

Quando o servidor necessita dessas


informaes, as tabelas do dicionrio de dados
so lidas e os dados retornados so
armazenados no Cache de Dicionrio de Dados.
Banco de Dados Oracle
SGA - Cache de Buffer do Banco de Dados
Banco de Dados Oracle
SGA - Cache de Buffer do Banco de Dados

Quando uma consulta processada, o processo


do servidor Oracle consulta os blocos
necessrios no Cache de Buffer do Banco de
Dados.
Se o bloco no encontrado nesse cache, o
processo do servidor l o bloco no arquivo de dados
e coloca uma cpia no Cache de Buffer do Banco de
Dados.

Como as solicitaes subseqentes do mesmo


bloco podem encontrar esse bloco na memria,
talvez elas no precisem de leituras fsicas.

O servidor Oracle usa um algoritmo LRU.


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

O Buffer de Redo Log um buffer circular que


contm alteraes feitas em blocos de
arquivos de dados.
As entradas de redo contm as informaes
necessrias para recriar os dados anteriores s
alteraes feitas pelas operaes INSERT,
UPDATE, DELETE, CREATE, ALTER ou DROP.

O objetivo principal a recuperao.


Banco de Dados Oracle
SGA - Large Pool
Banco de Dados Oracle
SGA - Large Pool

rea de memria opcional da SGA. Usado


para:
Memria de sesso para o servidor
compartilhado.
Processos do servidor de E/S.
Operaes de backup e restaurao ou RMAN.

Pode ser dimensionado dinamicamente com


LARGE_POOL_SIZE.
Banco de Dados Oracle
SGA - Program Global Area
Banco de Dados Oracle
SGA - Program Global Area

A PGA (Program Global Area ou Process


Global Area) uma regio da memria que
contm os dados e as informaes de
controle de um nico processo do servidor
ou de um nico processo de segundo plano.

Alocada quando um processo criado.


Banco de Dados Oracle
SGA - Program Global Area

Desalocada quando o processo encerrado.

Usada somente por um processo ao


contrrio da SGA.
Banco de Dados Oracle
SGA - Processos de Segundo Plano
Banco de Dados Oracle
SGA - Processos de Segundo Plano

A arquitetura Oracle tem cinco processos de


segundo plano obrigatrios: DBWn, PMON,
CKPT, LGWR, SMON.

Alm da lista obrigatria, o Oracle tem


vrios processos de segundo plano opcionais
iniciados quando sua respectiva opo
usada. Ex:Advanced Queuing, Real
Application Clusters, Shared Server,
Advanced Replication, etc.
Banco de Dados Oracle
SGA - DBWn (Database Writer)
Banco de Dados Oracle
SGA - DBWn (Database Writer)

Grava as alteraes feitas no Cache de


Buffer do Banco de Dados nos arquivos de
Dados.

Isto ocorre quando:


No h buffers livres.
Os buffers sujos atingem um limite.
Ocorre um checkpoint.
Etc.
Banco de Dados Oracle
SGA - LGWR (Log Writer)
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
Banco de Dados Oracle
SGA - SMON (System Monitor)
Banco de Dados Oracle
SGA - SMON (System Monitor)

Responsabilidades:
Recuperao de instncia
Aglutina o espao livre (arquivos de
dados)
Desaloca segmentos temporrios
(arquivos de dados)
Banco de Dados Oracle
SGA - PMON (Processor Monitor)
Banco de Dados Oracle
SGA - PMON (Processor Monitor)

Realiza uma limpeza aps falhas de


processos por meio de:
Faz rollback da transao atual do usurio
Libera todos os bloqueios de tabela ou linha
mantidos no momento
Libera outros recursos reservados pelo usurio
no momento
Etc.
Banco de Dados Oracle
SGA - CKPT (Checkpoint)
Banco de Dados Oracle
SGA - CKPT (Checkpoint)

Responsvel por:
Sinalizar o DBWn em checkpoints
Atualizar as informaes de ckeckpoint nos
cabealhos dos arquivos de dados.
Atualizar as informaes de ckepoints nos
arquivos de controle.

Вам также может понравиться