STRUCTUREPHYSIQUE
STRUCTUREPHYSIQUE
STRUCTURE LOGIQUESTRUCTURE LOGIQUE
FONCTIONNALITES DE
BASE
FONCTIONNALITES DE
BASE
Oracle ARCHITECTURE INTERNE
Oracle ARCHITECTURE INTERNE
ORGANISATION DES COUCHES ORACLE
ORGANISATION DES COUCHES ORACLE
NOYAUNOYAU
DICTIONNAIREDONNEES
SQL
PL/SQL
FONCTIONNALITES DES COUCHES
FONCTIONNALITES DES COUCHES
NOYAUNOYAU
Intégrité des données,
Confidentialité des données,
Sauvegarde et restauration des données,
Gestion des accès concurrents,
Optimisation de l'exécution des requêtes (tuning),
Gestion des accélérateurs (index, cluster),
Stockage physique des données.
Intégrité des données,
Confidentialité des données,
Sauvegarde et restauration des données,
Gestion des accès concurrents,
Optimisation de l'exécution des requêtes (tuning),
Gestion des accélérateurs (index, cluster),
Stockage physique des données.
FONCTIONNALITES DES COUCHES
FONCTIONNALITES DES COUCHES
DICTIONNAIREDONNEES
DICTIONNAIREDONNEES
Une méta-base qui permet de stocker les éléments suivants :
• Objets de la base : tables, views, index, synonymes, clusters, séquences, …
• Utilisateurs accédant à la base avec leurs privilèges et les droits qu'ils ont sur les objets.
• Informations relatives à l'activité de la base (connexions, ressources utilisées, verrouillages, …).
Une méta-base qui permet de stocker les éléments suivants :
• Objets de la base : tables, views, index, synonymes, clusters, séquences, …
• Utilisateurs accédant à la base avec leurs privilèges et les droits qu'ils ont sur les objets.
• Informations relatives à l'activité de la base (connexions, ressources utilisées, verrouillages, …).
FONCTIONNALITES DES COUCHES
FONCTIONNALITES DES COUCHES
SQLSQL
Interface unique entre le noyau RDBMS et les outils. Cette couche assure :
• Vérification sémantique et syntaxique.
• Décomposition en opération élémentaires.
• Envoi au noyau pour traitement.
• Récupération des résultats et communication aux outils.
Interface unique entre le noyau RDBMS et les outils. Cette couche assure :
• Vérification sémantique et syntaxique.
• Décomposition en opération élémentaires.
• Envoi au noyau pour traitement.
• Récupération des résultats et communication aux outils.
PL/SQLPL/SQL
FONCTIONNALITES DES COUCHES
FONCTIONNALITES DES COUCHES
Extension procédurale de la couche SQL, intégrée au noyau depuis la version 7.1, elle permet :
• Réaliser les traitements procéduraux.
• Écrire des traitements stockés dans le dictionnaire (Procédures, fonctions, packages, triggers)
Extension procédurale de la couche SQL, intégrée au noyau depuis la version 7.1, elle permet :
• Réaliser les traitements procéduraux.
• Écrire des traitements stockés dans le dictionnaire (Procédures, fonctions, packages, triggers)
ARCHITECTURE TECHNIQUE LA MEMOIRE
ARCHITECTURE TECHNIQUE LA MEMOIRE
Database Buffers
Database Buffers
REDO LOGBuffers
REDO LOGBuffers
SQL AreaSQL Area
Dictionary CacheDictionary Cache
SGA (System Global Area)SGA (System Global Area)
Library CacheLibrary Cache
DatafileDatafile
PMONPMON
ARCHARCH
SMONSMONCKPT CKPT LGWRLGWRDBWRDBWR
RECORECO
LISTLIST
SRVSRV
DISPADISPAControlFile
ControlFile
Redo LogFile
Redo LogFile
ARCHITECTURE TECHNIQUE LA MEMOIRE
ARCHITECTURE TECHNIQUE LA MEMOIRE
INSTANCEINSTANCE
Ensemble de ressources permettant d'accéder à une base de données Ensemble de ressources permettant d'accéder à une base de données
SGA System Global Area
PROCESS Mémoire
Processobligatoires
Processobligatoires
Process optionnelsProcess
optionnelsPMONPMON
SMONSMON CKPT CKPT
LGWRLGWRDBWRDBWR
LISTLIST
CKPT CKPT
ARCHARCHRECORECO
DISPDISP
ARCHITECTURE TECHNIQUE LA MEMOIRE
ARCHITECTURE TECHNIQUE LA MEMOIRE
ELEMENTS de gestion d'une INSTANCE
ELEMENTS de gestion d'une INSTANCE
Fichier des paramètres PFILE
c:\oracle\admin\nom_base\pfile\initXXX.ora
sql> desc V$PARAMETER
Fichier des paramètres PFILE
c:\oracle\admin\nom_base\pfile\initXXX.ora
sql> desc V$PARAMETER
Vues systèmes pour la gestion de l'instance
V$THREADV$INSTANCEV$DATABASE
Vues systèmes pour la gestion de l'instance
V$THREADV$INSTANCEV$DATABASE
Paramètres dans le PFILE
db_block_sizedb_cache_sizecontrol_filesopen_cursorsbackground_dump_destcore_dump_desttimed_statisticsuser_dump_destdb_nameinstance_namejava_pool_sizelarge_pool_sizeshared_pool_sizeprocess
….
Paramètres dans le PFILE
db_block_sizedb_cache_sizecontrol_filesopen_cursorsbackground_dump_destcore_dump_desttimed_statisticsuser_dump_destdb_nameinstance_namejava_pool_sizelarge_pool_sizeshared_pool_sizeprocess
….
db_block_size=4096db_cache_size=33554432 control_files=("C:\oracle\oradata\orabase\CONTROL01.CTL", "C:\oracle\oradata\orabase\CONTROL02.CTL", "C:\oracle\oradata\orabase\CONTROL03.CTL")
open_cursors=300 background_dump_dest=C:\oracle\admin\orabase\bdumpcore_dump_dest=C:\oracle\admin\orabase\cdumptimed_statistics=TRUEuser_dump_dest=C:\oracle\admin\orabase\udumpdb_domain=""remote_login_passwordfile=EXCLUSIVEcompatible=9.0.0db_name=orabasefast_start_mttr_target=300instance_name=orabasejava_pool_size=33554432large_pool_size=1048576shared_pool_size=33554432processes=150undo_management=AUTOundo_tablespace=UNDOTBSsort_area_size=524288
db_block_size=4096db_cache_size=33554432 control_files=("C:\oracle\oradata\orabase\CONTROL01.CTL", "C:\oracle\oradata\orabase\CONTROL02.CTL", "C:\oracle\oradata\orabase\CONTROL03.CTL")
open_cursors=300 background_dump_dest=C:\oracle\admin\orabase\bdumpcore_dump_dest=C:\oracle\admin\orabase\cdumptimed_statistics=TRUEuser_dump_dest=C:\oracle\admin\orabase\udumpdb_domain=""remote_login_passwordfile=EXCLUSIVEcompatible=9.0.0db_name=orabasefast_start_mttr_target=300instance_name=orabasejava_pool_size=33554432large_pool_size=1048576shared_pool_size=33554432processes=150undo_management=AUTOundo_tablespace=UNDOTBSsort_area_size=524288
Exemple d'un PFILEExemple d'un PFILE
SGA (SYSTEM GLOBAL AREA)
SGA (SYSTEM GLOBAL AREA)
Ensemble de buffers permettant en mémoire les blocs de données lus
dans le fichiers de la base.
Un bloc contenu dans le buffer est accessible à tous les utilisateurs.
Le nombre de buffers a un grand impact sur le performances.
Plus Le nombre de buffers est grand, moins sont les entrées.
Découpée en 3 sous zones logiques différentes :
KEEP : données permanentes (référentiel). RECYCLE : données temporaires. DEFAULT : algorithme LRU (Least Recently Used).
Ensemble de buffers permettant en mémoire les blocs de données lus
dans le fichiers de la base.
Un bloc contenu dans le buffer est accessible à tous les utilisateurs.
Le nombre de buffers a un grand impact sur le performances.
Plus Le nombre de buffers est grand, moins sont les entrées.
Découpée en 3 sous zones logiques différentes :
KEEP : données permanentes (référentiel). RECYCLE : données temporaires. DEFAULT : algorithme LRU (Least Recently Used).
DATABASE BUFFERDATABASE BUFFER
Vues système utilisées
V$SGA ; V$PARAMETER ;
Paramètres dans le PFILE :
DB_BLOCK_SIZE ; DB_BLOCK_BUFFERS
Taille globale = DB_BLOCK_SIZE * DB_BLOCK_BUFFERS
Vues système utilisées
V$SGA ; V$PARAMETER ;
Paramètres dans le PFILE :
DB_BLOCK_SIZE ; DB_BLOCK_BUFFERS
Taille globale = DB_BLOCK_SIZE * DB_BLOCK_BUFFERS
SGA (SYSTEM GLOBAL AREA)
SGA (SYSTEM GLOBAL AREA)
DATABASE BUFFERDATABASE BUFFER
SGA (SYSTEM GLOBAL AREA)
SGA (SYSTEM GLOBAL AREA)
REDO LOG BUFFERREDO LOG BUFFER
Zone associée aux fichiers de journalisation.
Lors d'une mise à jour de la base, l'image avant la mise à jour et après
sont écrites dans le buffer.
Un ordre COMMIT, ordonne à LGRW de consigner les transactions
dans les fichiers de journalisation.
L'augmentation de la taille de cette zone, croît la performance du
système (réduction des E/S).
Zone associée aux fichiers de journalisation.
Lors d'une mise à jour de la base, l'image avant la mise à jour et après
sont écrites dans le buffer.
Un ordre COMMIT, ordonne à LGRW de consigner les transactions
dans les fichiers de journalisation.
L'augmentation de la taille de cette zone, croît la performance du
système (réduction des E/S).
SGA (SYSTEM GLOBAL AREA)
SGA (SYSTEM GLOBAL AREA)
REDO LOG BUFFERREDO LOG BUFFER
Vues système utilisées
V$SGA ; V$PARAMETER ;
Paramètres dans le PFILE :
LOG_BUFFER
Vues système utilisées
V$SGA ; V$PARAMETER ;
Paramètres dans le PFILE :
LOG_BUFFER
SGA (SYSTEM GLOBAL AREA)
SGA (SYSTEM GLOBAL AREA)
SQL AREASQL AREA
LIBRARY CACHELIBRARY CACHE
DICTIONARY CACHEDICTIONARY CACHE
SHARED POOLSHARED POOL
Une zone mémoire partagée, utilisée pour réduire au maximum les entrées/sorties disque.
La répartition entre les sous-zones est logique et est gérée par le noyau.
D'autres zones ont été rajoutées, en fonction des versions d'Oracle.
Une zone mémoire partagée, utilisée pour réduire au maximum les entrées/sorties disque.
La répartition entre les sous-zones est logique et est gérée par le noyau.
D'autres zones ont été rajoutées, en fonction des versions d'Oracle.
POOL JAVAPOOL JAVA
PFILE
SHARED_POOL_SIZE
Vidage du pool
ALTER SYSTEM FLUSH SHARED POOL
PFILE
SHARED_POOL_SIZE
Vidage du pool
ALTER SYSTEM FLUSH SHARED POOL
SGA (SYSTEM GLOBAL AREA)
SGA (SYSTEM GLOBAL AREA)
SQL AREASQL AREA
Stockage des informations du parsing (analyse requête SQL).
Réutilisation du parsing déjà effectué pour une requête donnée.
Parsing pénalise la ressource CPU.
Stockage des informations du parsing (analyse requête SQL).
Réutilisation du parsing déjà effectué pour une requête donnée.
Parsing pénalise la ressource CPU.
Vues du dictionnaire utilisées pour la zone SQL Area
V$SQLAREA V$SQL V$SQLTEXT
SQL> desc v$sqltextName Type Nullable Default Comments ------------ ------------ -------- ------- -------- ADDRESS RAW(4) Y HASH_VALUE NUMBER Y COMMAND_TYPE NUMBER Y PIECE NUMBER Y SQL_TEXT VARCHAR2(64) Y
Vues du dictionnaire utilisées pour la zone SQL Area
V$SQLAREA V$SQL V$SQLTEXT
SQL> desc v$sqltextName Type Nullable Default Comments ------------ ------------ -------- ------- -------- ADDRESS RAW(4) Y HASH_VALUE NUMBER Y COMMAND_TYPE NUMBER Y PIECE NUMBER Y SQL_TEXT VARCHAR2(64) Y
DICTIONARY CACHEDICTIONARY CACHE
Conservation dans le cache les données en provenance du dictionnaire.
Accès par les process serveurs.
Minimiser les accès sur le dictionnaire.
Conservation dans le cache les données en provenance du dictionnaire.
Accès par les process serveurs.
Minimiser les accès sur le dictionnaire.
Vue du dictionnaire utilisées pour la zone SQL Area
V$ROWCACHE ;
Vue du dictionnaire utilisées pour la zone SQL Area
V$ROWCACHE ;
SGA (SYSTEM GLOBAL AREA)
SGA (SYSTEM GLOBAL AREA)
LIBRARY CACHELIBRARY CACHE
SGA (SYSTEM GLOBAL AREA)
SGA (SYSTEM GLOBAL AREA)
Permet de stocker les premiers traitements (fonctions, procédures, packages)
lancés, pour un accès ultérieur plus rapide.
Accessibilité à ces traitements par tous les utilisateurs.
Permet de stocker les premiers traitements (fonctions, procédures, packages)
lancés, pour un accès ultérieur plus rapide.
Accessibilité à ces traitements par tous les utilisateurs.
Vue du dictionnaire utilisées pour la zone SQL Area
V$LIBRARYCACHE ;
Vue du dictionnaire utilisées pour la zone SQL Area
V$LIBRARYCACHE ;
LARGE POOLLARGE POOL
SGA (SYSTEM GLOBAL AREA)
SGA (SYSTEM GLOBAL AREA)
Utilisé à partir de la version 8, pour une architecture en multithread.
Permet de stocker les informations de plusieurs sessions en multithreading.
Utilisé à partir de la version 8, pour une architecture en multithread.
Permet de stocker les informations de plusieurs sessions en multithreading.
Dans le PFILE
LARGE_POOL_SIZE
Dans le PFILE
LARGE_POOL_SIZE
SGA (SYSTEM GLOBAL AREA)OUTIL DE SUIVI
SGA (SYSTEM GLOBAL AREA)OUTIL DE SUIVI
SHARED_POOL_SIZE
LOG_BUFFER
DB_BLOCK_SIZE
DB_BLOCK_BUFFERS
SHARED_POOL_SIZE
DB_NAME
INSTANCE_NAME
SHARED_POOL_SIZE
LOG_BUFFER
DB_BLOCK_SIZE
DB_BLOCK_BUFFERS
SHARED_POOL_SIZE
DB_NAME
INSTANCE_NAME
V$SGA
V$SQLAREA
V$LIBRARYCACHE
V$ROWCACHE
V$DATABASE
V$INSTANCE
V$SESSION
V$SGA
V$SQLAREA
V$LIBRARYCACHE
V$ROWCACHE
V$DATABASE
V$INSTANCE
V$SESSION
PFILEPFILE VIEWS SYSTEMVIEWS SYSTEM
PROCESS MEMOIREObligatoires
PROCESS MEMOIREObligatoires
DBWRxDBWRx Processus de lecture/écriture dans la base,
On peut en avoir plusieurs s'il y a une forte activité sur
la BDD.
Processus de lecture/écriture dans la base,
On peut en avoir plusieurs s'il y a une forte activité sur
la BDD.
Paramètres
DB_BLOCK_WRITE_BATCH : Nombre de blocs écrits par déclenchement.
DB_WRITER_PROCESSES : Nombre de process /Instance.
DB_IO_SLAVES : Générés par un DBWRi.
Paramètres
DB_BLOCK_WRITE_BATCH : Nombre de blocs écrits par déclenchement.
DB_WRITER_PROCESSES : Nombre de process /Instance.
DB_IO_SLAVES : Générés par un DBWRi.
PROCESS MEMOIREObligatoires
PROCESS MEMOIREObligatoires
LGWRLGWR Écrire des données des blocs du buffer REDO LOG en cas de COMMIT.
Assurer l'intégrité de la base.
Écrire des données des blocs du buffer REDO LOG en cas de COMMIT.
Assurer l'intégrité de la base.
Comme le nombre de fichiers de journalisation est au minimum égal à 2, on demander un switch explicite :
ALTER SYSTEM SWITCH LOGFILE;
Comme le nombre de fichiers de journalisation est au minimum égal à 2, on demander un switch explicite :
ALTER SYSTEM SWITCH LOGFILE;
PROCESS MEMOIREObligatoires
PROCESS MEMOIREObligatoires
SMON - System MonitorSMON - System Monitor
- Utilisé au démarrage de la base,
- Restaure la base suite à un arrêt anormal.
- Nettoie les segments temporaires lors du redémarrage.
- Restitue la base dans un état cohérent en cas d'arrêt avec
des transactions en cours.
- Défragmente la base.
- Utilisé au démarrage de la base,
- Restaure la base suite à un arrêt anormal.
- Nettoie les segments temporaires lors du redémarrage.
- Restitue la base dans un état cohérent en cas d'arrêt avec
des transactions en cours.
- Défragmente la base.
PROCESS MEMOIREObligatoires
PROCESS MEMOIREObligatoires
PMON - Process MonitorPMON - Process Monitor
- Traitement de récupération des processus utilisateur.
- Nettoyage de la mémoire cache et des ressources libérées
par un process utilisateur.
- Traitement de récupération des processus utilisateur.
- Nettoyage de la mémoire cache et des ressources libérées
par un process utilisateur.
PROCESS MEMOIREObligatoires
PROCESS MEMOIREObligatoires
CKPT - CHECKPOINTCKPT - CHECKPOINT
Provoque l'activation du DBWR pour écrire les blocs
modifiés depuis le dernier point de contrôle,
S'exécute automatiquement quand les fichiers de
journalisation sont pleins.
Provoque l'activation du DBWR pour écrire les blocs
modifiés depuis le dernier point de contrôle,
S'exécute automatiquement quand les fichiers de
journalisation sont pleins.
Paramètre dans PFILE
CHECKPOINT_PROCESS = TRUE
Paramètre dans PFILE
CHECKPOINT_PROCESS = TRUE
PROCESS MEMOIREOPTIONNELS
PROCESS MEMOIREOPTIONNELS
ARCH : Recopie des fichiers de journalisation sur un média.- Paramètres
LOG_ARCHIVE_START ;LOG_ARCHIVE_DEST ;
- RECO : Lance les restaurations sur les bases distribuées.
- SNAP : Rafraîchissement automatique des snapshot.
- DISPATCHER (Dxxxx) : MultiThreading.
- LSTNR : Agent d'écoute pour les clients de la base.
- LCK : Gestion des verrous pour les serveurs parallèle d'Oracle.
ARCH : Recopie des fichiers de journalisation sur un média.- Paramètres
LOG_ARCHIVE_START ;LOG_ARCHIVE_DEST ;
- RECO : Lance les restaurations sur les bases distribuées.
- SNAP : Rafraîchissement automatique des snapshot.
- DISPATCHER (Dxxxx) : MultiThreading.
- LSTNR : Agent d'écoute pour les clients de la base.
- LCK : Gestion des verrous pour les serveurs parallèle d'Oracle.
Top Related