Sei sulla pagina 1di 3

Explorando a Arquitetura do Banco de Dados

Oracle
Um sistema gerenciador de banco de dados relacional Oracle
consiste de dois componentes-chave: A Instancia e o Banco de Dados.
Uma instancia consiste da Estrutura de Memria e os Processos de
Background. Quando voc inicia um banco de dados, o Oracle inicia a
instancia, e ento a instancia "monta" e conecta (ou abre) o banco de dados.
Enquanto a instancia transitria na memria do computador, o banco de
dados consiste de arquivos em discos permanentes.
Quando um usurio se conecta ao Oracle, o sistema cliente
executa um 'user process' (processo de usurio). Este user process no
computador cliente se conecta atravs da rede ou internet a um processo de
servidor (server process) rodando no banco de dados servidor. Este server
process, ento, executa as instrues SQL no servidor e retorna os resultados
atravs da rede ao seu user process parceiro no computador cliente. Em uma
arquitetura de trs nveis, o processo de usurio pode, na verdade, ser
programas em execuo em um servidor de aplicao tal como o Oracle
Application Server.
Independentemente, cada processo de servidor tem sua prpria
rea de memria NO compartilhada chamada de PGA (Program Global Area).
Um simples processo de servidor pode suportar: Um processo de usurio
(chamada Sigle-Server architecture) ou mais do que um processo de usurio
simultaneamente (chamada Shared Server architecture).

Estrutura de Memria
A Instancia consiste de dois componentes: A Estrutura de Memria
e os Processos de Background. A principal alocao de memria para a
instancia chamada de SGA (System Global Area). Ela pode ser decomposta
em mais detalhes, mas no mais alto nvel ela consiste de trs componentes
obrigatrios e trs componentes opcionais. Os trs componentes obrigatrios
so: Database Buffer Cache, Shared Pool e RedoLog Buffer. Os trs
componentes opcionais so: Large Pool, Java Pool e Streams Pool.
A SGA, o Database Buffer Cache, Shared Pool, Large Pool, Java
Pool e Streams Pool so dinmicos no tamanho e podem ser automaticamente
gerenciados pelo Oracle. O RedoLog Buffer pool esttico e tem um tamanho
fixo desde a inicializao. Ele no pode ser automaticamente gerenciado.
Essa memria em cache mostra que o Oracle mantm um
subconjunto de dados na memria para acessar mais rpido do que seria se
fosse acessar os dados armazenados em disco. O Oracle usa um algoritmo
LRU (Last-Recently Used) para determinar quais informaes sero mantidas
em reas da memria como o Database Buffer Cache e a Shared Pool. Para o
Database Buffer Cache, isso minimiza o acesso aos dados do disco. Para a
Shared Pool, reduz a redundncia na execuo de instrues SQL e o acesso
ao disco.
O Oracle pode gerenciar automaticamente o tamanho da SGA pra
voc (recomendado) ou voc mesmo pode fazer manualmente. O Oracle aloca
e realoca unidades de espaos na SGA chamadas granules. Granules podem
ter 4M, 8M, ou 16M, dependendo do seu sistema.

reas da SGA e suas funes:

Database Buffer Cache: Mantm os dados utilizados mais


recentemente na memria.
Shared Pool: Ela dividida em algumas partes:
LibraryCache: Armazena cdigos recentemente executados;
Data Dictionary Cache: Armazena informaes do Dicionrio
de Dados;
PL/SQL Area: Armazena os objetos PL/SQL recentemente
utilizados;
SQL Query & PL/SQL Function Result Cache (a partir do
11g): Armazena os resultados de instrues SQL e Funes executadas
recentemente.
Redo Log Buffer: Mantm as informaes de log de transaes
na memria (tambm conhecidos como redo records).
Large Pool: Mantm dados em cache para operaes intensivas
como Recovery Manager (RMAN) e Shared Server.
Java Pool: Armazena em cache os cdigos e Objetos do Java
recentemente usados.
Streams Pool: Armazena em cache filas de mensagens em Buffer
para o Oracle Streams.

PROCESSOS DE BACKGROUND
Cada processo de background responsvel por uma ou mais
funes para o sistema de banco de dados Oracle. Cinco deles so
obrigatrios, enquanto muitos outros so opcionais e podem ou no estar
presentes dependendo de quais recursos do Oracle voc utiliza.
Os cinco processos obrigatrios so: SMON, PMON, LGWR, DBWn e
CKPT. Para cada processo de background h uma ou mais letras N, para que
sejam trocadas por nmeros, pois h mais do que um processo para que seja
nomeado. Por exemplo, voc pode ter muitos Database Writers, logo, DBW0,
DBW1, e assim por diante.
Os outros processos de background (opcionais) so: MMAN,
MMON, MMNL, RVWR, CTWR, Snnn, Dnnn, ARCn, RECO, CJQn, Jnnn, QMNn e
DBRM.
Os cinco processos de background principais tem as seguintes
funes:
SMON: Realiza o crash recovery (recuperao de falhas). A
recuperao de instancia do Oracle pode ser realizada automaticamente na
inicializao, se necessrio. Ele monta e abre o banco de dados.
PMON: Realiza a limpeza depois de conexes de usurios ao
banco de dados falharem. Ele realiza o Rollback.
LGWR: Grava redo records do Log Buffer na SGA para o Online
Redo Logs no disco.
DBWn: Grava modificaes ou blocos de dados 'sujos' do
Database Buffer Cache na SGA para os Datafiles no disco.
CKPT: Gerencia os Checkpoints por atualizaes nos arquivos do
banco de dados.

ARQUIVOS DE BANCO DE DADOS (DATABASE FILES)


Enquanto a instancia consiste de memria transitria e processos
de background, o banco de dados consiste de arquivos permanentes no disco.
Os trs principais tipos de arquivos que so obrigatrios estarem presentes no
banco de dados so: Datafiles, Control Files e Redo Log Files.

DATAFILES: Eles guardam os dados.


CONTROL FILES: Estes contm informaes sobre a estrutura
fsica do banco de dados, usado pelo Oracle durante suas operaes
contnuas. Contm o nome do banco de dados, criao de timestamp, e
nomes, locais, e tamanhos de todos os datafiles e redo log files.
REDO LOG FILES: Eles contm registros de mudanas usados
como garantia contra perda de dados. Por exemplo, eles podem ser aplicados
durante a recuperao do banco para trazer datafiles danificados e atualizlos junto ao resto do banco de dados.

ARQUITETURA DO ORACLE - DIAGRAMA

Arquitetura
Arquitetura

Banco
de
Banco de
Dados
Dados

Instancia
Instancia

Estrutura
de
Estrutura de
Memria
Memria

Estrutura
de
Estrutura de
Armazename
Armazename
nto
nto

Estrutura
de
Estrutura de
Processos
Processos

SGA
SGA

Shared
Pool
Shared Pool

Database
Database
Buffer
Cache
Buffer Cache

RedoLog
RedoLog
Buffer
Buffer

Large
Pool
Large Pool

Java
Java Pool
Pool

PGA
PGA

Streams
Streams Pool
Pool

Keep
Keep Buffer
Buffer
Pool
Pool

Recycle
Recycle
Buffer
Pool
Buffer Pool

NK
Buffer
NK Buffer
Cache
Cache

Stack
Space
Stack Space

Datafiles
Datafiles

UGA
UGA (User
(User
Global
Area)
Global Area)

Data
Data
Dicionary
Dicionary
Cache
Cache

Cursor
State
Cursor State

Fixed
Area
Fixed Area

User
User Session
Session
Data
Data

Sort
Sort Area
Area

Hash
Hash Area
Area

Create
Create
Bitmap
Area
Bitmap Area
Bitmap
Bitmap
Merge Area
Area
Merge

Control
Files
Control Files

Redo
Redo Log
Log
Files
Files

Potrebbero piacerti anche