Vous êtes sur la page 1sur 46

ADMINISTRATION DES BASES DE DONNÉES

SOUS ORACLE
Par Ir. Michée TSHIMANGA

CHAPITRE 4 : GESTION DE L’INSTANCE


CHAPITRE 4 : GESTION DE L’INSTANCE
GESTION DES PARAMÈTRES D’INITIALISATION

 Nous avons vu au premier chapitre qu’un serveur Oracle était constitué de deux parties dont une
instance et une base de données.
 Pour rappel :
 Une instance Oracle est un ensemble constitué de processus (Background processes et Server
processes) et des zones mémoire (SGA, Shared Global Area, et PGA, Private Global Area).
 Dans certaines instances, il peut être nécessaire de changer les paramètres d’initialisation.
 Par exemple, vous pouvez avoir besoin d’augmenter le nombre de sessions autorisées pour la
connexion à la base de données lors de l’ajout des utilisateurs.
 Peut importe le cas, vous devez savoir comment effectuer ces changements.
TYPES DE PARAMÈTRES D’INITIALISATION

 Il existe deux types de paramètres d’initialisation :


 Les paramètres dynamiques : Il s’agit des paramètres pouvant être modifiés par un ordre SQL
alors que l’instance est encore de fonctionnement.
 Les paramètres statiques : Il s’agit des paramètres ne pouvant pas être modifiés (prendre effet)
dynamiquement, alors que l’instance est encore de fonctionnement (un redémarrage de l’instance
est requis pour la prise en compte des nouveaux paramètres).
 La modification des paramètres est effectuée à l’aide des ordres SQL : ALTER
SYSTEM (pout les paramètres de portée système) et ALTER SESSION (pour les
paramètres de portée session).
MODIFICATION DES PARAMETRES D’INITIALISATION

 Il existe quelques options pour changer les valeurs des paramètres d’initialisation en
fonction du type de fichier de paramètres utilisé :
 S’il s’agit d’un fichier de paramètres PFILE (parameter file), vous pouvez utiliser un éditeur du
système d’exploitation pour effectuer les changements appropriés.
 S’il s’agit d’un fichier de paramètres serveur SPFILE (server parameter file), les changements
peuvent être effectués en se connectant à l’instance (via SQL*Plus) et en utilisant l’instruction :
 ALTER SYSTEM SET nom_parametre = value;

 Une autre possibilité, c’est d’utiliser Oracle Entreprise Manager pour effectuer ces changements.
UTILISATION DE SQL*PLUS

 L’interface OEM est un outil facile à utiliser pour effectuer les changements, mais
parfois il est nécessaire d’utiliser SQL*Plus pour modifier les paramètres
d’initialisation.
 Vous devriez connaître deux vues dynamiques de performances : V$PARAMETER
et V$SPPARAMETER.
LA VUE V$PARAMETER
 La vue V$PARAMETER montre les informations sur les paramètres d’initialisation en cours
d’utilisation. Elle dispose de plusieurs colonnes utiles telles que :
 NAME : Le nom du paramètre d’initialisation
 VALUE : La valeur courante du paramètre
 DISPLAY_VALUE : La valeur courante du paramètre dans un format plus compréhensible
 ISBASIC : TRUE indique que le paramètre est caractérisé comme un paramètre basique
 ISDEFAULT : FALSE indique que le paramètre était spécifié dans le PFILE ou le SPFILE durant le
démarrage de l’instance
 ISMODIFIED : FALSE indique que le paramètre n’a pas été modifié depuis le démarrage de l’instance.
 ISSES_MODIFIABLE : TRUE indique que le paramètre peut être modifié en utilisant l’instruction ALTER
SESSION.
 ISSYS_MODIFIABLE : FALSE indique que le paramètre ne peut pas être modifié en utilisant l’instruction
ALTER SYSTEM. Des tels paramètres ne peuvent être changés qu’en utilisant la clause SCOPE=SPFILE.
LA VUE V$SPPARAMETER

 La vue V$SPPARAMETER montre le contenu des fichiers de paramètres SPFILE


utilisés pour le démarrage de l’instance.
 Une valeur TRUE pour la colonne ISSPECIFIED indique si le paramètre a été
spécifié dans le fichier SPFILE.
 Si le fichier de type PFILE était utilisé pour le démarrage de l’instance, toutes les
lignes auront la colonne ISSPECIFIED à FALSE.
DIFFÉRENCE ENTRE V$PARAMETER ET V$SPPARAMETER

 Exécutez les deux requêtes et comparez les résultats,


MODIFICATION DES PARAMÈTRES D’INITIALISATION (SUITE)

 Vous pouvez utiliser l’instruction ALTER SESSION pour changer la valeur d’un
paramètre dans la session courante.
 Par exemple, si vous voulez changer le format par défaut d’affichage de la date
uniquement pour la session, vous pouvez utiliser l’instruction suivante :
 Vous pouvez utiliser l’instruction ALTER SYSTEM pour changer la valeur d’un paramètre au niveau du système
ou dans le fichier de paramètre serveur SPFILE.
 Vous utilisez la clause SCOPE pour définir où vous voulez changer le paramètre :
 Soit au niveau de la mémoire (SCOPE=MEMORY) le changement n’est pris en compte que pour l’instance en
cours;

 Soit au niveau du fichier de paramètre (SCOPE=SPFILE). Ces paramètres sont pris en compte au démarrage
de l’instance et ne peuvent plus être modifiés lorsque l’instance est en cours d’exécution.
 Une valeur DEFERRED ou IMMEDIATE dans la colonne ISSYS_MODIFIABLE indique que le
paramètre peut être changé dynamiquement en utilisant ALTER SYSTEM.
 La valeur DEFERRED indique que le changement prend effet lors du démarrage d’une nouvelle
session.
 La valeur IMMEDIATE indique qu’aussitôt que le changement est effectué, la valeur du paramètre
modifié est disponible pour toutes les sessions au sein de l’instance. (Une session étant une tâche
qu’Oracle gère).
 Si vous voulez que les paramètres prennent effet immédiatement en mémoire et
dans les fichiers lors de l’arrêt de la base de données, vous pouvez utiliser la clause
SCOPE=BOTH qui est le mode de paramétrage par défaut lorsque la clause
SCOPE est omise.
 Si un fichier PFILE est utilisé pour le démarrage de l’instance, le changement sera
effectué en mémoire, uniquement pour l’instance en cours d’exécution.
 Exemple :
UTILISATION DE LA COMMANDE SHOW PARAMETER

 La commande SHOW PARAMETER permet de visualiser la valeur d’un paramètre


d’initialisation.
 Vous pouvez spécifier le nom du paramètre en entier ou en partie.
 Par exemple, pour visualiser tous les paramètres liés aux annulations (UNDO), vous
pouvez exécuter la commande comme suit :
EXEMPLE 1

 La modification d’un paramètre uniquement dans le fichier de paramètres serveur :


ALTER SYSTEM SET processes=150
COMMENT ='Modif. du paramètre process, 25 Mai 2021'
SCOPE = SPFILE;
EXEMPLE 2

 La modification d’un paramètre en mémoire et dans le fichier de paramètres serveur:


ALTER SYSTEM SET memory_target = 320M
COMMENT ='Modif paramètre memory, 25 Mai 2021'
SCOPE = BOTH;
RECOMMANDATIONS

 Si vous utilisez un fichier de paramètre serveur (conseillé), et que vous souhaitez


modifier un paramètre statique, procédez de la manière suivante :
 Modifier le paramètre avec l’ordre SQL ALTER SYSTEM et la clause SCOPE = SPFILE
 Redémarrer l’instance (SHUTDOWN IMMEDIATE puis STARTUP)

 Si vous voulez supprimer un paramètre du fichier de paramètre serveur, vous pouvez


utiliser une variante de l’ordre SQL ALTER SYSTEM.
 ALTER SYSTEM RESET paramètre [SCOPE = SPFILE]
LES PARAMÈTRES DANS LE DICTIONNAIRE DE DONNÉES

 Plusieurs vues du dictionnaire permettent de visualiser les paramètres :


 V$SYSTEM_PARAMETER
 V$SYSTEM_PARAMETER2
 V$PARAMETER
 V$PARAMETER2
 V$SPPARAMETER

 Vous pouvez décrire chaque vue et afficher les valeurs des paramètres définies dans
chacune d’elles.
EXPORTATION D’UN FICHIER DE PARAMÈTRES SERVEUR

 Un fichier de paramètres serveur peut être réexporté au format texte par l’ordre
SQL CREATE PFILE :

CREATE PFILE [= ‘NAME_PFILE’]


FROM SPFILE [=‘NAME_SPFILE’];
VALEURS ERRONÉES DANS LE FICHIER DE PARAMÈTRES
 Une valeur erronée dans le fichier de paramètres serveur peut empêcher le
démarrage normal de la base de données.
 Deux cas peuvent se produire :
1. L’instance démarre mais la base de données ne peut pas être montée ou ouverte
2. La base de données ne démarre pas

 Si l’instance démarre, vous pouvez modifier le paramètre erroné, ou le supprimer,


avec l’ordre SQL ALTER SYSTEM (SET ou RESET)
 Si l’instance ne démarre pas, vous pouvez créer un fichier de paramètres texte à
partir du fichier de paramètre serveur (CREATE PFILE FROM SPFILE), corriger la
valeur du paramètre dans le fichier de paramètres texte, puis recréer le fichier de
paramètres serveur à partir du fichier de paramètres texte (CREATE SPFILE FROM
PFILE).
GESTION DYNAMIQUE DE LA MÉMOIRE

 Depuis la version Oracle 9i, la mémoire SGA et PGA sont dynamiques.


 Elles peuvent être modifiées dynamiquement alors que l’instance est en cours de
fonctionnement.
 De plus, depuis la version Oracle 10g, la mémoire partagée peut être gérée
automatiquement et depuis la version Oracle 11g, la totalité de la mémoire (SGA et
PGA) peut l’être aussi.
OBTENIR LES INFORMATIONS SUR LA MÉMOIRE

 La commande SQL*PLUS SHOW SGA ou la vue V$SGA donnent des


informations synthétiques sur la taille de la SGA.
 Exemple :

SELECT name, value, display_value FROM v$parameter


WHERE name IN ('sga_target',
'sga_max_size','memory_target', 'memory_max_target');
STRUCTURES DYNAMIQUES DE LA MÉMOIRE (SGA ET PGA)

 Des informations plus complètes sur les structures dynamiques de la mémoire (SGA
et PGA) sont disponibles dans la vue V$MEMORY_DYNAMIC_COMPONENTS :

SELECT component, current_size/(1024*1024)


AS current_mb
FROM V$MEMORY_DYNAMIC_COMPONENTS;
VÉRIFICATION DU DÉMARRAGE DE LA BASE DE DONNÉES

 Pour vérifier si la base de données est démarrée :


 Sous Windows vous pouvez lancer la requête :

SELECT status FROM v$instance;


 Sous linux, lancer la commande suivante dans le terminal :

ps –ef | grep oracle ou ps –ef | grep nom_process


PROBLEMES COURANTS ET SOLUTIONS

 Plusieurs problèmes peuvent survenir et empêcher le démarrage ou le


bon fonctionnement de la base de données.
 Il peut s’agir :
 D’un fichier de paramètres serveur perdu ou endommagé,
 D’une valeur erronée qui empêche le démarrage
 D’une erreur lors d’un ALTER SYSTEM.
SPFILE PERDU OU ENDOMMAGÉ

 Si le fichier de paramètres serveur est perdu ou endommagé, vous


pouvez :
 Si l’instance est démarrée, le recréer à partir des valeurs des paramètres
actuellement en mémoire (CREATE SPFILE FROM MEMORY)
 Si le fichier de paramètre texte est disponible et valide, le recréer à partir de ce
fichier texte (CREATE SPFILE FROM PFILE)
 Le restaurer à partir d’une sauvegarde.
VALEUR ERRONÉE DANS SPFILE

 Une valeur erronée dans le fichier de paramètres serveur peut empêcher le


démarrage normal de la base de données.
 Deux cas peuvent se produire :
 L’instance démarre mais la base de données ne peut pas être modifiée ou ouverte (ALTER SYSTEM
SET ou RESET)
 L’instance ne démarre pas (CREATE PFILE FROM SPFILE, corriger la valeur puis CREATE
SPFILE FROM PFILE)
ERREURS LORS D’UN ALTER SYSTEM ORA-02065

 ORA-02065 : Option interdite pour ALTER SYSTEM


 Explication : L’option spécifiée n’est pas supportée.
 Cause(s) : Le nom de paramètre est incorrect
 Action(s) :Vérifier et corriger le nom de paramètre
ERREURS LORS D’UN ALTER SYSTEM ORA-02095

 ORA-02095 : Le paramètre d’initialisation indiqué ne peut pas être modifié


 Explication : Le paramètre ne peut pas être modifié
 Cause(s) : Le paramètre est statique et ne peut pas être modifié pour l’instance en
cours.
 Action(s) : Utiliser la clause SCOPE = SPFILE.
ERREURS LORS D’UN ALTER SYSTEM ORA-02096

 ORA-02096 : Le paramètre d’initialisation indiqué ne peut pas être modifié avec


cette option.
 Explication : Le paramètre est modifiable mais pas avec l’option utilisée
 Cause(s) :Vous n’avez pas utilisé l’option DEFERED pour un paramètre qui le
nécessite ou à l’inverse, vous avez utilisé DEFERED pour un paramètre pour lequel
c’est interdit.
 Action(s) : Consulter la documentation du paramètre et corrigez l’ordre SQL.
ERREURS LORS D’UN ALTER SYSTEM ORA-02097

 ORA-02097 : Le paramètre ne peut pas être modifié, car la valeur indiquée n’est pas
valide.
 Explication : Le paramètre est modifiable mais la valeur est incorrecte.
 Cause(s) : En règle générale, cette erreur survient lorsque la valeur spécifiée est
trop grande ou trop petite.
 Action(s) : Consulter la documentation du paramètre et corrigez l’ordre SQL.
DIAGNOSTIQUER LES PROBLEMES SOUS ORACLE

 A partir de la version 11g, Oracle a introduit une nouvelle infrastructure pour le


diagnostic des problèmes : Automatic Diagnostic Repository (ADR).
 ADR se présente sous la forme d’une arborescence de répertoires qui stockent de
manière centralisée les données de diagnostic.
CONCEPTS ADR

 Il existe 2 concepts :
 Les problèmes : Erreurs internes ORA-00600, ORA-07445, etc.
Chaque problème inclut un code ORA… et éventuellement des paramètres
supplémentaires.
 Les incidents : Il s’agit d’une occurrence d’un problème.
Chaque incident porte un numéro.
LE RÉFÉRENTIEL ADR :

 Il stocke tous les fichiers de traces et journaux pour l’ensemble des produits
s’exécutant sur le serveur.
 Base de données,
 Listener…

 Il est défini par le paramètre DIAGNOSTIC_DEST et sa valeur par défaut est


$ORACLE_BASE si cette variable est définie, sinon $ORACLE_HOME/log
RÉPERTOIRES ADR
PRINCIPAUX RÉPERTOIRES

 Alert : Contient les fichiers relatifs aux alertes au format XML


 Incident : Contient les fichiers relatifs aux incidents
 Trace : Contient les fichiers de trace de processus au format texte.
FICHIERS D’ALERTES ET DE TRACES

 Oracle maintient des fichiers d’alerte et de traces dans lesquels il écrit des
informations sur le cycle de vie de la base de données.
 Création de la base de données,
 Démarrages et arrêts,
 Modifications de la structure (Tablespaces, Fichiers de données),
 Erreurs internes (ORA-00600, ORA-07445),
 Problèmes relatifs à l’écriture ou à l’archivage des fichiers de journalisation.
 Etc.
FICHIERS D’ALERTES ET DE TRACES (SUITE)

 Le fichier d’alerte est disponible sous deux formats : texte et XML


 Le nom du fichier d’alerte XML est de la forme : log.xml (sous répertoire alert)
 Le nom du fichier d’alerte Texte est de la forme : alert_<SID>.log (sous répertoire
trace)
 Lorsqu’un processus d’arrière plan rencontre un problème, il écrit des informations
dans un fichier de trace.
 Le nom des fichiers de trace des processus d’arrière-plan est de la forme :
<sid>_<nom_processus>_<id_processus>.trc.
 Le nom des fichiers de trace des processus serveur est de la forme :
<sid>_ora_<id_processus>.trc.
L’OUTIL ADRCI

 ADRCI (Automatic Diagnostic Repository Command Interpreter) est un interpréteur de


commandes pour la gestion des problèmes et des incidents.
 Il permet de :
 Visualiser le fichier alert.log
 Gérer les problèmes et les incidents
 Créer des packages zippés pour envoi au support Oracle
 Purger les fichiers de traces.
 Son utilisation se fait par le lancement de la commande « adrci » au niveau du shell LINUX
ou dans l’invite de commande Windows.
DÉMONSTRATION ADRCI
1. Lancer l’outil adrci : > adrci
2. Visualiser le répertoire Home : > show home
3. Modifier le répertoire Home : > set home diag/rdbms/xe/xe
4. Visualiser la fin du fichier alert.log : > show alert -tail
5. Visualiser les incidents : > show incident
6. Visualiser les problèmes : > show problem
7. Visualiser les traces par ordre chronologique : > show tracefile –rt
8. Purger les traces en indiquant le nombre de minutes (par exemple 2880 minutes
pour 2 jours) :
> purge –age 2880 –type trace
LES VUES DYNAMIQUES DE PERFORMANCES

 Les vues dynamiques de performances permettent d’accéder aux informations


relatives aux changements d’états des structures de la mémoire de l’instance.
 Elles ont des noms de la forme v$nom_de_la_vue. (Exemple : v$instance)
LE DICTIONNAIRE ORACLE

 Le dictionnaire Oracle est un ensemble de tables et de vues qui contiennent toutes les
informations concernant la structure de stockage et tous les objets de la base :
 Il contient les informations concernant :
 La structure logique de la base de données
 La structure physique de la base de données
 Les noms et les définitions des objets
 Les contraintes d’intégrité
 Les noms des utilisateurs et les privilèges attribués
 L’audit sur une base de données.
CONTENU DU DICTIONNAIRE
 Le dictionnaire de données contient les tables de références en lecture seule (SELECT Only).
 Les tables se trouvent dans les tablespaces SYSTEM et SYSAUX;
 Les tables du dictionnaire appartiennent à l’utilisateur SYS
 Les tables du dictionnaire contiennent :
 La définition des SCHEMAS
 Les informations sur les CONTRAINTES
 Les utilisateurs et les privilèges
 Les informations d’AUDIT

 Le dictionnaire contient les tables de base et les vues :


 USER_
 ALL_
 DBA_
ACCES AU DICTIONNAIRE
LES VUES DU DICTIONNAIRE DE DONNÉES
LES VUES DU DICTIONNAIRE DE DONNÉES (SUITE)

Vous aimerez peut-être aussi