Académique Documents
Professionnel Documents
Culture Documents
use only
Oracle Database 11g :
Administration Workshop I
D50102FR20
Edition 2.0
Mai 2010
D65638
THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS CLASSROOM ONLY. COPYING eKIT MATERIALS FROM THIS
COMPUTER IS STRICTLY PROHIBITED
Auteurs Copyright © 2009, Oracle. Tous droits réservés.
Mark Fuller Cette documentation contient des informations qui sont la propriété d'Oracle
Corporation et sont protégées par les lois relatives aux droits d'auteur et à la propriété
intellectuelle. Vous ne pouvez copier et imprimer ce document qu'à des fins
Révisions et d'utilisation personnelle lors de la participation à une formation dispensée par Oracle.
contributions techniques Le document ne peut être modifié ou altéré en aucune manière. A l'exception des cas
où l'utilisation faite du document s'inscrit dans le respect des lois relatives aux droits
Maria Billings d'auteur, vous ne pouvez pas utiliser, partager, télécharger, copier, imprimer, afficher,
Herbert Bradbury exécuter, reproduire, publier, breveter, diffuser, transmettre ou distribuer ce
document, en partie ou en totalité, sans l'autorisation expresse d'Oracle.
Yanti Chang
Les informations fournies dans ce document sont susceptibles de modification sans
Timothy Chien préavis. Par ailleurs, Oracle Corporation ne garantit pas qu'elles soient exemptes
Andy Fotunak d'erreurs et vous invite, le cas échéant, à lui en faire part par écrit à l'adresse
suivante : Oracle University, 500 Oracle Parkway, Redwood Shores, California 94065
Gerlinde Frenzen USA.
Steve Friedberg
Restrictions applicables au gouvernement américain :
Joel Goodman Restricted Rights Notice
Randy Richeson
Joe Roch
Hilda Simon
Ira Singer
James Spiller
Supithran Thananayagam
Branislav Valny
Manju Varrier
Rédacteurs
Raj Kumar
Daniel Milne
Concepteur graphique
Rajiv Chandrabhanu
Editeurs
Jobi Varghese
Veena Narasimhan
THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS CLASSROOM ONLY. COPYING eKIT MATERIALS FROM THIS
COMPUTER IS STRICTLY PROHIBITED
Table des matières
Préface
I Introduction
Objectifs du cours I-2
Planning recommandé I-3
Produits et services Oracle I-4
Oracle Database 11g : "g" signifie "grid" I-5
Grid Infrastructure for Single-Instance I-7
iii
THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS CLASSROOM ONLY. COPYING eKIT MATERIALS FROM THIS
COMPUTER IS STRICTLY PROHIBITED
Segments, extents et blocs 1-37
Tablespaces et fichiers de données 1-38
Tablespaces SYSTEM et SYSAUX 1-39
Automatic Storage Management (ASM) 1-40
Composants de stockage ASM 1-41
Interagir avec une base Oracle : Mémoire, processus et stockage 1-42
Quiz 1-44
Synthèse 1-46
Exercice 1 : Présentation 1-47
iv
THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS CLASSROOM ONLY. COPYING eKIT MATERIALS FROM THIS
COMPUTER IS STRICTLY PROHIBITED
Choisir l'édition de la base de données 2-34
Indiquer l'emplacement d'installation 2-35
Choisir des groupes du système d'exploitation 2-36
Effectuer les vérifications de prérequis 2-37
Page récapitulative de l'installation 2-38
Page Install Product 2-39
Installation terminée 2-40
Option d'installation : Mode automatique 2-41
Quiz 2-42
Synthèse 2-44
Présentation de l'exercice 2 : Préparer l'environnement de base
de données 2-45
THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS CLASSROOM ONLY. COPYING eKIT MATERIALS FROM THIS
COMPUTER IS STRICTLY PROHIBITED
Fichiers de paramètres d'initialisation 4-12
Paramètres d'initialisation simplifiés 4-14
Paramètres d'initialisation : Exemples 4-15
Paramètres d'initialisation : Exemples 4-16
Utiliser SQL*Plus pour afficher les paramètres 4-19
Modifier les valeurs des paramètres d'initialisation 4-21
Modifier les valeurs des paramètres : Exemples 4-23
Quiz 4-24
Démarrage et arrêt de la base de données : Informations d'identification et
de connexion 4-26
Démarrer une instance de base de données Oracle 4-27
Démarrer une instance de base de données Oracle : NOMOUNT 4-28
vi
THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS CLASSROOM ONLY. COPYING eKIT MATERIALS FROM THIS
COMPUTER IS STRICTLY PROHIBITED
Utiliser Enterprise Manager pour gérer les utilisateurs ASM 5-12
Démarrer et arrêter des instances ASM à l'aide de SQL*Plus 5-13
Démarrer et arrêter des instances ASM à l'aide de srvctl 5-15
Démarrer et arrêter des instances ASM à l'aide de l'utilitaire asmcmd 5-16
Présentation des groupes de disques 5-17
Disques ASM 5-18
Unités d'allocation 5-19
Fichiers ASM 5-20
Topographie des extents 5-21
Niveau de détail du striping 5-22
Striping fin 5-23
Groupes d'échec ASM 5-25
vii
THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS CLASSROOM ONLY. COPYING eKIT MATERIALS FROM THIS
COMPUTER IS STRICTLY PROHIBITED
Page Net Services Administration 6-15
Créer un processus d'écoute 6-16
Ajouter des adresses de processus d'écoute 6-17
Enregistrement d'un service de base de données 6-18
Méthodes de résolution de noms 6-20
Easy Connect 6-21
Résolution locale de noms 6-22
Résolution de noms d'annuaire 6-23
Méthode de résolution de noms externe 6-24
Configurer des alias de service 6-25
Options de connexion avancées 6-26
Tester la connectivité Oracle Net 6-28
viii
THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS CLASSROOM ONLY. COPYING eKIT MATERIALS FROM THIS
COMPUTER IS STRICTLY PROHIBITED
de données 7-25
ix
THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS CLASSROOM ONLY. COPYING eKIT MATERIALS FROM THIS
COMPUTER IS STRICTLY PROHIBITED
Verrous LMD 9-7
Mécanisme de mise en file d'attente 9-8
Conflits de verrouillage 9-9
Causes possibles des conflits de verrouillage 9-10
Détecter les conflits de verrouillage 9-11
Résoudre les conflits de verrouillage 9-12
Résoudre les conflits de verrouillage à l'aide d'instructions SQL 9-13
"Verrous mortels" 9-14
Quiz 9-15
Synthèse 9-17
Présentation de l'exercice 9 : Gérer les données et la simultanéité d'accès
aux données 9-18
THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS CLASSROOM ONLY. COPYING eKIT MATERIALS FROM THIS
COMPUTER IS STRICTLY PROHIBITED
Utiliser et gérer les informations d'audit 11-13
Audit basé sur les données 11-14
Audit détaillé 11-16
Stratégie d'audit détaillé 11-17
Instruction LMD auditée : Eléments à prendre en compte 11-19
Règles relatives à l'audit détaillé 11-20
Audit des activités de SYSDBA 11-21
Gérer la trace d'audit 11-22
Oracle Audit Vault 11-23
Quiz 11-24
Synthèse 11-26
Présentation de l'exercice 11 : Implémenter la sécurité de la base
xi
THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS CLASSROOM ONLY. COPYING eKIT MATERIALS FROM THIS
COMPUTER IS STRICTLY PROHIBITED
Créer et tester une alerte 12-32
Notification des alertes 12-33
Réagir aux alertes 12-35
Types d'alerte et effacement des alertes 12-36
Quiz 12-37
Synthèse 12-38
Présentation de l'exercice 12 : Maintenance proactive 12-39
xii
THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS CLASSROOM ONLY. COPYING eKIT MATERIALS FROM THIS
COMPUTER IS STRICTLY PROHIBITED
Régler la récupération d'instance 14-18
Utiliser MTTR Advisor 14-19
Défaillance physique 14-20
Configurer la base de données afin d'optimiser la possibilité
de récupération 14-21
Configurer la zone de récupération rapide 14-23
Multiplexer les fichiers de contrôle 14-24
Fichiers de journalisation 14-26
Multiplexer le fichier de journalisation 14-27
Fichiers de journalisation archivés 14-28
Processus d'archivage (ARCn) 14-29
Fichier de journalisation archivé : Appellation et destinations 14-30
xiii
THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS CLASSROOM ONLY. COPYING eKIT MATERIALS FROM THIS
COMPUTER IS STRICTLY PROHIBITED
16 Procéder à une récupération de la base de données
Objectifs 16-2
Ouvrir une base de données 16-3
Maintenir une base de données ouverte 16-5
Data Recovery Advisor 16-6
Perte d'un fichier de contrôle 16-8
Perte d'un fichier de journalisation 16-9
Perte d'un fichier de données en mode NOARCHIVELOG 16-11
Perte d'un fichier de données non essentiel en mode ARCHIVELOG 16-12
Perte d'un fichier de données essentiel pour le système en mode
ARCHIVELOG 16-13
Défaillances de données : Exemples 16-14
xiv
THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS CLASSROOM ONLY. COPYING eKIT MATERIALS FROM THIS
COMPUTER IS STRICTLY PROHIBITED
Data Pump Import : Transformations 17-19
Utiliser Enterprise Manager pour surveiller les travaux Data Pump 17-20
Migration à l'aide du mode propriétaire de Data Pump 17-21
Mode propriétaire de Data Pump 17-22
Gérer les emplacements de fichier 17-24
SQL*Loader : Présentation 17-25
Charger des données avec SQL*Loader 17-27
Fichier de contrôle SQL*Loader 17-28
Méthodes de chargement 17-30
Tables externes 17-31
Avantages des tables externes 17-32
Définir une table externe avec ORACLE_LOADER 17-33
xv
THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS CLASSROOM ONLY. COPYING eKIT MATERIALS FROM THIS
COMPUTER IS STRICTLY PROHIBITED
Utiliser l'assistant pour patches 18-26
Appliquer un patch 18-27
Mettre un patch en zone de stockage temporaire 18-28
Application à chaud de patches : Présentation 18-29
Installer à chaud un patch en ligne 18-30
Avantages de l'application à chaud de patches 18-31
Patches conventionnels et patches en ligne 18-32
Considérations relatives aux patches en ligne 18-33
Quiz 18-35
Synthèse 18-36
Présentation de l'exercice 18 : Utiliser les outils EM pour les alertes et
les patches 18-37
F Oracle Restart
Objectifs F-2
Oracle Restart F-3
Démarrage des processus Oracle Restart F-5
Contrôler Oracle Restart F-6
Choisir l'utilitaire SRVCTL approprié F-8
Configuration Oracle Restart F-9
Utiliser SRVCTL F-10
Obtenir de l'aide sur l'utilitaire SRVCTL F-11
Démarrer des composants à l'aide de SRVCTL F-12
Arrêter des composants à l'aide de SRVCTL F-13
Afficher le statut des composants F-14
Afficher la configuration Oracle Restart d'un composant F-15
Ajouter manuellement des composants à la configuration Oracle Restart F-16
Quiz F-17
Synthèse F-18
xvi
THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS CLASSROOM ONLY. COPYING eKIT MATERIALS FROM THIS
COMPUTER IS STRICTLY PROHIBITED
Que faire maintenant ? G-2
Ressources de formation G-3
Oracle University G-4
Poursuivre la formation G-5
Domaines spécialisés en matière de base de données G-6
Oracle Real Application Clusters G-7
Oracle Data Guard G-8
Présentation d'Oracle Streams G-9
Oracle Technology Network G-11
Sécurité G-12
Oracle by Example G-13
Oracle Magazine G-14
xvii
THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS CLASSROOM ONLY. COPYING eKIT MATERIALS FROM THIS
COMPUTER IS STRICTLY PROHIBITED
Oracle University and OMNIDATA. use only
THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS CLASSROOM ONLY. COPYING eKIT MATERIALS FROM THIS
COMPUTER IS STRICTLY PROHIBITED
Introduction
THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS CLASSROOM ONLY. COPYING eKIT MATERIALS FROM THIS
COMPUTER IS STRICTLY PROHIBITED
Objectifs du cours
Objectifs du cours
Dans ce cours, vous allez installer le logiciel Oracle Database 11g Release 2 Enterprise
Edition, créer une base de données et apprendre à administrer celle-ci.
Vous allez également configurer la base pour la prise en charge d'une application, et effectuer
des opérations telles que la création d'utilisateurs, la définition de structures de stockage et la
configuration de la sécurité. Ce cours utilise une application fictive sur laquelle vous
effectuerez toutes les tâches fondamentales nécessaires à une application réelle.
L'administration d'une base de données ne se limite pas à sa seule configuration. Vous devez
également apprendre à protéger la base en élaborant une stratégie de sauvegarde et de
récupération, et à la surveiller pour vous assurer de son bon fonctionnement.
• Oracle Database
• Oracle WebLogic Application Server
• Oracle Applications
• Oracle Collaboration Suite
• Oracle Developer Suite
• Oracle Services
THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS CLASSROOM ONLY. COPYING eKIT MATERIALS FROM THIS
COMPUTER IS STRICTLY PROHIBITED
Architecture d'une base de données Oracle
THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS CLASSROOM ONLY. COPYING eKIT MATERIALS FROM THIS
COMPUTER IS STRICTLY PROHIBITED
Objectifs
Objectifs
Ce chapitre décrit en détail l'architecture d'une base de données Oracle. Il présente les
structures physiques et logiques, ainsi que les divers composants de la base.
Architecture multiniveau
Se connecter à un serveur
Un utilisateur de base de données peut se connecter à un serveur Oracle de trois manières :
• L'utilisateur se connecte au système d'exploitation qui exécute l'instance Oracle et
démarre une application ou un outil qui accède à la base de données stockée sur ce
système. La voie de communication est établie à l'aide des mécanismes de
communication interprocessus disponibles dans le système d'exploitation hôte.
• L'utilisateur démarre l'application ou l'outil sur un ordinateur local, et il se connecte via
un réseau à l'ordinateur qui exécute la base Oracle. Dans cette configuration (appelée
client/serveur), un logiciel réseau est utilisé pour la communication entre l'utilisateur et
le serveur de base de données.
L'architecture client/serveur comprend une partie frontale (client) et une partie dorsale
(serveur) connectées via un réseau. La communication entre l'utilisateur et le serveur
Oracle est assurée par un logiciel réseau.
- Le client est une application de base de données qui lance une demande pour
effectuer une opération sur le serveur de base de données. Il demande, traite et
présente les données gérées par le serveur. Le poste de travail client peut être
optimisé pour sa fonction. Par exemple, il n'a pas forcément besoin d'une grande
capacité de disque, ou encore il peut avoir besoin de fonctionnalités graphiques.
Le client est souvent exécuté sur un ordinateur différent du serveur de base de
données. Plusieurs clients peuvent accéder simultanément à un même serveur.
Serveur
Structures de processus
I1
I1 I2 I3
I2
D1
Espace de D
stockage local
Espace de stockage
partagé
Connexion
Session
Cache de tampons de
Tampon de journalisation
Le tampon de journalisation (redo log buffer) est une mémoire tampon réutilisable située dans
la mémoire SGA qui contient des informations sur les modifications effectuées dans la base.
Ces informations sont stockées sous la forme d'entrées de journalisation. Celles-ci contiennent
les informations nécessaires à l'annulation (redo) des modifications apportées à la base par des
opérations LMD (langage de manipulation de données), LDD (langage de définition de
données) ou internes. Elles sont utilisées pour la récupération de la base.
Lorsque le processus serveur effectue des modifications dans le cache de tampons, des entrées
de journalisation sont générées et écrites dans le tampon de journalisation de la mémoire
SGA. Elles occupent un espace séquentiel continu dans le tampon. Le processus LGWR (Log
Writer) en arrière-plan écrit le tampon de journalisation dans le fichier de journalisation ou le
groupe de fichiers de journalisation qui est actif sur le disque.
Réponse : 2
Réponse : 3
• Processus utilisateur
– Application ou outil qui se connecte à la base de données
Oracle
• Processus de base de données
– Processus serveur : Se connecte à l'instance Oracle et
démarre lorsqu'un utilisateur ouvre une session
– Processus en arrière-plan : Démarrés en même temps qu'une
instance Oracle
• Démon / processus applicatifs
Il écrit sur le disque les tampons qui ont été modifiés ("dirty")
dans le cache de tampons de la base de données :
• de manière asynchrone pendant l'exécution d'autres
traitements
• pour faire avancer le point de reprise
CKPT Fichier de
contrôle
Fichiers de
données
Instance
SMON
Segment
temporaire
Base de données
Fichier de
Tablespace
données
Segment
Système de stockage
• SAN • NFS
8 Ko 8 Ko 8 Ko 8 Ko 8 Ko
8 Ko 8 Ko 8 Ko 8 Ko 8 Ko
Un seul fichier de
8 Ko 8 Ko 8 Ko 8 Ko 8 Ko données autorisé
8 Ko 8 Ko 8 Ko 8 Ko 8 Ko <= 128 To
Extent Extent
Segment
160 Ko
ASM
Fichier de
Groupe
base de
Fichier ASM de disques
données
ASM
Oracle
Extent ASM
Système
Utilisateur
Réponse : 2
Réponse : 3
THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS CLASSROOM ONLY. COPYING eKIT MATERIALS FROM THIS
COMPUTER IS STRICTLY PROHIBITED
Installer le logiciel Oracle
THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS CLASSROOM ONLY. COPYING eKIT MATERIALS FROM THIS
COMPUTER IS STRICTLY PROHIBITED
Objectifs
Planifier l'installation
Avant de commencer à installer un logiciel Oracle, vous devez vous poser les questions
suivantes pour planifier l'installation :
• Quel logiciel Oracle allez-vous installer ?
Ce cours suppose que vous installez la base de données Oracle Database. Oracle
recommande d'utiliser la technologie de stockage ASM (Automatic Storage
Management). Cela implique que vous installiez Oracle Grid Infrastructure à partir des
supports du logiciel de cluster pour disposer à la fois des composants requis pour ASM et
d'Oracle Restart.
• Le matériel disponible est-il conforme à la configuration minimale requise ?
Identifiez tous les équipements impliqués dans le processus d'installation et assurez-vous
qu'ils répondent aux spécifications minimales suggérées.
• Si vous installez plusieurs produits, un ordre d'installation particulier est-il
conseillé ?
Dans la mesure du possible, il est recommandé d'installer Oracle Grid Infrastructure
avant le logiciel Oracle Database. Ainsi, la base de données créée peut être configurée
pour l'utilisation de groupes de disques ASM et elle est enregistrée automatiquement
dans Oracle Restart. Si Oracle Grid Infrastructure est installé après la base de données
Oracle, des étapes de configuration manuelles sont nécessaires pour enregistrer la base
dans Oracle Restart. Si vous voulez que la base de données existante utilise des groupes
de disques ASM comme système de stockage, vous devrez procéder à des opérations de
migration.
• Espace temporaire
approprié
• 64 bits ou 32 bits
• Système d'exploitation
correct
• Niveau de patch du système d'exploitation
• Packages système
• Paramètres système et paramètres du noyau
Créer l'inventaire
S'il n'existe pas encore d'inventaire Oracle sur l'ordinateur hôte, la page Create Inventory
s'affiche. Dans le champ Iventory Directory, indiquez l'emplacement où vous souhaitez créer
le répertoire oraInventory. L'emplacement recommandé est
/u01/app/oraInventory. Le répertoire oraInventory doit être situé un niveau au-
dessus du répertoire ORACLE_BASE. Dans la liste de sélection, choisissez le nom du groupe
oraInventory. Le nom recommandé est oinstall. Cliquez sur le bouton Next pour
continuer l'installation.
Terminer l'installation
La page "Finish" est affichée à la fin de l'installation. Cliquez sur le bouton Close pour fermer
l'utilitaire OUI.
Réponse : 2
Commentaire
Par exemple, les utilisateurs et les groupes du système d'exploitation doivent être créés sous
UNIX et Linux avant l'installation du logiciel.
Réponse : 2
Installation terminée
Lorsque toutes les étapes d'installation sont terminées, la page Finish s'affiche. Cliquez sur le
bouton Close pour fermer l'utilitaire OUI.
Réponse : 4
Réponses : 1, 3
THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS CLASSROOM ONLY. COPYING eKIT MATERIALS FROM THIS
COMPUTER IS STRICTLY PROHIBITED
Créer une base de données Oracle à l'aide
de DBCA
THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS CLASSROOM ONLY. COPYING eKIT MATERIALS FROM THIS
COMPUTER IS STRICTLY PROHIBITED
Objectifs
NLS_LANG
Client Serveur
Exemple :
NLS_LANG
AL32UTF8 Oracle Net
Client Serveur
Windows US Jeu de caractères
Page de codes : WE8MSWIN1252 de la base de données :
AL32UTF8
Problèmes à éviter
L'insertion de données non valides dans une base de données résulte généralement d'une
configuration incorrecte du paramètre NLS_LANG sur le client. La valeur de ce paramètre
doit refléter l'encodage des données entrantes.
• Lorsque le paramètre NLS_LANG est défini correctement, la base peut convertir
automatiquement les données entrantes provenant du système d'exploitation du client.
• Lorsque le paramètre NLS_LANG n'est pas défini correctement, les données entrées dans
la base ne sont pas converties de façon appropriée.
Par exemple, supposons que le jeu de caractères de la base de données soit AL32UTF8, que
le client utilise le système d'exploitation Windows en langue anglaise (page de
code WE8MSWIN1252) et que la valeur du paramètre NLS_LANG du client soit AL32UTF8.
Les données envoyées par le client sont donc encodées en WE8MSWIN1252, mais la base ne
les convertit pas car la valeur de NLS_LANG correspond à son jeu de caractères. La base
Oracle considère par conséquent que la conversion n'est pas nécessaire et il se peut que des
données non valides y soient introduites.
Assistant DBCA
L'assistant DBCA (Database Configuration Assistant) vous aide à effectuer différentes
opérations. Vous pouvez l'utiliser pour créer une base de données, modifier sa configuration
ou la supprimer. Vous pouvez créer une base de données à partir d'une liste de modèles
prédéfinis, ou utiliser comme modèle une base de données existante pour créer une autre base
ou un autre modèle.
DBCA fournit plusieurs options pour vous permettre de créer une base de données adaptée à
vos besoins. Il affiche une série de pages où vous entrez les informations de configuration. La
plupart de ces pages proposent des paramètres par défaut que vous pouvez accepter ou
modifier. La procédure à suivre pour créer une base de données à l'aide de DBCA est décrite
ci-après.
1. Connectez-vous à l'ordinateur en tant que membre du groupe d'administrateurs système
(DBA) autorisés à installer le logiciel Oracle. Si nécessaire, définissez des variables
d'environnement et entrez dbca pour appeler l'assistant DBCA. Dans la page d'accueil
principale qui apparaît, cliquez sur Next pour continuer.
2. Choisissez l'action que vous voulez effectuer. Sélectionnez Create a Database, puis
cliquez sur Next pour commencer l'opération.
Créez plusieurs
copies des fichiers de
journalisation et
fichiers de contrôle si
vous le souhaitez. 8
10
B
11
12
13
14
Réponse : 1
Réponse : 2
THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS CLASSROOM ONLY. COPYING eKIT MATERIALS FROM THIS
COMPUTER IS STRICTLY PROHIBITED
Gérer l'instance de base de données
THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS CLASSROOM ONLY. COPYING eKIT MATERIALS FROM THIS
COMPUTER IS STRICTLY PROHIBITED
Objectifs
Structure de gestion
Les trois principaux composants de la structure de gestion de base de données Oracle sont les
suivants :
• Instance de base de données à gérer.
• Processus d'écoute (listener) permettant les connexions à la base de données.
• Interface de gestion, qu'il s'agisse d'un agent de gestion qui s'exécute sur le serveur de
base de données (et le connecte à Oracle Enterprise Manager Grid Control) ou de
l'interface Oracle Enterprise Manager Database Control autonome. Cette interface est
également appelée Database Console.
Vous devez démarrer chacun de ces composants pour pouvoir utiliser ses services. Vous
devez également fermer chacun d'eux correctement lorsque vous arrêtez le serveur qui
héberge la base Oracle.
$ . oraenv
ORACLE_SID = [orcl] ? orcl
The Oracle base for ORACLE_HOME=/u01/app/oracle/product/11.2.0/db_home1
is /u01/app/oracle
$ emctl start dbconsole
Oracle Enterprise Manager 11g Database Control Release 11.2.0.1.0
Copyright (c) 1996, 2009 Oracle Corporation. All rights reserved.
http://host01.example.com:1158/em/console/aboutApplication
Starting Oracle Enterprise Manager 11g Database Control ........started.
----------------Logs are generated in directory
/u01/app/oracle/product/11.2.0/db_home1/host01.example.com_orcl/sysman/
log
Pages de propriétés
SQL*Plus est :
• un outil en mode ligne de commande
• utilisé en mode interactif ou en mode batch
$ sqlplus hr
Connected to:
Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - Production
With the Partitioning, Automatic Storage Management, OLAP, Data Mining
Utiliser SQL*Plus
Vous pouvez utiliser l'interface en mode ligne de commande de SQL*Plus pour exécuter des
commandes SQL*Plus, SQL et PL/SQL afin d'effectuer les tâches suivantes :
• Entrer, modifier, exécuter, stocker, extraire et enregistrer des commandes SQL et des
blocs PL/SQL.
• Mettre en forme, calculer, stocker et afficher les résultats des interrogations.
• Répertorier les définitions des colonnes d'une table.
• Envoyer des messages à un utilisateur final et accepter les réponses de cet utilisateur.
• Administrer la base de données.
Pour démarrer SQL*Plus :
1. Ouvrez une fenêtre sur un terminal.
2. A l'invite de commande, entrez la commande SQL*Plus suivante :
$ sqlplus <userid>/<pwd> or /nolog
3. Si vous utilisez l'option NOLOG, vous devez entrer la commande CONNECT suivie du
nom utilisateur avec lequel vous voulez vous connecter.
SQL> connect <username>
4. Lorsque vous y êtes invité, entrez le mot de passe de l'utilisateur. SQL*Plus démarre et
établit une connexion à la base de données par défaut.
$ ./batch_sqlplus.sh
Connected to:
Sortie
Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - Production
With the Partitioning, Automatic Storage Management, OLAP, Data Mining
and Real Application Testing options
# Name of this file: batch_sqlplus.sh
SQL> # Count employees and give raise.
COUNT(*) sqlplus hr/hr <<EOF
---------- select count(*) from employees;
107 update employees set salary = salary*1.10;
SQL> commit;
Sortie
$ sqlplus hr/hr @script.sql
Connected to:
Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - Production
With the Partitioning, Automatic Storage Management, OLAP, Data Mining
and Real Application Testing options
CONTROL_FILES DB_CACHE_SIZE
Paramètre Signification
Espace Espace
de pile Mémoire de pile Mémoire
UGA UGA
PGA PGA
Paramètre Signification
9 rows selected.
Session altered.
SYSDATE
-----------
jun 18 2009
System altered.
Réponse : 2
Réponse : 1
o 1
u
2
1
OPEN
STARTUP
MOUNT
NOMOUNT
Instance
OPEN
STARTUP
MOUNT
Fichier de
contrôle ouvert
NOMOUNT pour cette
instance
Instance
OPEN
STARTUP Tous les fichiers sont
ouverts, conformément à la
description du fichier de
MOUNT
contrôle pour cette instance
Fichier de contrôle
ouvert pour cette
NOMOUNT instance
Instance
Modes d'arrêt A I T N
Force un point de reprise et ferme les fichiers Non Oui Oui Oui
Modes d'arrêt :
Modes d'arrêt
Les modes d'arrêt ci-dessous sont classés selon leur adaptation à l'activité en cours (du moins
adapté au plus adapté) :
• Le mode ABORT effectue des tâches minimales avant l'arrêt. Il requiert une opération de
récupération avant le démarrage. Ne l'utilisez donc qu'en cas de nécessité. Ce mode est
généralement utilisé lorsqu'aucun autre mode d'arrêt ne fonctionne, lorsque le démarrage
de l'instance se révèle problématique, ou lorsque vous avez besoin d'arrêter l'instance
immédiatement en raison d'un événement imminent (tel que l'annonce d'une coupure de
courant dans les secondes qui suivent).
• IMMEDIATE est l'option utilisée le plus fréquemment. Les transactions non validées sont
annulées (rollback).
• Le mode TRANSACTIONAL laisse les transactions en cours se terminer, mais empêche
le démarrage de nouvelles transactions.
• Le mode NORMAL attend la déconnexion des sessions.
Du point de vue du temps nécessaire pour effectuer l'arrêt, ABORT est le mode le plus rapide,
et NORMAL, le plus lent. Les modes d'arrêt NORMAL et TRANSACTIONAL peuvent être longs,
en fonction du nombre de sessions et de transactions en cours.
Options d'arrêt
SHUTDOWN NORMAL
NORMAL est le mode d'arrêt utilisé par défaut quand aucun mode n'est précisé. Un arrêt
"normal" de la base de données a lieu dans les conditions suivantes :
• Aucune nouvelle connexion ne peut être établie.
• Le serveur Oracle attend que tous les utilisateurs se déconnectent avant de procéder à
l'arrêt.
• Les tampons de la base de données et les tampons de journalisation (redo log buffers)
sont écrits sur le disque.
• Les processus en arrière-plan sont arrêtés et la mémoire SGA est libérée.
• Le serveur Oracle ferme et démonte la base de données avant d'arrêter l'instance.
• Le démarrage suivant ne nécessite pas de récupération d'instance.
SHUTDOWN TRANSACTIONAL
Un arrêt en mode TRANSACTIONAL évite aux clients de perdre des données, notamment les
résultats des activités en cours. Un arrêt TRANSACTIONAL de la base de données
s'accompagne des conditions suivantes :
• Aucun client ne peut démarrer de nouvelle transaction sur cette instance particulière.
• Un client est déconnecté lorsqu'il termine la transaction en cours.
• Lorsque toutes les transactions sont terminées, l'arrêt a lieu immédiatement.
• Le démarrage suivant ne nécessite pas de récupération d'instance.
Remarque : IMMEDIATE est le mode d'arrêt par défaut avec Enterprise Manager.
• A l'aide de SQL*Plus :
SQL> shutdown 1
4 DESCRIBE dba_indexes
Réponse : 2
Réponse : 3
THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS CLASSROOM ONLY. COPYING eKIT MATERIALS FROM THIS
COMPUTER IS STRICTLY PROHIBITED
Objectifs
Objectifs
Ce chapitre fournit une présentation détaillée de l'instance ASM et explique comment la gérer
avec différents utilitaires.
MARK
Autres processus divers
Instance ASM
Instance ASM
A chaque démarrage d'ASM ou d'une base de données, une zone de mémoire partagée appelée
SGA (System Global Area) est allouée et des processus en arrière-plan sont lancés. La
combinaison de ces processus et de la mémoire SGA est appelée instance ASM ou instance de
base de données Oracle. Une instance représente les composants de CPU et de RAM d'un
environnement d'exécution ASM.
La mémoire SGA associée à une instance ASM est différente de la mémoire SGA utilisée
pour une instance de base de données. Elle est divisée en quatre zones principales :
• La zone de mémoire partagée est utilisée pour les métadonnées.
• La zone de mémoire LARGE POOL est utilisée pour les opérations en parallèle.
• La mémoire cache ASM est utilisée pour la lecture et l'écriture des blocs pendant les
opérations de rééquilibrage.
• La mémoire disponible est la mémoire existante qui n'a pas été allouée.
La quantité de mémoire minimale recommandée pour une instance ASM est 256 Mo. La
gestion automatique de la mémoire est activée par défaut pour chaque instance ASM. Elle
règle dynamiquement la taille des différents composants de la mémoire SGA. La quantité de
mémoire qui est nécessaire pour une instance ASM dépend de la quantité d'espace disque
gérée par ASM.
Une instance ASM comprend par ailleurs des processus en arrière-plan. Ceux-ci peuvent être
nombreux, mais ils ne sont pas toujours présents.
GMON Gère les activités de niveau disque telles que la suppression ou la mise
hors ligne, ou la modification du niveau de compatibilité d'un groupe de
disques ASM
MARK Marque les unités d'allocation ASM comme étant obsolètes le cas échéant
Initialisation Allocation
Stockage
ASM
Instance ASM Instance ASM Instance ASM Instance ASM Instance ASM
Serveurs
Oracle RAC
Base de Base de Base de
données données données
Disques ASM
Un groupe de disques ASM contient un ou plusieurs disques ASM.
Ceux-ci doivent être accessibles en lecture et en écriture au propriétaire d'ASM à partir de
tous les noeuds du cluster.
Un disque ASM peut être une partition de disque, mais Oracle déconseille fortement de
partager les disques physiques utilisés par ASM avec d'autres applications. En effet, pour que
la stratégie de striping et de mise en miroir fonctionne au mieux, les performances d'E/S des
disques ASM doivent être similaires et cohérentes au sein du groupe, ce qui est difficile à
garantir lorsque les disques sont utilisés par d'autres applications.
Il n'est pas nécessaire que les noms générés par le système d'exploitation pour les disques
ASM soient identiques sur les différents noeuds d'un cluster. ASM identifie les membres d'un
groupe en lisant les en-têtes des disques ASM.
En général, les disques ASM sont des unités logiques de stockage (LUN) "raw" provenant
d'une unité de stockage présentée à ASM. Il peut également s'agir de fichiers situés sur un
serveur de fichiers NFS distant.
Unités d'allocation
L'espace disponible sur un disque ASM est divisé en unités d'allocation. La taille par défaut
des unités d'allocation est de 1 Mo, ce qui est assez faible pour éviter les points d'accès
uniques, mais assez important pour assurer un accès séquentiel efficace. Vous pouvez définir
la taille des unités d'allocation lorsque vous créez un groupe de disques. Il est impossible de
changer cette valeur ultérieurement. Il peut être utile de définir des unités d'allocation de
grande taille dans les scénarios incluant une base de données très volumineuse (VLDB) ou un
matériel de stockage spécialisé. Lorsqu'une unité d'allocation fait l'objet d'accès répétés, le
noyau de la base de données la met en mémoire cache pour plus d'efficacité.
Fichiers ASM
ASM met un ensemble de fichiers à la disposition de ses clients. Un fichier ASM est constitué
d'unités d'allocations et apparaît comme un fichier standard pour le noyau de la base de
données.
Chaque fichier ASM a un nom unique généré par le système. La diapositive ci-dessus donne
un exemple de nom de fichier ASM entièrement qualifié. Ce nom représente une hiérarchie
qui commence par le signe plus (+) concaténé avec le nom du groupe de disques. Les
éléments suivants de la hiérarchie sont le nom de la base de données et le type de fichier. Le
dernier élément comprend un nom de balise, un numéro de fichier et un numéro de version. Il
est possible de créer un alias pour avoir une référence plus conviviale au fichier.
Les fichiers sont répartis équitablement entre les membres d'un groupe de disques ASM selon
la stratégie SAME (Stripe And Mirror Everything).
ASM prend en charge la plupart des types de fichier de base de données (fichiers de données,
fichiers journaux, fichiers de contrôle, sauvegardes RMAN, etc.). Avant la version Oracle
Database 11g Release 2, il ne prenait en charge que les fichiers de base de données Oracle et
ne pouvait pas être utilisé pour stocker et gérer les fichiers trace et les fichiers d'alertes ASCII,
les fichiers binaires Oracle, le registre OCR (Oracle Cluster Registry) et le disque votant d'un
cluster. Oracle Database 11g Release 2 élimine cette restriction en permettant d'exécuter un
système de fichier généraliste sur ASM.
1
5
Topographie
des extents Disque B
2
6
Disque C
Disque D
Extent du
fichier 4
8
Striping fin
Le striping fin fractionne les extents de données en portions (stripes) de 128 Ko, ce qui
améliore les performances des entrées-sorties pour certains types de fichier en distribuant la
charge associée à chaque extent entre plusieurs disques. Ce type de striping est utilisé par
défaut pour les fichiers de contrôle et les fichiers de journalisation en ligne.
Le diagramme ci-dessus illustre le fonctionnement du striping fin. Dans cet exemple, le
premier extent (1 Mo) d'un nouveau fichier finit par occuper les premiers 128 Ko de 8 unités
d'allocation distinctes réparties entre les huit membres du groupe de disques. Une opération de
lecture ou d'écriture d'un méga-octet fait donc intervenir huit disques au lieu d'un seul.
CREATE DISKGROUP
ALTER DISKGROUP
Commandes ALTER
La première instruction de la diapositive ci-dessus supprime un membre du groupe de disques
DGROUPA. La deuxième instruction cumule une suppression et un ajout de disque. L'avantage
est que le rééquilibrage ne commence que lorsque les deux opérations ont été effectuées. La
troisième instruction annule la suppression d'un disque. La commande UNDROP opère
uniquement sur les suppressions de disque en attente. Elle n'a pas d'effet sur les suppressions
déjà effectuées.
L'instruction suivante rééquilibre le groupe de disques DGROUPB, si nécessaire :
ALTER DISKGROUP dgroupB REBALANCE POWER 5;
Cette commande n'est généralement pas nécessaire, car elle est exécutée automatiquement
lorsque des disques sont ajoutés, supprimés ou redimensionnés. Elle est toutefois utile si vous
souhaitez indiquer la clause POWER pour remplacer la vitesse par défaut définie par le
paramètre d'initialisation ASM_POWER_LIMIT. Vous pouvez modifier la vitesse d'une
opération de rééquilibrage en cours en entrant cette commande avec une autre valeur de
POWER. La valeur 0 interrompt l'opération de rééquilibrage jusqu'à ce que la commande
REBALANCE soit à nouveau lancée (implicitement ou explicitement). L'instruction suivante
démonte le groupe de disques DGROUPA :
ALTER DISKGROUP dgroupA DISMOUNT;
Les options MOUNT et DISMOUNT permettent de contrôler les groupes de disques mis à la
disposition des instances de base de données. La possibilité de monter et démonter
manuellement les groupes de disques est utile dans un environnement ASM clusterisé qui
prend en charge une seule instance, lorsque cette instance change de noeud suite à une panne.
• A l'aide de SQL*Plus :
SQL> SELECT f.type, f.redundancy, f.striped, f.modification_date,
a.system_created, a.name FROM v$asm_alias a, v$asm_file f WHERE
a.file_number = f.file_number and a.group_number = f.group_number
and type='DATAFILE';
TYPE REDUND STRIPE MODIFICAT S NAME
-------- ------ ------ --------- - ---------------------
DATAFILE MIRROR COARSE 08-JUL-09 Y SYSTEM.256.689832921
DATAFILE MIRROR COARSE 08-JUL-09 Y SYSAUX.257.689832923
..
• A l'aide de l'utilitaire asmcmd :
secondaire
principal
Extent
Extent
Réponse : 1
Quels sont les deux types de fichier pour lesquels le striping fin
est utilisé par défaut ?
1. Fichiers de données
2. Fichiers de contrôle
3. Fichiers temporaires
4. Fichiers de journalisation en ligne
5. SPFILE
Réponses : 2, 4
THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS CLASSROOM ONLY. COPYING eKIT MATERIALS FROM THIS
COMPUTER IS STRICTLY PROHIBITED
Objectifs
Ressources
• Oracle Database Net Services Administrator’s Guide
• Oracle Database Net Services Reference
Application RDBMS
Processus
serveur
Session utilisateur PGA
Processus
utilisateur
Sessions utilisateur
Si le paquet CONNECT demande un nom de service valide, le processus d'écoute crée un
nouveau processus afin de traiter la connexion. Ce nouveau processus est appelé processus
serveur. Le processus d'écoute s'y connecte et lui transmet les informations d'initialisation,
notamment l'adresse du processus utilisateur. A ce stade, le processus d'écoute ne gère plus la
connexion et tout le travail est transmis au processus serveur.
Le processus serveur vérifie les informations d'identification et de connexion de l'utilisateur
(généralement un mot de passe). Si elles sont valides, une session utilisateur est créée.
Processus serveur dédié : Une fois la session établie, le processus serveur joue le rôle
d'agent de l'utilisateur sur le serveur. Le processus serveur est responsable des opérations
suivantes :
• Analyse (parse) et exécution des instructions SQL exécutées par l'intermédiaire de
l'application.
• Examen du cache de tampons de la base pour rechercher les blocs de données requis pour
exécuter les instructions SQL.
• Lecture des blocs nécessaires à partir des fichiers de données sur disque dans la partie
cache de tampons de la base de données de la mémoire SGA, si les blocs ne sont pas déjà
présents dans celle-ci.
• Gestion de toutes les activités de tri. La zone de tri est une zone de mémoire qui est
utilisée pour les tris. Elle se trouve dans une portion de la mémoire associée à la mémoire
PGA (Program Global Area).
• Renvoi des résultats au processus utilisateur de sorte que l'application puisse traiter les
informations.
• Lecture des options d'audit et envoi d'un état sur les processus utilisateur à la destination
d'audit.
Oracle Database 11g : Administration Workshop I 6 - 7
THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS CLASSROOM ONLY. COPYING eKIT MATERIALS FROM THIS
COMPUTER IS STRICTLY PROHIBITED
Outils de configuration et de gestion
de l'environnement réseau Oracle
LSNRCTL> help
The following operations are available
• Invite de l'utilitaire :
$ srvctl -h
$ srvctl start listener
$ srvctl stop listener
$ srvctl start listener –l mylistener
1 2
Fichiers de configuration
Oracle Net
Easy Connect
Avec Easy Connect, vous fournissez toutes les informations requises pour la connexion
Oracle Net dans la chaîne de connexion. Les chaînes de connexion Easy Connect présentent
la forme suivante :
<username>/<password>@<hostname>:<listener port>/<service name>
Le numéro de port du processus d'écoute (listener port) et le nom du service (service name)
sont facultatifs. Si le port du processus d'écoute n'est pas précisé, Oracle Net utilise le port par
défaut (1521). Si le nom du service est omis, Oracle Net suppose qu'il est identique au nom
d'hôte (hostname) fourni dans la chaîne de connexion.
En supposant que le processus d'écoute utilise le protocole TCP pour écouter sur le port 1521
et que les paramètres d'instance SERVICE_NAMES=db et DB_DOMAIN=us.oracle.com
sont définis, la chaîne de connexion illustrée dans la diapositive ci-dessus peut être abrégée de
la façon suivante :
SQL> connect hr/hr@db.us.oracle.com
Remarque : Le paramètre d'initialisation SERVICE_NAMES accepte plusieurs valeurs
séparées par des virgules. Il suffit qu'une seule de ces valeurs soit égale à db pour que ce
scénario fonctionne.
Fichiers de
configuration
Oracle Net
Service de noms
non Oracle
Processus
serveur
Processus
serveur
Processus d'écoute
Processus serveur
Processus serveur
Processus serveur
Processus
d'écoute
Mémoire PGA
Zone Zone de
Etat du de tri hachage
curseur
Espace
Zone de création
de pile
d'index bitmap
Données de
session Zone de fusion
utilisateur d'index bitmap
Client
actif
Serveur de Le nombre
Réponses : 1, 5
Réponse : 2
THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS CLASSROOM ONLY. COPYING eKIT MATERIALS FROM THIS
COMPUTER IS STRICTLY PROHIBITED
Gérer les structures de stockage
de base de données
THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS CLASSROOM ONLY. COPYING eKIT MATERIALS FROM THIS
COMPUTER IS STRICTLY PROHIBITED
Objectifs
Colonnes Blocs
Table A Table B
Lignes
Segment Segment
Table
Tablespace
En-tête de bloc
Croissance
Espace libre
Créer un tablespace
1. Cliquez sur l'onglet Server, puis sur le lien Tablespaces sous l'en-tête Storage.
2. Cliquez sur Create.
Remarque : Si vous souhaitez créer un tablespace semblable à un tablespace existant,
sélectionnez le tablespace existant de votre choix, puis cliquez sur Create Like dans le
menu Actions. Cliquez sur Go.
La page Create Tablespace apparaît.
3. Entrez le nom du tablespace.
4. Sous l'en-tête Extent Management, sélectionnez Locally Managed.
Les extents (ensembles de blocs contigus) d'un tablespace administré localement sont
gérés de manière efficace par le serveur de base de données Oracle. Dans le cas d'un
tablespace géré au moyen du dictionnaire, vous êtes plus sollicité pour la gestion des
extents, et vous devez disposer d'un accès au dictionnaire de données pour le suivi.
L'option de tablespace géré au moyen du dictionnaire est fournie pour des raisons de
compatibilité avec les versions antérieures, mais Oracle déconseille son utilisation.
5. Sous l'en-tête Type, sélectionnez Permanent.
Les tablespaces permanents contiennent les objets de base de données permanents créés
par le système ou par les utilisateurs.
6. Sous l'en-tête Status, sélectionnez Read Write.
Ce statut indique que les utilisateurs disposent d'un droit d'accès en lecture et en écriture
sur le tablespace, une fois ce dernier créé. Il s'agit de l'option par défaut.
7. Dans la région Datafiles de la page, cliquez sur Add pour ajouter des fichiers de données
au tablespace.
Sélectionnez le type de
stockage approprié.
Modifier un tablespace
Une fois créé, un tablespace peut être modifié de différentes façons, en fonction de l'évolution
du système.
Modification du nom : Entrez un nouveau nom pour le tablespace et cliquez sur Apply.
Modification du statut : Un tablespace peut présenter trois statuts (ou états) différents. Les
statuts disponibles dépendent du type de tablespace :
• Read Write : Le tablespace est en ligne (online) et peut faire l'objet d'opérations de
lecture et d'écriture.
• Read Only : Cette option place le tablespace en mode lecture seule. Les transactions
existantes peuvent être terminées au moyen d'une validation (commit) ou d'une
annulation (rollback), mais aucune autre opération LMD (langage de manipulation de
données) n'est autorisée sur les objets du tablespace. Le tablespace est en ligne tout en
étant en mode lecture seule. Vous ne pouvez pas affecter ce mode aux tablespaces
SYSTEM et SYSAUX.
Remarque : Le tablespace d'annulation et le tablespace temporaire ne peuvent pas être
placés en mode lecture seule.
Exemple :
SQL> ALTER SYSTEM SET DB_CREATE_FILE_DEST = '+DATA';
SQL> CREATE TABLESPACE tbs_1;
Réponse : 1
Réponse : 2
THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS CLASSROOM ONLY. COPYING eKIT MATERIALS FROM THIS
COMPUTER IS STRICTLY PROHIBITED
Administrer la sécurité utilisateur
THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS CLASSROOM ONLY. COPYING eKIT MATERIALS FROM THIS
COMPUTER IS STRICTLY PROHIBITED
Objectifs
Objectifs
Les termes suivants, qui ont trait à l'administration des utilisateurs de base de données, vous
aideront à comprendre les objectifs du chapitre :
• Un compte utilisateur de base de données constitue un moyen d'organiser l'appartenance
des objets de base de données et l'accès à ces objets.
• Un mot de passe est un mode d'authentification par la base de données Oracle.
• On nomme privilège le droit d'exécuter un type particulier d'instruction SQL ou d'accéder
à l'objet d'un autre utilisateur.
• Un rôle est un groupe nommé de privilèges liés qui sont accordés à des utilisateurs ou à
d'autres rôles.
• Un profil impose un ensemble nommé de limites concernant l'utilisation de la base de
données et les ressources des instances. Il permet de gérer le statut des comptes et les
règles relatives aux mots de passe.
• Un quota est une allocation d'espace dans un tablespace donné. Il constitue l'un des
moyens permettant de contrôler l'utilisation des ressources par les utilisateurs.
Créer un utilisateur
Dans la page Users d'Enterprise Manager, vous pouvez gérer les utilisateurs de base de
données autorisés à accéder à la base actuelle. Cette page vous permet de créer, supprimer et
modifier les paramètres d'un utilisateur.
Pour créer un utilisateur de base de données :
1. Dans Enterprise Manager Database Control, cliquez sur l'onglet Server puis cliquez sur
Users dans la section Security.
2. Cliquez sur le bouton Create.
Fournissez les informations requises. Les éléments obligatoires sont signalés par un astérisque
(*), par exemple le champ Name. Le nom indiqué dans ce champ obéit aux mêmes règles que
les noms des objets de base de données. Les pages suivantes fournissent davantage
d'informations sur l'authentification. Les profils seront traités plus loin dans ce chapitre.
Affectez un tablespace par défaut et un tablespace temporaire à chaque utilisateur. Si les
utilisateurs n'indiquent pas de tablespace quand ils créent un objet, cet objet est créé dans le
tablespace par défaut affecté au propriétaire de l'objet. Vous pouvez ainsi contrôler
l'emplacement des nouveaux objets. Si vous n'indiquez pas de tablespace par défaut, c'est le
tablespace permanent par défaut défini par le système qui est utilisé. Il en va de même pour le
tablespace temporaire. Si vous ne le définissez pas, le tablespace temporaire défini par le
système est utilisé.
Remarque : Cliquez sur Show SQL pour afficher la syntaxe SQL sous-jacente. Pour plus
d'informations sur la syntaxe SQL utilisée pour créer des utilisateurs, reportez-vous au manuel
Oracle® Database SQL Language Reference.
• Password
• External
• Global
HR_DBA
Privilèges
On nomme privilège le droit d'exécuter un type particulier d'instruction SQL ou d'accéder à
l'objet d'un autre utilisateur. La base de données Oracle vous permet de contrôler les
opérations que les utilisateurs peuvent effectuer ou non au sein de la base.
Les privilèges sont répartis en deux catégories :
• Privilèges système : Chaque privilège système autorise un utilisateur à effectuer une
certaine opération de base de données ou une certaine classe d'opérations. Par exemple,
le privilège permettant de créer des tablespaces est un privilège système. Les privilèges
système peuvent être accordés par l'administrateur ou par quelqu'un à qui la permission
d'administrer ces privilèges a été accordée explicitement. Il existe plus de 170 privilèges
système différents. Un grand nombre d'entre eux contiennent la clause ANY.
• Privilèges objet : Les privilèges objet permettent à un utilisateur d'effectuer une action
particulière sur un objet spécifique, tel qu'une table, une vue, une séquence, une
procédure, une fonction ou un package. Sans permission spécifique, les utilisateurs ne
peuvent accéder qu'à leurs propres objets. Les privilèges objet peuvent être octroyés par
le propriétaire d'un objet, par l'administrateur, ou par un utilisateur auquel la permission
d'accorder des privilèges sur l'objet a été attribuée explicitement.
Privilèges système
Pour accorder des privilèges système, cliquez sur l'onglet System Privileges de la page Edit
User. Sélectionnez les privilèges appropriés dans la liste des privilèges disponibles, puis
déplacez-les vers la liste Selected System Privileges en cliquant sur le bouton Move.
Les privilèges contenant la clause ANY s'étendent au-delà des limites du schéma. Par exemple,
le privilège CREATE TABLE vous permet de créer une table, mais uniquement dans votre
propre schéma. Avec le privilège SELECT ANY TABLE, vous pouvez effectuer une opération
SELECT dans des tables appartenant à d'autres utilisateurs. L'utilisateur SYS et les utilisateurs
dotés du rôle DBA disposent de tous les privilèges ANY. Ils peuvent donc effectuer n'importe
quelle opération sur tous les objets de données. La portée des privilèges système ANY peut
être contrôlée à l'aide de l'option Oracle Database Vault.
Cochez la case Admin Option pour autoriser l'utilisateur à administrer le privilège et à
l'accorder à d'autres utilisateurs.
La syntaxe SQL suivante est exécutée pour accorder un privilège système :
GRANT <system_privilege> TO <grantee clause> [WITH ADMIN
OPTION]
Tenez bien compte des exigences de sécurité avant d'octroyer des permissions système.
Certains privilèges système sont généralement réservés aux administrateurs :
• RESTRICTED SESSION : Ce privilège autorise son détenteur à se connecter même si la
base de données a été ouverte en mode d'accès restreint.
2
Pour accorder des privilèges
objet : Recherchez et
sélectionnez
• Sélectionnez le type
Privilèges objet
Pour accorder des privilèges objet, cliquez sur l'onglet Object Privileges de la page Edit User.
Sélectionnez le type d'objet sur lequel vous voulez octroyer des privilèges, puis cliquez sur le
bouton Add. Indiquez les objets sous la forme <nom_utilisateur.nom_objet> ou
sélectionnez-les dans la liste.
Sélectionnez ensuite les privilèges appropriés dans la liste Available Privileges, puis cliquez
sur le bouton Move. Une fois les privilèges sélectionnés, cliquez sur OK.
Dans la page Edit User, cochez la case Grant pour autoriser l'utilisateur à octroyer le même
accès à d'autres utilisateurs.
La syntaxe SQL suivante est exécutée pour accorder un privilège objet :
GRANT <object_privilege> ON <object> TO <grantee clause>
[WITH GRANT OPTION]
GRANT
Privilège
Objet
Utilisateurs
Jenny David Rachel
Rôles prédéfinis
Il existe plusieurs rôles qui sont définis automatiquement pour les bases de données Oracle
lorsque vous exécutez les scripts de création de la base. Le rôle CONNECT est accordé
automatiquement à tout utilisateur créé avec Enterprise Manager. Pour des raisons de sécurité,
le rôle CONNECT n'inclut que le privilège CREATE SESSION depuis la version 10.2.0
d'Oracle Database.
Remarque : Lorsque vous octroyez le rôle RESOURCE, vous devez également accorder le
privilège UNLIMITED TABLESPACE.
Rôles fonctionnels
D'autres rôles permettant l'administration de fonctions spéciales sont créés lors de
l'installation des fonctions correspondantes. Par exemple, le rôle XDBADMIN dispose des
privilèges requis pour administrer XML Database si cette fonctionnalité est installée. Le rôle
AQ_ADMINISTRATOR_ROLE fournit les privilèges permettant d'administrer Advanced
Queuing. Le rôle HS_ADMIN_ROLE inclut les privilèges requis pour administrer les services
hétérogènes (Heterogeneous Services).
Vous ne devez pas modifier les privilèges accordés à ces rôles fonctionnels sans l'assistance
du Support technique Oracle, car vous risqueriez de désactiver par inadvertance des
fonctionnalités nécessaires.
Cliquez sur OK
lorsque vous
avez terminé.
Créer un rôle
Un rôle est un groupe nommé de privilèges liés qui sont accordés à des utilisateurs ou à
d'autres rôles. Un administrateur de base de données (DBA) gère les privilèges via des rôles.
Pour créer un rôle, procédez de la manière suivante :
1. Dans Enterprise Manager Database Control, sélectionnez l'onglet Server, puis cliquez sur
Roles dans la section Security.
2. Cliquez sur le bouton Create.
3. Dans l'onglet General, entrez le nom du rôle.
4. Si vous le souhaitez, ajoutez au rôle des privilèges système et objet, voire d'autres rôles.
Vous pourrez modifier ce rôle ultérieurement si nécessaire.
5. Cliquez sur OK lorsque vous avez terminé.
Rôles sécurisés
Les rôles sont généralement activés par défaut. Par conséquent, lorsqu'un rôle est accordé à un
utilisateur, celui-ci peut exercer les privilèges correspondants. Des rôles par défaut sont
affectés aux utilisateurs au moment de leur connexion.
Vous pouvez effectuer les opérations suivantes :
• Empêcher un rôle d'être activé par défaut. Lorsque le rôle est affecté à un utilisateur,
désélectionnez la case DEFAULT. L'utilisateur devra activer explicitement le rôle pour
pouvoir exercer les privilèges correspondants.
• Configurer un rôle afin qu'il nécessite une authentification supplémentaire.
L'authentification par défaut d'un rôle est None, mais il est possible de configurer le rôle
afin qu'il ne puisse être activé qu'après authentification.
• Créer des rôles applicatifs sécurisés qui ne peuvent être activés que via l'exécution d'une
procédure PL/SQL. La procédure PL/SQL peut vérifier des éléments tels que l'adresse
réseau de l'utilisateur, le programme exécuté par l'utilisateur, l'heure, ou tout autre
élément nécessaire pour sécuriser correctement un groupe de permissions.
• Administrer plus facilement les rôles à l'aide de l'option Oracle Database Vault. Cette
option simplifie l'administration des rôles sécurisés et permet de limiter les rôles
standard.
Par défaut, les mots de passe créés dans Oracle Database 11g
ne sont pas sensibles à la casse.
1. Vrai
2. Faux
Réponse : 2
Réponses : 1, 2
Remarque : Les profils ne peuvent imposer des limites sur les ressources
que si le paramètre RESOURCE_LIMIT est défini avec la valeur TRUE.
Profils et utilisateurs
Les profils imposent un ensemble nommé de limites concernant l'utilisation de la base de
données et les ressources des instances. Par ailleurs, ils gèrent le statut des comptes et
imposent des restrictions sur les mots de passe des utilisateurs (longueur, délai d'expiration,
etc.). Chaque utilisateur se voit affecter un profil et ne peut appartenir qu'à un seul profil à la
fois. Si des utilisateurs sont connectés lorsque vous modifiez leur profil, le changement ne
prend effet que lors de leur prochaine connexion.
Le profil DEFAULT sert de base pour tous les autres profils. Comme l'illustre la diapositive
ci-dessus, les limitations associées à un profil peuvent être définies implicitement
(CPU/Session), être illimitées (CPU/Call) ou faire référence à un paramètre du profil
DEFAULT (Connect Time, par exemple).
Les profils ne peuvent imposer des limitations de ressources aux utilisateurs que si la valeur
TRUE est affectée au paramètre d'initialisation RESOURCE_LIMIT. Si RESOURCE_LIMIT
a la valeur par défaut FALSE , les limitations de ressources liées aux profils sont ignorées.
Les mots de passe des profils sont toujours appliqués.
Les profils permettent à l'administrateur de contrôler les ressources système suivantes :
• CPU : Les ressources CPU peuvent être limitées par session ou par appel. Avec une
limite CPU/Session de 1 000, une session qui utilise ce profil et qui consomme plus de
10 secondes de temps CPU (les limites de temps CPU étant exprimées en centièmes de
seconde) reçoit une erreur et est déconnectée :
ORA-02392: exceeded session limit on CPU usage, you are
being logged off
Vérification de la
Historique des complexité des
mots de passe mots de passe
Utilisateur Configuration
des profils
Réponse : 1
Réponse : 2
THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS CLASSROOM ONLY. COPYING eKIT MATERIALS FROM THIS
COMPUTER IS STRICTLY PROHIBITED
Objectifs
Verrous externes
Avant que la base n'autorise une session à modifier des données, la session doit d'abord
verrouiller ces données. Un verrou externe (lock) accorde à la session le contrôle exclusif des
données, de sorte qu'aucune autre transaction ne puisse faire de modification jusqu'à la
libération du verrou.
Les transactions peuvent verrouiller certaines lignes de données, plusieurs lignes ou même des
tables entières. Oracle Database prend en charge le verrouillage manuel et le verrouillage
automatique. Les verrous activés automatiquement choisissent toujours le niveau de
verrouillage le plus bas possible, afin de limiter les conflits potentiels avec d'autres
transactions.
Remarque : L'instance Oracle utilise des verrous externes de plusieurs types pour maintenir
la cohérence interne. Ce cours s'intéresse uniquement au verrouillage qui permet de protéger
les lignes et les tables.
Mécanisme de verrouillage
Le mécanisme de verrouillage est conçu pour fournir le degré maximal de simultanéité
d'accès aux données dans la base. Les transactions qui modifient des données acquièrent des
verrous externes (locks) au niveau ligne plutôt qu'au niveau bloc ou table. Les modifications
portant sur des objets (telles que les déplacements de tables) obtiennent des verrous externes
au niveau objet, plutôt qu'au niveau de la base de données complète ou du schéma.
Les interrogations de données ne nécessitent pas de verrous externes. Une interrogation
réussit même si quelqu'un a verrouillé les données, et elle renvoie toujours la valeur originale
avant verrouillage, régénérée à partir des informations d'annulation.
Lorsque plusieurs transactions doivent verrouiller la même ressource, le verrou externe est
obtenu par la première transaction qui en fait la demande. Les autres transactions attendent
jusqu'à la fin de la première transaction. Le mécanisme de mise en file d'attente est
automatique et ne nécessite aucune intervention de l'administrateur.
Tous les verrous externes sont libérés lorsque les transactions sont terminées (c'est-à-dire
lorsqu'une opération COMMIT ou ROLLBACK est exécutée). Si une transaction échoue, le
processus en arrière-plan qui annule automatiquement les modifications apportées par celle-ci
libère également tous les verrous qu'elle détient.
Transaction 1 Transaction 2
SQL> UPDATE employees SQL> UPDATE employees
2 SET salary=salary*1.1 2 SET salary=salary*1.1
3 WHERE employee_id= 107; 3 WHERE employee_id= 106;
1 row updated. 1 row updated.
Verrous LMD
Chaque transaction LMD acquiert deux verrous :
• Un verrou sur ligne de type EXCLUSIVE pour les lignes mises à jour.
• Un verrou sur table (TM) en mode ROW EXCLUSIVE (RX) pour la table mise à jour.
Cela permet d'empêcher une autre session de verrouiller la table entière (par exemple,
pour la supprimer ou la vider) pendant que la modification est apportée. Ce mode est
également appelé "subexclusive" (SX).
Le verrou ROW EXCLUSIVE sur la table empêche les commandes LDD de modifier les
métadonnées du dictionnaire au milieu d'une transaction non validée. Cela préserve l'intégrité
du dictionnaire et la cohérence en lecture pendant toute la durée d'une transaction.
Conflits de verrouillage
Les conflits de verrouillage sont fréquents, mais ils sont généralement résolus avec le temps
ou via le mécanisme de mise en file d'attente. Dans de rares cas, un conflit de verrouillage
peut nécessiter l'intervention de l'administrateur. Dans l'exemple de la diapositive ci-dessus, la
transaction 2 obtient un verrou externe sur une ligne unique à 9:00:00 et l'utilisateur oublie de
valider la transaction, laissant ainsi le verrou en place. A 9:00:05, la transaction 1 tente de
mettre à jour la table entière, opération qui nécessite un verrou sur toutes les lignes. La
transaction 1 est bloquée par la transaction 2 jusqu'à la validation de cette dernière, à
16:30:01.
L'utilisateur qui tente d'effectuer la transaction 1 est amené à demander l'aide de
l'administrateur, qui doit détecter et résoudre le conflit.
Résultat :
Transaction 1 Transaction 2
"Verrous mortels"
Un "verrou mortel" (deadlock) est un type particulier de conflit de verrouillage. Il se produit
lorsque plusieurs sessions attendent des données verrouillées par l'une d'elles. Etant donné que
chaque session attend l'autre, aucune d'entre elles ne peut terminer la transaction afin de
résoudre le conflit.
Oracle Database détecte automatiquement les "verrous mortels" et met fin à l'instruction en
générant une erreur. En réponse à cette erreur, il convient de réaliser une opération de
validation (commit) ou d'annulation (rollback), ce qui a pour effet de libérer tous les verrous
de la session et de permettre à l'autre session de poursuivre sa transaction.
Dans l'exemple de la diapositive ci-dessus, la transaction 1 doit être validée ou annulée pour
résoudre l'erreur "deadlock detected". Si elle est validée, la deuxième mise à jour devra être
soumise à nouveau pour terminer la transaction. Si elle est annulée, les deux instructions
devront être soumises à nouveau pour effectuer la transaction.
Réponse : 1
Réponse : 2
THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS CLASSROOM ONLY. COPYING eKIT MATERIALS FROM THIS
COMPUTER IS STRICTLY PROHIBITED
Objectifs
Segment
d'annulation
Données Données "anciennes"
du cache
du tablespace d'annulation
de tampons
Période garantie :
15 minutes
Données d'annulation
stockées dans le
tablespace d'annulation
3
2
Réponse : 2
Réponse : 3
THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS CLASSROOM ONLY. COPYING eKIT MATERIALS FROM THIS
COMPUTER IS STRICTLY PROHIBITED
Implémenter l'audit de la base de données
Oracle
THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS CLASSROOM ONLY. COPYING eKIT MATERIALS FROM THIS
COMPUTER IS STRICTLY PROHIBITED
Objectifs
Objectifs
Le présent chapitre constitue un point de départ pour l'étude des fonctionnalités Oracle
relatives à la sécurité. Pour plus d'informations, reportez-vous aux manuels suivants :
• Oracle Database Concepts
• Oracle Database Administrator’s Guide
• Oracle Database Security Guide
Les cours suivants fournissent une formation complémentaire :
• Oracle Database 11g : Administration Workshop II
• Oracle Database 11g : Sécurité
1 Activer l'audit de
base de données
Fichier de Utilisateur
DBA
paramètres
Exécute une
2 Définir les options d'audit commande
Base de données
Processus
serveur
Options
Générer la
d'audit
trace d'audit
STATEMENTID,
AUDIT_TRAIL=DB, EXTENDED
ENTRYID
DBA_AUDIT_TRAIL DBA_FGA_AUDIT_TRAIL
EXTENDED_TIMESTAMP,
PROXY_SESSIONID, GLOBAL_UID,
DBA_COMMON_AUDIT_TRAIL
Stratégie : AUDIT_EMPS_SALARY
Audit détaillé
L'audit de base de données enregistre le fait qu'une opération a eu lieu, mais ne capture pas
d'informations sur l'instruction ayant provoqué cette opération. L'audit détaillé (FGA - Fine-
grained auditing) étend cette fonctionnalité en permettant de capturer les instructions SQL qui
interrogent ou manipulent les données.
Il permet également un ciblage plus précis que l'audit standard ou l'audit basé sur les données.
Les options d'audit détaillé peuvent être ciblées sur des colonnes individuelles d'une table ou
d'une vue. Elles peuvent aussi être conditionnelles, de sorte que les informations d'audit ne
soient capturées que si certaines conditions définies par l'administrateur sont réunies. Une
stratégie d'audit détaillé peut être associée à plusieurs colonnes d'intérêt. Par défaut, si l'une de
ces colonnes est présente dans l'instruction SQL, elle est auditée. Deux packages,
DBMS_FGA.ALL_COLUMNS et DBMS_FGA.ANY_COLUMNS, permettent de baser l'audit
sur l'utilisation de toutes les colonnes d'intérêt dans l'instruction ou sur l'utilisation de l'une
quelconque d'entre elles.
Utilisez le package PL/SQL DBMS_FGA pour créer une stratégie d'audit sur la table ou sur la
vue cible. Si certaines des lignes renvoyées par un bloc d'interrogation correspondent à la
colonne auditée et satisfont à la condition d'audit indiquée, un événement d'audit entraîne la
création d'un enregistrement d'audit et son stockage dans la trace d'audit. L'événement d'audit
peut éventuellement exécuter une procédure. L'audit détaillé cible automatiquement le niveau
instruction. Une instruction SELECT qui renvoie des milliers de lignes génère donc un seul
enregistrement d'audit.
• Définit : dbms_fga.add_policy (
object_schema => 'HR',
– les critères object_name => 'EMPLOYEES',
d'audit policy_name => 'audit_emps_salary',
audit_condition=> 'department_id=10',
– l'action d'audit audit_column => 'SALARY,COMMISSION_PCT',
• Est créée via handler_schema => 'secure',
DBMS_FGA handler_module => 'log_emps_salary',
enable => TRUE,
.ADD_POLICY statement_types => 'SELECT,UPDATE');
UPDATE hr.employees
SET salary = 1000
WHERE employee_id = 200;
Réponse : 2
Réponse : 2
THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS CLASSROOM ONLY. COPYING eKIT MATERIALS FROM THIS
COMPUTER IS STRICTLY PROHIBITED
Maintenance de la base de données
THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS CLASSROOM ONLY. COPYING eKIT MATERIALS FROM THIS
COMPUTER IS STRICTLY PROHIBITED
Objectifs
Référentiel Référentiel
AWR ADR
Efficace
Terminologie
Le référentiel AWR (Automatic Workload Repository) fournit aux composants internes du
serveur Oracle des services de collecte, de traitement, de maintenance et d'utilisation de
statistiques de performances pour la détection des problèmes et le réglage automatique (self-
tuning). L'historique des sessions actives (ASH - Active Session History), stocké dans le
référentiel AWR, répertorie les activités récentes des sessions.
Les statistiques sont des ensembles de données qui fournissent davantage de détails sur la
base et ses objets. Les statistiques destinées à l'optimiseur sont utilisées par ce dernier pour
choisir le meilleur plan d'exécution pour chaque instruction SQL. Les statistiques de la base
de données fournissent des informations pour la surveillance des performances.
Les clichés (snapshots) AWR contiennent des statistiques et des mesures relatives à la base de
données, des statistiques sur les applications (volumes de transactions, temps de réponse), des
statistiques sur le système d'exploitation et d'autres indicateurs. Une ligne de base (baseline)
AWR est un ensemble de clichés AWR collectés pendant une certaine période. La ligne de
base est utilisée pour comparer les performances : comparaison des performances actuelles
par rapport à la ligne de base ou comparaison entre lignes de base.
Par défaut, les données de la ligne de base glissante du système (System Moving Window
Baseline) sont collectées dans Oracle Database 11g. Il s'agit d'un jeu de clichés évolutif qui
inclut par défaut les clichés des huit derniers jours. Cette ligne de base devient valide quand
les données collectées sont suffisantes et que les calculs de statistiques ont été effectués. Par
défaut, les calculs de statistiques ont lieu tous les samedis à minuit.
PORTEE
INSTRUCTION
PREFERENCES
TABLE
CASCADE
SCHEMA DEGREE
Tâche de collecte
des statistiques BASE DE DONNEES ESTIMATE_PERCENT
destinées à l'optimiseur
NO_INVALIDATE
GLOBALE
METHOD_OPT
exec dbms_stats.set_table_prefs('SH','SALES','STALE_PERCENT','13');
Référentiel AWR
Le référentiel AWR (Automatic Workload Repository) est l'infrastructure qui fournit aux
composants d'Oracle Database 11g des services de collecte, de maintenance et d'utilisation de
statistiques pour la détection des problèmes et le réglage automatique (self-tuning). Il peut
être considéré comme un data warehouse dans lequel sont stockées les statistiques relatives à
la base de données, les mesures de performances, etc.
Toutes les 60 minutes (par défaut), la base capture automatiquement des informations
statistiques à partir de la mémoire SGA et les place dans le référentiel AWR sous la forme de
clichés (snapshots). Les clichés sont enregistrés sur disque par un processus en arrière-plan
nommé MMON (Manageability Monitor). Par défaut, les clichés sont conservés pendant huit
jours. Vous pouvez modifier l'intervalle de capture et la période de conservation des clichés.
Le référentiel AWR contient des centaines de tables, appartenant toutes au schéma SYSMAN
et stockées dans le tablespace SYSAUX. Oracle recommande d'utiliser Enterprise Manager ou
le package DBMS_WORKLOAD_REPOSITORY pour travailler avec le référentiel AWR.
L'exécution directe d'instructions LMD (langage de manipulation de données) sur les tables
du référentiel n'est pas prise en charge.
Clients externes
EM SQL*Plus …
SGA
Collecte V$ DBA_*
efficace de Clichés
statistiques AWR
en mémoire MMON
Période d'intérêt
dans le passé
STATISTICS_LEVEL
Niveaux de statistiques
Le paramètre d'initialisation STATISTICS_LEVEL contrôle la capture de diverses
statistiques et des fonctions de conseil, notamment les tâches de maintenance automatique.
Celles-ci comprennent la collecte des statistiques destinées à l'optimiseur. Le paramètre
STATISTICS_LEVEL admet les valeurs suivantes :
• BASIC : Le calcul des statistiques et des mesures de performances AWR est désactivé.
La collecte automatique des statistiques destinées à l'optimiseur est désactivée, de même
que toutes les fonctions de conseil et les alertes générées par le serveur.
• TYPICAL : Les principales statistiques nécessaires à la gestion automatique de la base
de données sont collectées. Il s'agit des statistiques nécessaires pour surveiller le
comportement de la base Oracle. Cette collecte automatique réduit la probabilité
d'obtenir des instructions SQL mal optimisées en raison de statistiques obsolètes ou non
valides.
• ALL : Toutes les statistiques possibles sont capturées. Ce niveau de capture inclut les
statistiques temporelles du système d'exploitation et les statistiques d'exécution des plans.
Ces statistiques sont la plupart du temps inutiles, sauf pour certains tests de diagnostic
bien précis. Il est préférable de ne pas les collecter pour préserver les performances.
Oracle recommande de conserver la valeur par défaut TYPICAL du paramètre
STATISTICS_LEVEL. En effet, le niveau BASIC désactive la collecte automatique des
statistiques destinées à l'optimiseur.
Clichés
Moniteur ADDM
Contrairement aux autres fonctions de conseil, le moniteur ADDM (Automatic Database
Diagnostic Monitor) s'exécute automatiquement après chaque cliché AWR. Chaque fois qu'un
cliché est pris, il procède à l'analyse de la période correspondant aux deux derniers clichés. Le
moniteur ADDM surveille l'instance de manière proactive et détecte les goulets
d'étranglement avant qu'ils ne posent un réel problème.
Dans de nombreux cas, le moniteur ADDM recommande des solutions pour les problèmes
détectés. Il quantifie même les avantages induits par les recommandations.
Voici quelques-uns des problèmes courants détectés par le moniteur ADDM :
• Goulets d'étranglement au niveau CPU
• Gestion inefficace des connexions Oracle Net
• Contention liée à un verrou
• Capacité d'entrée/sortie (E/S)
• Sous-dimensionnement des structures mémoire Oracle
• Instructions SQL à forte consommation de ressources
• Temps PL/SQL et Java élevés
• Nombreux points de reprise (checkpoints) et cause (par exemple, des fichiers journaux
trop petits)
Les résultats de chaque analyse ADDM sont stockés dans le référentiel AWR. Ils sont
également accessibles via Enterprise Manager.
Résultats ADDM
La page Automatic Database Diagnostic Monitor (ADDM) affiche les résultats détaillés de la
dernière exécution du moniteur ADDM. Database Time représente le temps d'activité total
des sessions dans la base de données au cours de la période d'analyse. Un pourcentage
d'impact spécifique est indiqué pour chacun des résultats. L'impact représente le temps
consommé par le problème par rapport au temps d'activité de la base de données au cours de
la période d'analyse.
La diapositive ci-dessus appelle les remarques suivantes :
1. Le graphique indique que le nombre moyen d'utilisateurs actifs a énormément augmenté
à ce stade. En outre, le problème principal était un problème de type Wait.
2. L'icône indique que la sortie ADDM affichée au bas de la page correspond à ce point
dans le temps. Vous pouvez remonter dans le passé (pour consulter des analyses
antérieures) en cliquant sur les autres icônes.
3. Les résultats fournissent un bref récapitulatif des zones réglables trouvées par le moniteur
ADDM. Si vous cliquez sur un problème particulier, vous accédez à la page Performance
Finding Details.
Cliquez sur le bouton View Report pour obtenir des détails sur l'analyse de performances sous
la forme d'un état au format texte.
Recommandations ADDM
Dans la page Performance Finding Details, des recommandations indiquent comment
résoudre les problèmes détectés. Ces recommandations sont regroupées en différentes
catégories : Schema, SQL Tuning, Database Configuration et beaucoup d'autres. La colonne
Benefit (%) indique le gain maximal qui pourrait être obtenu sur le temps d'exécution de
la base de données suite à l'implémentation de la recommandation.
Le moniteur ADDM (Automatic Database Diagnostic Monitor) étudie diverses modifications
du système et ses recommandations peuvent porter sur les points suivants :
• Modifications matérielles : Ajout de CPU ou modification de la configuration du sous-
système d'E/S.
• Configuration de la base de données : Modification de la valeur de certains paramètres
d'initialisation.
• Modifications au niveau schéma : Partitionnement par hachage d'une table ou d'un
index, ou utilisation de la gestion automatique de l'espace dans les segments.
• Modifications au niveau application : Utilisation de l'option de mise en cache pour les
séquences ou utilisation de variables attachées (bind variables).
• Utilisation d'autres fonctions de conseil : Exécution de SQL Tuning Advisor pour les
instructions SQL à forte consommation de ressources ou exécution de Segment Advisor
pour les objets qui utilisent beaucoup d'espace.
Infrastructure de conseil
Les fonctions de conseil (advisors) fournissent des informations sur l'utilisation des ressources
et sur les performances des composants qu'elles analysent. Par exemple, Memory Advisor
propose une valeur recommandée pour le paramètre d'initialisation MEMORY_TARGET qui
contrôle la quantité de mémoire totale utilisée par l'instance Oracle Database.
En se fondant sur les données capturées dans le référentiel AWR (Automatic Workload
Repository), le moniteur ADDM permet à la base de données Oracle d'établir un diagnostic
sur ses propres performances et de déterminer la façon dont les problèmes identifiés peuvent
être résolus. Le moniteur ADDM s'exécute automatiquement après chaque capture de
statistiques AWR. Il peut éventuellement appeler d'autres fonctions de conseil.
Les avantages principaux fournis par l'infrastructure de conseil sont les suivants :
• Toutes les fonctions de conseil utilisent une même interface.
• Toutes les fonctions de conseil ont une zone de stockage commune pour leurs données
source et pour leurs résultats : le référentiel de charge globale (Workload Repository).
La diapositive ci-dessus ne répertorie pas toutes les fonctions de conseil (par exemple, elle ne
mentionne pas Data Recovery Advisor et SQL Repair Advisor).
Moniteur ADDM
Le moniteur ADDM (Automatic Database Diagnostic Monitor) est un outil d'analyse hébergé
sur le serveur qui examine les performances de la base de données toutes les 60 minutes. Son
but est de détecter de manière précoce les goulets d'étranglement du système et de
recommander des correctifs avant toute dégradation perceptible des performances.
Procédure Description
CREATE_TASK Crée une tâche dans le référentiel
DELETE_TASK Supprime une tâche du référentiel
EXECUTE_TASK Lance l'exécution d'une tâche
INTERRUPT_TASK Suspend une tâche en cours d'exécution
Package DBMS_ADVISOR
Le package DBMS_ADVISOR contient l'ensemble des constantes et des déclarations de
procédure qui s'appliquent aux modules de conseil. Vous pouvez l'utiliser pour exécuter des
tâches à partir de la ligne de commande.
Pour exécuter des procédures de conseil, vous devez disposer du privilège ADVISOR. Ce
privilège offre un accès complet aux procédures et aux vues des fonctions de conseil.
Remarque : Pour plus d'informations sur toutes les procédures du package DBMS_ADVISOR,
reportez-vous au manuel Oracle Database PL/SQL Packages and Types Reference.
Réponse : 2
Enterprise Manager
File d'attente
des alertes
Instance serveur
Référentiel AWR
1. Indiquez un seuil.
2. Créez un scénario
de test.
3. Recherchez une alerte. 1
MMON
DBA_OUTSTANDING_ALERTS DBA_ALERT_HISTORY
Réponse : 2
THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS CLASSROOM ONLY. COPYING eKIT MATERIALS FROM THIS
COMPUTER IS STRICTLY PROHIBITED
Gestion des performances
THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS CLASSROOM ONLY. COPYING eKIT MATERIALS FROM THIS
COMPUTER IS STRICTLY PROHIBITED
Objectifs
Problèmes
d'allocation
de mémoire
?
DBA
Réponse : 3
Réponse : 2
THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS CLASSROOM ONLY. COPYING eKIT MATERIALS FROM THIS
COMPUTER IS STRICTLY PROHIBITED