Architettura Database Oracle
Un SERVER Oracle non è solo database, perchè il
database è la compomente fisica di Oracle riscontrabile su filesystem o
ASM (Automatic Storage Management), ma è l'organizzazione di una componente fisica e di un istanza.
Un DATABASE Oracle consiste di file fisici su disco:
- Datafiles: contengono le strutture logiche e i dati del database
- Redolog Files: registrano le modifiche effettuate sul database
- Controlfiles: registra la struttura fisica del database (contiene il nome del database e il riferimento ai file fisici del database); quando un’istanza apre un database, la prima cosa che fa è leggere questo file perché contiene tutte le informazioni necessarie alla localizzazione delle varie risorse.
Un ISTANZA Oracle consiste di uno strato di memoria e di processi. Il tempo di vita di un’istanza nella RAM è limitato al tempo di start\stop dei processi di backgrond mentre una volta creato il database, esso esiste finchè non si cancellano deliberatamente i file ad esso associati.
Un' istanza Oracle e’ composta dalla SGA - System Global Area (un insieme di buffer di shared memory) e da Processi di background (processi di sistema che gestiscono il database in maniera asincrona) e sono allocati quando l’istanza è startata e rilasciati allo shutdown.
Ad ogni Database corrisponde una sola Istanza. Quindi se su un server sono istallati due database, allora avrò due istanze distinte e separate. Invece ad ogni istanza RAC è associata un solo database.
Un'applicazione che lavora su una macchina client crea un processo utente, che genera a sua volta un processo server (o foreground process) sulla macchina dove risiede il database: questo processo comunica con un istanza e questa istanza con il database. Questo è un tipico ambiente SINGLE INSTANCE.
Mentre se istanze multiple aprono un stesso database e quindi accedono allo stesso storage, si parla di configurazione Oracle RAC (Real Application Cluster).
Associato con ogni server process c’è un'area di memoria ad esso dedicata chiamata PGA - Program Global Area - che contiene i dati di un singolo processo utente ed è allocata da Oracle quando un utente si collega al database e una sessione viene creata.
In un ambiente Oracle RAC esistono due o più istanze che risiedono su server distinti da quella in cui risiede lo strato fisico. Ad esempio, RAC a 3 NODI vuol dire che ci sono 3 Istanze oracle, con sid differenti, su 3 server che interrogano lo stesso database fisico, che risiede su un'altra macchina in cui è istallato il GRID oracle che fa da tramite tra lo strato di memoria e quello fisico. Le istanze sono contemporaneamente attive in modo da evitare disservizi in caso di caduta di un server.
Un DATABASE Oracle consiste di file fisici su disco:
- Datafiles: contengono le strutture logiche e i dati del database
- Redolog Files: registrano le modifiche effettuate sul database
- Controlfiles: registra la struttura fisica del database (contiene il nome del database e il riferimento ai file fisici del database); quando un’istanza apre un database, la prima cosa che fa è leggere questo file perché contiene tutte le informazioni necessarie alla localizzazione delle varie risorse.
- Parameter File
- Archived Redo logs
- Password File
- Alert Log File
- Database Backup
Un ISTANZA Oracle consiste di uno strato di memoria e di processi. Il tempo di vita di un’istanza nella RAM è limitato al tempo di start\stop dei processi di backgrond mentre una volta creato il database, esso esiste finchè non si cancellano deliberatamente i file ad esso associati.
Un' istanza Oracle e’ composta dalla SGA - System Global Area (un insieme di buffer di shared memory) e da Processi di background (processi di sistema che gestiscono il database in maniera asincrona) e sono allocati quando l’istanza è startata e rilasciati allo shutdown.
Ad ogni Database corrisponde una sola Istanza. Quindi se su un server sono istallati due database, allora avrò due istanze distinte e separate. Invece ad ogni istanza RAC è associata un solo database.
Single Instance DB
Multi Sinlge Instance DB sullo stesso server
Oralce RAC a 3 nodi
Un'applicazione che lavora su una macchina client crea un processo utente, che genera a sua volta un processo server (o foreground process) sulla macchina dove risiede il database: questo processo comunica con un istanza e questa istanza con il database. Questo è un tipico ambiente SINGLE INSTANCE.
Mentre se istanze multiple aprono un stesso database e quindi accedono allo stesso storage, si parla di configurazione Oracle RAC (Real Application Cluster).
Associato con ogni server process c’è un'area di memoria ad esso dedicata chiamata PGA - Program Global Area - che contiene i dati di un singolo processo utente ed è allocata da Oracle quando un utente si collega al database e una sessione viene creata.
In un ambiente Oracle RAC esistono due o più istanze che risiedono su server distinti da quella in cui risiede lo strato fisico. Ad esempio, RAC a 3 NODI vuol dire che ci sono 3 Istanze oracle, con sid differenti, su 3 server che interrogano lo stesso database fisico, che risiede su un'altra macchina in cui è istallato il GRID oracle che fa da tramite tra lo strato di memoria e quello fisico. Le istanze sono contemporaneamente attive in modo da evitare disservizi in caso di caduta di un server.