Sei sulla pagina 1di 23

Oracle Database 10g OCA

Architettura
database Oracle
Obbiettivi

◦ Completando questa lezione dovresti


essere in grado di:

 Descrivere l’architettura e le principali


componenti di un database Oracle
Architettura Oracle database
Un server di database Oracle:

◦ E’ un sistema di gestione di dati organizzati secondo il


modello relazionale introdotto da Edgar Codd nel 1970
(RDBMS – Relational Database Management System)

◦ Consiste di un’ istanza Oracle e un database Oracle.


Strutture del database
Strutture di memoria Istanza
System Global Area (SGA)

Strutture dei processi


Processi di Background

Strutture di storage Database files


Strutture di memoria

Server Server
Background
process PGA process PGA PGA
process
1 2

SGA

Shared pool Streams pool Large pool

Database Redo log


Java pool
buffer cache buffer
Strutture di processo
Istanza
PGA
SGA
User process Server
process
Background
processes

◦ User process: Avviati ogni volta che un utente


richiede una connessione all’ Oracle server

◦ Server process: Avviati , sulla macchina che ospita il


database, quando un utente stabilisce una
connessione all’Oracle server
◦ Background processes: Avviati allo start dell’istanza
Oracle
Struttura fisica del database

Control files Data files Online redo log files

Parameter file Backup files Archive log files

Password file Alert and trace log files


Tablespaces e Data Files
◦ Un tablespace consiste di uno o più data files.
◦ Un data file appartiene ad un solo tablespace.

Data file 1 Data file 2

USERS tablespace
I tablespaces SYSTEM e SYSAUX
◦ I tablespaces SYSTEM e SYSAUX sono necessari
per il funzionamento di Oracle.
◦ Vengoni creati al momento della creazione del
database.
◦ Devono essere online.
◦ SYSTEM: contiene il data dictionary di Oracle
◦ SYSAUX: contiene oggetti necessari al
funzionamento di alcune componenti di
Oracle.
Segmenti, Extents e Blocchi
◦ Un tablespace è un contenitore di segmenti.
◦ I segmenti sono collezioni di extents.
◦ Gli extents sono insiemi di blocchi dati Oracle.
◦ I blocchi dati Oracle sono mappati sui blocchi disco
del sistema operativo .

Segment Extents Data Disk


blocks blocks
Struttura logica e fisica di un
database Oracle
Logica Fisica

Database

Schema Tablespace Data file

Segment

Extent

Oracle data
OS block
block
Data Files
SGA
◦ Contengono i dati
Database
◦ Formano i tablespaces
buffer cache ◦ Vengono letti in
memoria su richiesta
◦ Vanno protetti con
Database opportune strategie di
Writer
(DBWn) backup

Data files
Redo Log Files
SGA Redo log files:
Redo log ◦ Registrano tutte le
buffer modifiche effettuate
ai dati di un database
Log
Writer
(LGWR) ◦ Devono essere creati
in più copie per
proteggersi dalla
perdita di una copia
Group 1 Group 2 Group 3
Oracle database server
SGA

Shared pool Streams pool Large pool

Database Redo log


Java pool
buffer cache buffer

System Process Database


LogWriter
Monitor Monitor Writer
(LGWR)
(SMON) (PMON) (DBWn)

Checkpoint Archiver
(CKPT) (ARCn)
Database Writer (DBWn)
SGA
 Il Database Writer
Database scrive a seguito di questi
buffer cache
eventi:
◦ Checkpoint
◦ Dirty buffers’ threshold
Database ◦ No free buffers
Writer
(DBWn) ◦ Timeout
◦ RAC ping request
◦ Tablespace OFFLINE
◦ Tablespace READ ONLY
◦ Table DROP or TRUNCATE
◦ Tablespace BEGIN BACKUP
Data files
Log Writer (LGWR)
SGA
 Scrive le entry di redo,
Redo log presenti in memoria nel redo
buffer log buffer, sui gruppi di redo
log files

Log  Si attiva :
Writer ◦ Ad ogni commit
(LGWR)
◦ Quando il redo log buffer è
pieno per 1/3
◦ Ogni 3 secondi
◦ Prima dell’attivazione del
Database Writer (DBWR)
Group 1 Group 2 Group 3
Checkpoint (CKPT)
Responsabile di: SGA
◦ Segnalare i DBWn al checkpoint
Database
◦ Aggiornare gli header dei data
buffer cache
files con le informazioni di checkpoint
◦ Aggiornare i control files con le informazioni di
checkpoint
Database
Writer
(DBWn)

Checkpoint
(CKPT)
Archiver (ARCn)
◦ Sono processi di SGA
background opzionali
◦ Archiviano Redo log
automaticamente gli buffer
online redo log files se
il database è in
ARCHIVELOG mode
◦ Mantengono la storia LogWriter
di tutte le modifiche (LGWR)
effettuate al database

Archiver
(ARCn)
System Monitor (SMON)
◦ Esegue l’instance recovery allo startup dell’istanza
◦ Effettua il coalesce dello spazio libero sui tablespace
◦ Dealloca i segmenti temporanei

Instance
SGA

Other
processes

System
Monitor
(SMON)
Process Monitor (PMON)
PMON pulisce la database buffer cache e
libera le risorse dopo failures di processi:
◦ Effettua il rollback delle transazioni non concluse
◦ Rilascia i lock dei processi “dead”
◦ Rilascia altre risorse

Instance
PGA Process SGA
Monitor
User process Server (PMON)
process Other
processes
Come funziona il database Oracle 1/2
1 Instance

SGA

Database Redo log


buffer cache buffer

3 Server Database
LogWriter
Writer
process (LGWR)
2 (DBWn)

User process
Come funziona il database Oracle 2/2
Instance

SGA

5 7 Database Redo log


buffer cache buffer

Database
Server LogWriter
Writer
10 process (LGWR)
(DBWn)

User process 9
8
6

4 The user updates a row.


Riepilogo

Dopo questa lezione dovresti essere in grado di:


 Descrivere l’architettura e le principali componenti di
Oracle Database 10g

Potrebbero piacerti anche