Institut Supérieur du Numérique
Troisième année
ARCHITECTURE DU SERVEUR ORACLE
Serveur de base de données Oracle est composé :
o d’une Instance comprenant une structure mémoire
partagée et un ensemble de processus.
o d’une Base de données comprenant un ensemble des
fichiers physiques contenant les données.
Ces deux parties sont intimement liées, mais doivent être bien distinguées
Enseignant Sidi Mahmoud KABER
Institut Supérieur du Numérique
Troisième année
SYSTEM GLOBAL AREA (SGA)
Zone mémoire partagée entre les différents processus serveurs et aussi
composée de différentes structures mémoires dont les principales sont:
o Database buffer Cache: C’est la partie de la SGA qui stocke les
copies des blocs de données lue à partir des fichiers de données.
o Buffer Redo log: Le tampon de journalisation est un tampon circulaire
dans le SGA qui contient des informations sur les modifications
apportées à la base de données, ces informations sont nécessaires
pour reconstruire (ou rétablir) les blocs après modification.
o Shared Pool: C’est la partie de la SGA dans laquelle les instructions
SQL, les procédures stockées et les informations spécifiques du
dictionnaire sont enregistrées en mémoire, Elle est gérée au moyen
d’un algorithme LRU (least Recently Used)
Enseignant Sidi Mahmoud KAERfichiers
Institut Supérieur du Numérique
Troisième année
PROCESSUS D’ARRIERE PLAN
Les processus d’arrière plan assurent des tâches garantissant le
fonctionnement interne du RDBMS (gestion de la mémoire, écriture dans
les fichiers),
les processus obligatoires sont :
o Database Writer (DBWR): chargé de transférer les blocs modifiés
en SGA vers le disque notamment les fichiers des données.
o System MONitor (SMON): père de tous les processus de l’instance, il
surveille la base de données de son démarrage puis au cours de son
fonctionnement et assure la reprise du système lors de tout démarrage
d’une instance.
o Process MONitor (PMON): chargé de libérer les ressources acquise
par un processus client, lorsque celui-ci se termine.
Enseignant Sidi Mahmoud KABERfichiers
Institut Supérieur du Numérique
Troisième année
PROCESSUS D’ARRIERE PLAN
o LGWR: se charge d'écrire le contenu des buffers dans des fichiers
journaux appelés fichiers Redo Log.
o CKPT: enregistre les données dans le fichiers de contrôle à intervalles
réguliers pour déterminer l’emplacement de départ de la récupération,
cette opération appelée point de reprise.
o Process server: il communique avec l'utilisateur et réagissent réciproquement
avec Oracle pour exécuter les demandes de l'utilisateur, si le processus
utilisateur demande des données qui ne sont pas dans le SGA, le processus
serveur est responsable pour lire les blocs de données correspondants du
datafiles dans le SGA.
Ils en existent également d'autres d'importance secondaire: RECO, ARCn, LCKn, etc.
Enseignant Sidi Mahmoud KABERfichiers
Institut Supérieur du Numérique
Troisième année
FICHIERS DE BASE DE DONNEES
La base de données Oracle comprend trois types de fichiers:
o DATAFILE: les fichiers des données contenant les données utilisateur
et celle du dictionnaire de données.
o Redo Log File: les fichiers de journalisation contenant les modification apportées
à la base de données
o CONTROLFILE: est un petit fichier binaire contenant des informations de
contrôle et d’autres aussi sur la structure de la base de données, il
comprend également les informations suivantes:
DB(Name, chemins des fichiers, date de création), le numéro de
séquence et des informations de Checkpoint,
Enseignant Sidi Mahmoud KABERfichiers
Institut Supérieur du Numérique
Troisième année
SWITCH LOGFILE
Le basculement entre deux groupes Redo Log, C’est le moment à partir
duquel LGWR arrête d’écrire dans le groupe courant pour recommencer
d’écrire dans le groupe redo log suivant: ALTER SYSTEM switch logfile ;
CHECKPOINT
Le mot CheckPoint signifie la synchronisation des données modifiées en
mémoire avec les fichiers de données de la base: ALTER SYSTEM
checkpoint ;
Enseignant Sidi Mahmoud KABERfichiers
Institut Supérieur du Numérique
Troisième année
FICHIERS DE PARAMETRES ORACLE
Le fichier de paramètres est un fichier d’initialisation contenant un ensemble
de paramètres indispensables pour démarrer une instance Oracle.
Ils en existent deux types:
o Fichiers textes: Ce sont des fichiers éditables dont les modifications ne
seront prise en compte qu’après démarrage de l’instance: init[SID].ora
o Fichiers de paramètres serveur: Ce sont des fichiers binaires dont les
paramètres peuvent être modifiés dynamiquement, par la commande ALTER
SYSTEM, sans avoir à redémarrer l’instance Oracle: spfile<SID>.ora
Par défaut, les emplacements dépendent de la plate-forme:
o $ORACLE_HOME/dbs (Unix/Linux)
o $ORACLE_HOME\database (windows)
Enseignant Sidi Mahmoud KABERfichiers
Institut Supérieur du Numérique
Troisième année
FICHIERS DE PARAMETRES ORACLE
Le fichier de paramètres contient certains paramètres nécessaires au
démarrage de l’instance,
Les paramètres peuvent être classés en deux catagories:
o Paramètres statiques: ne peuvent pas être modifiés dynamiquement alors
que l’instance est en cours de fonctionnement,
o Paramètres dynamiques: peuvent être modifiés par ordre SQL alors que
l’instance est en cours de fonctionnement,
ALTER SESSION set parameter=VALUE ;
ALTER SYSTEM set parameter=VALUE [COMMENT =‘texte’] [DEFERRED’]
SCOPE=[MEMORY | SPFILE |BOTH]
Enseignant Sidi Mahmoud KABERfichiers
Institut Supérieur du Numérique
Troisième année
PROCESSUS DE CREATION MANUELLE
D’UNE BD ORACLE
o Préparer un fichier de paramètre pfile (crée à la main ou copié d’une base
de données existante), le fichier copié doit être ajusté selon le besoin,
o définir les variables d’environnement ORACLE_SID et ORACLE_HOME,
o démarrer l’instance oracle en mode NOMOUNT,
o lancer le script de création de la base de données ou exécuter directement
le code SQL,
o monter la base de données puis l’ouvrir
o lancer les scripts [Link] et [Link]
Enseignant Sidi Mahmoud KABERfichiers
Institut Supérieur du Numérique
Troisième année
SYNTAXE SQL DE CREATION D’UNE BD ORACLE
CREATE DATABASE testdb
USER SYS IDENTIFIED BY sys_password
USER SYSTEM IDENTIFIED BY system_password
LOGFILE GROUP 1 ('/u01/logs/my/[Link]‘)SIZE 100M,
GROUP 2 ('/u01/logs/my/[Link]') SIZE 100M
MAXLOGHISTORY 1 MAXLOGFILES 16 MAXLOGMEMBERS 3 MAXDATAFILES 1024 CHARACTER SET
AL32UTF8 NATIONAL CHARACTER SET AL16UTF16
EXTENT MANAGEMENT LOCAL DATAFILE '/u01/app/oracle/oradata/mynewdb/[Link]'
SIZE 700M REUSE AUTOEXTEND ON NEXT 10240K MAXSIZE UNLIMITED
SYSAUX DATAFILE '/u01/app/oracle/oradata/mynewdb/[Link]' SIZE 550M REUSE
AUTOEXTEND ON NEXT 10240K MAXSIZE UNLIMITED
DEFAULT TABLESPACE users DATAFILE '/u01/app/oracle/oradata/mynewdb/[Link]'
SIZE 500M REUSE AUTOEXTEND ON MAXSIZE UNLIMITED
DEFAULT TEMPORARY TABLESPACE tempts1
TEMPFILE '/u01/app/oracle/oradata/mynewdb/[Link]' SIZE 20M REUSE AUTOEXTEND ON
NEXT 640K MAXSIZE UNLIMITED
UNDO TABLESPACE undotbs1 DATAFILE '/u01/app/oracle/oradata/mynewdb/[Link]'
SIZE 200M REUSE AUTOEXTEND ON NEXT 5120K MAXSIZE UNLIMITED
USER_DATA TABLESPACE usertbs
DATAFILE '/u01/app/oracle/oradata/mynewdb/[Link]' SIZE 200M REUSE
AUTOEXTEND ON MAXSIZE UNLIMITED;
Enseignant Sidi Mahmoud KABERfichiers