Scaricare la presentazione
La presentazione è in caricamento. Aspetta per favore
1
Componenti dell’architettura Oracle
INTRODUZIONE Componenti dell’architettura Oracle Istanza Oracle SGA Shared Pool Library Cache Data Dictionary Cache Database Buffer Redo Log Buffer Java Pool Large Pool PMON SMON DBWR LGWR CKPT Altri User process Server process PGA Oracle Server ci sono molti files, processi, strutture di memoria in un Oracle server ma non tutte queste componenti vengono usate per elaborare uno statement SQL. Qualcuna viene usate per incrementare le performance di un database o per assicurare il recovery di un database in caso di errore o per svolgere task necessari alla manutenzione del db. Oracle server è diviso in Oracle Instance e Oracle Database. Oracle Instance un oracle instance è una combinazione di background process e strutture di memoria. L’istanza deve essere fatta partire per poter accedere al database. Ad ogni start di istanza la SGA (System Global Area) viene allocata e partono i processi di background. I processi di background svolgono operazioni di I/O e di monitoring in modo da aumentare le performance in termini di esecuzione parallela di processi.(operazioni di gestione del db) Oracle Database è composto di database files che costituiscono il magazzino delle informazioni. I files di database fanno in modo di mantenere la consistenza dei dati e il recover dei dati in caso di errore. User and server process sono i primi processi invocati quando uno statement SQL viene eseguito. Oracle database Parameter file Archived log files Data files Control files Redo log files Password file
2
INTRODUZIONE Oracle database Oracle database
Data files Control files Redo log files Parameter file Password file Archived log files Lo scopo di un database è immagazzinare dati. Consiste di 3 file differenti: DATA FILES che contengono i dati attuali del db ONLINE REDO LOG FILES che contiene del modifiche fatte al database per permettere il recovery qual’ora si verificasse un errore CONTROL FILES che contiene le informazioni per mantenere e verificare l’integrità del db Oracle server usa inoltre altri file che non sono parte del database PARAMETER FILE che contiene le caratteristiche dell’istanza di database. Per esempio contiene la dimensione della memoria PASSWORD FILE per l’autenticazione degli utenti, contiene le informazioni con i privilegi ARCHIVED REDO LOG copia offline dei redo log files che potrebbe servire per il recovery Un database oracle è una collezione di dati trattati come un’unità Consiste di tre tipi di file differenti
3
Creazione di una sessione
INTRODUZIONE Creazione di una sessione server process Sessione creata Connessione user process Oracle Server Aprendo un tools come ad esempio SQL PLUS o ORACLE FORMS, l’applicazione viene eseguita come USER PROCESS. Quando un utente fa login su oracle server un processo (SERVER PROCESS) viene creato sul computer su cui gira Oracle server. Il server process comunica con il computer utente su cui gira Oracle instance mediante lo user process (che gira sul computer client). Una SESSIONE è la connessione di un utente su Oracle Server. La sessione inizia quando l’utente è validato da Oracle Server e termina con il log off o con un abnormal termination.
4
INTRODUZIONE Strutture di memoria System Global Area (SGA) viene allocata allo start up di un’istanza è composta da più tipi di strutture di memoria Program Global Area (PGA) viene allocata quando parte il server process può essere usata da un solo processo alla volta
5
System Global Area (SGA)
INTRODUZIONE System Global Area (SGA) E’ composta da: shared pool database buffer cache redo log buffer java pool large pool La SGA contiene le informazioni del database ed è condivisa tra tutti i processi del database. E’ allocata sulla memoria su cui Oracle risiede. Dalla versione 9i la SGA è dinamica nel senso che può essere modificata la configurazione senza dover fare shutdown dell’istanza. In questo modo è possibile riconfigurare i vari componenti senza shutdown.
6
consiste di due memorie: library cache data dictionary cache
INTRODUZIONE Shared Pool contiene dati come esecuzioni di statement SQL che possono essere riusati, package PL/SQL, procedure, funzioni consiste di due memorie: library cache data dictionary cache La SHARED POOL contiene dati che possono essere condivisi globalmente come esecuzioni di statement SQL, package PL/SQL, procedure, funzioni. La LIBRARY CACHE contiene informazioni riguardo gli statement SQL e PL/SQL più recentemente usati. Questa memoria è allocata quando uno statement è eseguito o quando un package PL/SQL viene richiamato. Se a questa memoria viene allocato poco spazio (E’ PICCOLA) gli statement vengono continuamente ricaricati con un conseguente rallentamento delle performance. E’ costituita da due strutture: - SHARED SQL che contiene l’excution plan degli statement SQL eseguiti in modo che la seconda volta che verrà eseguito lo statement verrà ricato anziché essere ri-eseguito. SHARED PL/SQL contiene la compilazione dei package utilizzati DATA DICTIONARY CACHE contiene la descrizione degli oggetti del database. E’ un insieme di tabelle e viste di sola lettura che forniscono informazione sugli oggetti presenti nel database. Il data dictionary è modificato da Oracle server quando un comando DDL viene eseguito. Non è solo importante per Oracle database ma è utile anche agli amministratori di sistema e sviluppatori.
7
INTRODUZIONE Data Dictionary Cache E’ diviso in due parti: base tables continene le informazioni relative al database sono i primi oggetti creati nel database sono creati automaticamente quando Oracle Server avvia sql.bsq nel momento in cui il db viene creato difficilmente se ne fa l’accesso diretto inquanto la maggiorparte dei dati sono criptati data dictionary views forniscono una visualizzazione utile delle base tables (ad esempio nelle data dictionary views vengono usati object names anziché object numbers) sono create con lo script catalog.sql dopo il comando di CREATE DATABASE
8
Il data dictionary fornisce informazioni riguardo:
INTRODUZIONE Data Dictionary Cache Il data dictionary fornisce informazioni riguardo: strutture fisiche e logiche del database definizione e allocazione degli oggetti integrity constraints users ruoli privilegi auditing Contiene: La definizione di tutti gli oggetti presenti nel database (tabelle, viste, indici, cluster, sinonimi, sequences, procedure, funzioni, package, trigger ect.) Quanto spazio è allocato per ciascun oggetto e quanto è effettivamente usato Valore di default delle colonne Il nome degli utenti oracle Privilegi e ruoli definiti dalle grant auditing information, ad esempio chi ha fatto l’accesso al db quante modifiche sono state fatte Solo Oracle server è in grado di modificare le tabelle, gli utenti possono accedervi in sola lettura per la consultazione e alcune tabelle sono visibili solo all’amministratore di sistema.
9
Ci sono tre tipi di viste statiche
INTRODUZIONE Data Dictionary Cache Ci sono tre tipi di viste statiche DBA_xxx tutti gli oggetti del database ALL_xxx oggetti accessibili dal utente loggato USER_xxx oggetti di cui l’utente è proprietario Le viste con il prefisso DBA sono accessibili solo dall’amministratore di sistema. Esempio : select owner, object_name, object_type from dba_object; Restituisce tutti gli oggetti del database Viste con prefisso ALL from all_object; Viste con prefisso USER: Hanno gli stessi campi delle altre viste tranne owner che è implicito
10
contiene blocchi di dati elaborati dai datafile
INTRODUZIONE Database Buffer Cache contiene blocchi di dati elaborati dai datafile aumenta le performance del database evitando di leggere direttamente dai datafiles gestita mediante algoritmo LRU Quando una query viene elaborata, Oracle server process guarda nella db buffer cache cercando i blocchi di memoria di cui ha bisogno. Se non li trova già allocati, il server process legge i blocchi direttamente dai datafiles e ne mette una copia nella db buffer cache. Così per le seguenti letture degli stessi blocchi verranno già trovati quei blocchi in memoria e non occorreranno letture fisiche direttamente dai datafiles.
11
principalmente utilizzato per il recovery
INTRODUZIONE Redo Log Buffer principalmente utilizzato per il recovery contiene tutte le modifiche fatte al database le modifiche sono chiamate Redo Entries Redo log buffer è un buffer circolare che contiene le modifiche fatte ai bolcchi di database. Le Redo Entries contengono le informazioni necessarie per riportare i dati alla situazione precedente a modifiche fatte come INSERT, UPDATE, DELETE, CREATE, ALTER o DROP.
12
INTRODUZIONE Large Pool area di memoria opzionale nella SGA usata principalmente per memorizzare shared SQL statement usata per: sessioni di memoria per shared server I/O server process backup and restore operation o per RMAN usata con il parametro PARALLEL_AUTOMATIC_TUNING settato a true
13
INTRODUZIONE Java Pool è necessaria quando installando Java (altrimenti opzionale) dalla versione 9i, la dimensione è di 24MB
14
Program (Process) Global Area
INTRODUZIONE Program (Process) Global Area memoria riservata per ogni user process collegato con Oracle Database viene allocata alla creazione del processo (server process) deallocata quando il processo viene terminato usata da un processo alla volta Al contrario della SGA che è usata da più processi contemporaneamente, la PGA può essere usata da un solo processo alla volta.
15
Private SQL Area divisa in: persistent area run-time area
INTRODUZIONE Cosa contiene la PGA? Il contenuto della PGA varia dall’istanza su cui sta girando, dipende se è un server dedicato o uno shared server. Private SQL Area divisa in: persistent area run-time area Session memory SQL Work Area ogni sessione che elabora statement SQL ha una private SQL Area. Ogni utente che lancia lo stesso statement SQL ha la propria private SQL Area che usa la stessa SQL area condivisa. Cioè più Private SQL Area possono essere associate nella stessa Shared SQL Area. Divisa in PERSISTENT AREA che contiene bind information e si libera quando il cursore viene chiuso. RUN-TIME AREA che viene creata come primo passo quando viene eseguita una richiesta. Per esempio, per INSERT, UPDATE e DELETE statement, l’area si libera quando lo statement viene eseguito, per le query, l’area è libera solo dopo che tutte le righe sono state visualizzate o quando la query è cancellata. La posizione della PGA dipende dal tipo di connessione. Per il server dedicato la private SQL Area si trova nella PGA, per uno shared server, si trova nella SGA. Session Memory contiene le variabili di sessione e altre informazioni relative alla sessione. SQL Work Area usata per operazioni intensive con la memoria per esempio sort, hash-join.
16
SQL*PLUS Oracle tool che permette di eseguire SQL statement direttamente su Oracle database. si avvia da Oracle tools o dal prompt del sistema operativo Oracle tool che riconosce ed esegue SQL statement accede a database locali e remoti
17
SQL*PLUS log in esegue statement SQL, aggiunge, rimuove e modifica dati nel database salva, carica ed esegue script file carica comandi da file nel buffer per essere modificati Oracle proprietary
18
username : utente database password : password di database
SQL*PLUS Log in username : utente database password : password di database @database : database connect string Dal prompt del sistema operativo la stringa per la connessione è: sqlplus (la password viene digitata in chiaro, per evitare la visaulizzazione della password inserirla solo nel password prompt)
Presentazioni simili
© 2024 SlidePlayer.it Inc.
All rights reserved.