Vous êtes sur la page 1sur 300

Oracle Database 10g :

Administration Workshop I

Volume III - Manuel du stagiaire

D17090FR30
Edition 3.0
Mai 2006
D42060

Unauthorized reproduction or distribution prohibitedฺ Copyright© 2009, Oracle and/or its affiliatesฺ
Auteurs Copyright © 2005, Oracle. Tous droits réservés.

Tom Best Avertissement

M.J. Billings 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 d'utilisation personnelle
Révisions et lors de la participation à une formation dispensée par Oracle. Le document ne peut être
contributions techniques 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 d'auteur, vous ne pouvez
Anthony Woodell pas utiliser, partager, télécharger, copier, imprimer, afficher, exécuter, reproduire, publier,
Barry Trute breveter, diffuser, transmettre ou distribuer ce document, en partie ou en totalité, sans
l'autorisation expresse d'Oracle.
Celia Antonio
Les informations fournies dans ce document sont susceptibles de modification sans
Christine Jeal préavis. Par ailleurs, Oracle Corporation ne garantit pas qu'elles soient exemptes
Donna Keesling 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 USA.
Howard Bradley
James Spiller Restrictions applicables au gouvernement américain :
Restricted Rights Notice
Janet Stern
If this documentation is delivered to the United States Government or anyone using the
Jean-Francois Verrier documentation on behalf of the United States Government, the following notice is
Joel Goodman applicable:
John Hibbard U.S. GOVERNMENT RIGHTS
Larry Baumann The U.S. Government’s rights to use, modify, reproduce, release, perform, display, or
disclose these training materials are restricted by the terms of the applicable Oracle
Magnus Isaksson license agreement and/or the applicable U.S. Government contract.
M.J. Bryksa
Marques
Paul Needham
Oracle, JD Edwards et PeopleSoft sont des marques déposées d'Oracle Corporation
Pierre Labrousse et/ou de ses filiales. Tout autre nom de produit ou de société peut être une marque de
Raza Siddiqui son propriétaire.

Sandra Cheevers
Stefan Lindblad
Stella Kister
Steve Friedberg
Steven Karam
Sushma Jagannath
Tammy Bednar

Rédacteurs
Navratan Singh
Nita Pavitran
Raj Kumar

Concepteur graphique
Satish Bettegowda
Steve Elwood

Editeur
Joseph Fernandez

Unauthorized reproduction or distribution prohibitedฺ Copyright© 2009, Oracle and/or its affiliatesฺ
Table des matières

Préface

1 Introduction
Objectifs du cours 1-2
Planification recommandée 1-3
Objectifs du chapitre 1-4
Produits et services Oracle 1-5
Oracle Database 10g : "g" signifie "grid" 1-6
Architecture de base de données Oracle 1-9
Structures de base de données 1-10
Structures mémoire Oracle 1-11
Structures de processus 1-13
Gestion des instances Oracle 1-14
Processus serveur et cache de tampons de base de données 1-15
Structure de base de données physique 1-16
Tablespaces et fichiers de données 1-18
Tablespaces SYSTEM et SYSAUX 1-19
Segments, extents et blocs 1-20
Structures de base de données logiques et physiques 1-21
Exemples du cours : Le schéma HR 1-23
Architecture de la base de données : Récapitulatif des
composants structurels 1-24
Synthèse 1-25

2 Installer le logiciel de base de données Oracle


Objectifs 2-2
Tâches d'un administrateur de base de données Oracle 2-3
Outils utilisés pour administrer une base de données Oracle 2-4
Installation : Configuration système requise 2-6
Vérifier la configuration système requise 2-7
Architecture OFA (Optimal Flexible Architecture) 2-8
Utiliser l'architecture OFA 2-9
Définir les variables d'environnement 2-11
Oracle Universal Installer (OUI) 2-13
Installer le logiciel Oracle 2-14
Options de configuration de la base de données 2-15
Exécuter des scripts de configuration 2-16
Terminer l'installation 2-17
Options d'installation avancées 2-18
Option d'installation : Mode automatique 2-19
Synthèse 2-20
Présentation de l'exercice : Installer le logiciel Oracle 2-21

iii

Unauthorized reproduction or distribution prohibitedฺ Copyright© 2009, Oracle and/or its affiliatesฺ
3 Créer une base de données Oracle
Objectifs 3-2
Planification de la base de données 3-3
Bases de données : Exemples 3-4
Assistant Database Configuration Assistant (DBCA) 3-5
Utiliser l'assistant DBCA pour créer une base de données 3-6
Gestion des mots de passé 3-12
Créer un modèle de conception de base de données 3-13
Utiliser l'assistant DBCA pour supprimer une base de données 3-14
Synthèse 3-16
Présentation de l'exercice : Utiliser l'assistant DBCA 3-17

4 Gérer l'instance Oracle


Objectifs 4-2
Structure de gestion 4-3
Démarrer et arrêter Database Control 4-4
Oracle Enterprise Manager 4-5
Accéder à Oracle Enterprise Manager 4-6
Page d'accueil de la base de données 4-7
Utiliser SQL*Plus et iSQL*Plus pour accéder à la base de données 4-8
Utiliser iSQL*Plus 4-9
Configurer iSQL*Plus pour des accès SYSDBA et SYSOPER 4-10
Utiliser SQL*Plus 4-12
Appeler SQL*Plus à partir d'un script shell 4-13
Appeler un script SQL à partir de SQL*Plus 4-14
Fichiers de paramètres d'initialisation 4-15
Paramètres d'initialisation simplifiés 4-16
Afficher et modifier les paramètres d'initialisation 4-18
Démarrer et arrêter la base de données 4-19
Démarrer une instance de base de données Oracle 4-20
Démarrer une instance de base de données Oracle : NOMOUNT 4-21
Démarrer une instance de base de données Oracle : MOUNT 4-22
Démarrer une instance de base de données Oracle : OPEN 4-23
Arrêter une instance de base de données Oracle 4-24
Modes d'arrêt 4-25
Options SHUTDOWN 4-26
Utiliser SQL*Plus pour les opérations de démarrage et d'arrêt 4-29
Afficher le fichier d'alertes 4-30
Afficher l'historique des alertes 4-31
Vues dynamiques des performances 4-32

iv

Unauthorized reproduction or distribution prohibitedฺ Copyright© 2009, Oracle and/or its affiliatesฺ
Vues dynamiques des performances : Exemples d'utilisation 4-33
Vues dynamiques des performances : Considérations 4-34
Synthèse 4-35
Présentation de l'exercice : Gérer l'instance Oracle 4-36
5 Gérer les structures de stockage de base de données
Objectifs 5-2
Structures de stockage 5-3
Mode de stockage des données d’une table 5-4
Anatomie d'un bloc de base de données 5-5
Tablespaces et fichiers de données 5-6
Oracle Managed Files (OMF) 5-7
Gestion de l'espace dans les tablespaces 5-8
Explorer la structure de stockage 5-9
Créer un tablespace 5-10
Gestion du stockage dans les tablespaces gérés localement 5-12
Tablespaces de la base de données préconfigurée 5-14
Modifier un tablespace 5-16
Actions sur les tablespaces 5-19
Supprimer des tablespaces 5-21
Afficher les informations relatives aux tablespaces 5-22
Collecter des informations sur les tablespaces 5-23
Afficher le contenu d'un tablespace 5-24
Etendre la base de données 5-25
Automatic Storage Management : Présentation 5-26
ASM : Fonctionnalités clés et principaux avantages 5-27
ASM : Concepts 5-28
Synthèse 5-29
Présentation de l'exercice : Gérer les structures de stockage
de base de données 5-30
6 Administrer la sécurité utilisateur
Objectifs 6-2
Comptes utilisateur de base de données 6-3
Comptes prédéfinis : SYS et SYSTEM 6-5
Créer un utilisateur 6-6
Authentification des utilisateurs 6-7
Authentification de l'administrateur 6-9
Déverrouiller un compte utilisateur et redéfinir le mot de passe 6-10
Privilèges 6-11
Privilèges système 6-12
Privilèges objet 6-14

Unauthorized reproduction or distribution prohibitedฺ Copyright© 2009, Oracle and/or its affiliatesฺ
Révoquer des privilèges système accordés avec ADMIN OPTION 6-15
Révoquer des privilèges objet accordés avec GRANT OPTION 6-16
Avantages des rôles 6-17
Affecter des privilèges à des rôles et des rôles à des utilisateurs 6-18
Rôles prédéfinis 6-19
Créer un rôle 6-20
Rôles sécurisés 6-21
Affecter des rôles aux utilisateurs 6-22
Profils et utilisateurs 6-23
Implémenter des fonctionnalités de sécurité utilisant des mots de passe 6-25
Créer un profil de mot de passe 6-27
Fonction de vérification des mots de passe fournie : VERIFY_FUNCTION 6-28
Affecter des quotas aux utilisateurs 6-29
Synthèse 6-31
Présentation de l'exercice : Administrer les utilisateurs 6-32

7 Gérer les objets de schéma


Objectifs 7-2
Qu'est-ce qu'un schéma ? 7-3
Accéder aux objets de schema 7-5
Nommer les objets de base de données 7-6
Définir des types de données pour les tables 7-8
Créer et modifier des tables 7-11
Comprendre l'intégrité des données 7-13
Définir des contraintes 7-15
Violations de contrainte 7-16
Etats possibles d'une contrainte 7-17
Vérification des contraintes 7-19
Créer des contraintes via des instructions SQL : Exemples 7-20
Afficher les colonnes d'une table 7-21
Afficher le contenu d'une table 7-22
Actions sur les tables 7-23
Supprimer une table 7-24
Vider une table 7-25
Index 7-26
Types d'index 7-27
Index B-Tree 7-28
Index bitmap 7-30
Options relatives aux index 7-32
Créer des index 7-34

vi

Unauthorized reproduction or distribution prohibitedฺ Copyright© 2009, Oracle and/or its affiliatesฺ
Qu'est-ce qu'une vue ? 7-35
Créer des vues 7-36
Séquences 7-37
Créer une séquence 7-38
Utiliser une séquence 7-40
Tables temporaires 7-41
Tables temporaires : Utilisation 7-43
Dictionnaire de données : Présentation 7-44
Vues du dictionnaire de données 7-45
Dictionnaire de données : Exemples d'utilisation 7-47
Synthèse 7-48
Présentation de l'exercice : Administrer les objets de schéma 7-49

8 Gérer les données et la simultanéité d'accès aux données


Objectifs 8-2
Manipuler les données par l'intermédiaire du langage SQL 8-3
Commande INSERT 8-4
Commande UPDATE 8-5
Commande DELETE 8-6
Commande MERGE 8-7
Commandes COMMIT et ROLLBACK 8-9
Langage PL/SQL 8-10
Administrer les objets PL/SQL 8-12
Objets PL/SQL 8-13
Fonctions 8-14
Procédures 8-15
Packages 8-16
Spécification et corps d’un package 8-17
Packages intégrés 8-18
Déclencheurs 8-19
Evénements déclencheurs 8-20
Verrous externes 8-21
Mécanisme de verrouillage 8-22
Simultanéité d'accès aux données 8-23
Verrous LMD 8-25
Mécanisme de mise en file d'attente 8-26
Conflits de verrouillage 8-27
Causes possibles des conflits de verrouillage 8-28
Détecter les conflits de verrouillage 8-29
Résoudre les conflits de verrouillage 8-30

vii

Unauthorized reproduction or distribution prohibitedฺ Copyright© 2009, Oracle and/or its affiliatesฺ
Résoudre les conflits de verrouillage à l'aide d'instructions SQL 8-31
"Verrous mortels" 8-32
Synthèse 8-33
Présentation de l'exercice : Gérer le données et la simultanéité
d'accès aux données 8-34
9 Gérer les données d'annulation
Objectifs 9-2
Manipulation des données 9-3
Données d'annulation 9-4
Transactions et données d'annulation 9-6
Stockage des informations d'annulation 9-7
Données d'annulation et données de journalisation 9-8
Surveiller les informations d'annulation 9-9
Administrer les informations d'annulation 9-11
Configurer la période de conservation des informations d'annulation 9-12
Garantir la période de conservation des informations d'annulation 9-14
Dimensionner le tablespace d'annulation 9-15
Utiliser Undo Advisor 9-16
Synthèse 9-17
Présentation de l'exercice : Gérer les segments d'annulation 9-18

10 Implémenter la sécurité de la base de données Oracle


Objectifs 10-2
Obligations en matière de sécurité dans les entreprises 10-3
Séparation des responsabilités 10-5
Sécurité de la base de données 10-6
Principe du moindre privilège 10-8
Appliquer le principe du moindre privilège 10-9
Surveiller les activités suspectes 10-11
Audit de base de données standard 10-12
Activer l'audit 10-13
Traces d'audit uniformes 10-14
Page Audit Settings d'Enterprise Manager 10-16
Définir les options d'audit 10-17
Utiliser et gérer les informations d'audit 10-18
Audit base sur les données 10-19
Audit détaillé 10-21
Stratégie d'audit détaillé 10-22
Instruction LMD auditée : Eléments à prendre en compte 10-24
Règles relatives à l'audit détaillé 10-25
Audit de DBA 10-26

viii

Unauthorized reproduction or distribution prohibitedฺ Copyright© 2009, Oracle and/or its affiliatesฺ
Gérer la trace d'audit 10-27
Mises à jour de sécurité 10-28
Appliquer des patches de sécurité 10-29
Synthèse 10-30
Présentation de l'exercice : Implémenter la sécurité
de la base de données Oracle 10-31
11 Configurer l'environnement réseau Oracle
Objectifs 11-2
Services Oracle Net 11-3
Processus d'écoute Oracle Net 11-4
Etablir des connexions réseau 11-5
Etablir une connexion 11-6
Sessions utilisateur 11-7
Outils de configuration et de gestion de l'environnement réseau Oracle 11-9
Utilitaire de contrôle du processus d'écoute 11-10
Syntaxe de l'utilitaire de contrôle du processus d'écoute 11-11
Page d'accueil Listener 11-13
Pages Net Services Administration 11-14
Créer un processus d'écoute 11-15
Ajouter des adresses de processus d'écoute 11-16
Enregistrement d'un service de base de données 11-17
Méthodes de résolution de noms 11-18
Easy Connect 11-19
Résolution locale de noms 11-20
Résolution de noms d'annuaire 11-21
Méthode de résolution de noms externes 11-22
Configurer des alias de service 11-23
Options de connexion avancées 11-24
Tester la connectivité Oracle Net 11-26
Sessions utilisateur : Serveurs dédiés 11-27
Sessions utilisateur : Serveurs partagés 11-28
Mémoire SGA et mémoire PGA 11-29
Serveur partagé : Concentration des connexions 11-30
Dans quel cas ne pas utiliser de serveur partagé ? 11-31
Synthèse 11-32
Présentation de l'exercice : Utiliser les composants réseau Oracle 11-33
12 Maintenance proactive
Objectifs 12-2
Maintenance proactive 12-3
Terminologie 12-4

ix

Unauthorized reproduction or distribution prohibitedฺ Copyright© 2009, Oracle and/or its affiliatesฺ
Statistiques destinées à l'optimiseur 12-5
Utiliser la page Manage Optimizer Statistics 12-7
Niveaux de statistiques 12-9
Référentiel AWR (Automatic Workload Repository) 12-10
Infrastructure du référentiel AWR 12-11
Jeux de clichés AWR 12-12
Enterprise Manager et référentiel AWR 12-13
Gérer le référentiel AWR 12-14
Moniteur ADDM (Automatic Database Diagnostic Monitor) 12-15
Résultats ADDM 12-16
Recommandations ADDM 12-17
Infrastructure de conseil 12-18
Enterprise Manager et les fonctions de conseil 12-20
Package DBMS_ADVISOR 12-21
Alertes générées par le serveur 12-22
Alertes par défaut générées par le serveur 12-23
Définir des seuils 12-24
Créer et tester une alerte 12-25
Notification des alertes 12-26
Réagir aux alertes 12-28
Types d'alerte et effacement des alertes 12-29
Tâches de maintenance automatisées 12-30
Synthèse 12-31
Présentation de l'exercice : Maintenance proactive 12-32

13 Gestion des performances


Objectifs 13-2
Surveillance des performances 13-3
Surveillance des performances : Option Top Sessions 13-7
Surveillance des performances : Option Top Services 13-8
SQL Tuning Advisor : Présentation 13-9
SQL Tuning Advisor : Options et recommandations 13-10
Utiliser SQL Tuning Advisor 13-11
Utiliser SQL Tuning Advisor : Exemple 13-12
SQL Tuning Advisor : Statistiques sur une instruction SQL 13-13
SQL Tuning Advisor : Identifier les instructions SQL en double 13-14
Utiliser SQL Access Advisor 13-15
Gérer les composants de mémoire 13-17
Activer la gestion automatique de la mémoire partagée 13-18
Gérer manuellement la mémoire partagée 13-20

Unauthorized reproduction or distribution prohibitedฺ Copyright© 2009, Oracle and/or its affiliatesฺ
Utiliser Memory Advisor 13-21
Statistiques dynamiques de performances 13-22
Vues de résolution des problèmes et de réglage 13-24
Options non valides et inutilisables 13-25
Synthèse 13-27
Présentation de l'exercice : Surveiller et améliorer les performances 13-28
14 Concepts de sauvegarde et de récupération
Objectifs 14-2
Partie de votre travail 14-3
Catégories de panne 14-4
Echec d'une instruction 14-5
Echec d'un processus utilisateur 14-6
Défaillance réseau 14-7
Erreur utilisateur 14-8
Echec d'une instance 14-10
Processus en arrière-plan et récupération : Point de reprise (CKPT) 14-11
Processus en arrière-plan et récupération : Fichiers de journalisation
et LogWriter 14-13
Processus en arrière-plan et récupération : Processus d'archivage (ARCn) 14-14
Récupération d'instance 14-15
Phases de la récuperation d'instance 14-16
Régler la récupération d'instance 14-17
Utiliser MTTR Advisor 14-18
Défaillance physique 14-19
Configurer la base de données afin d'optimiser la possibilité
de récupération 14-20
Fichiers de contrôle 14-22
Fichiers de journalisation 14-23
Multiplexer le fichier de journalisation 14-24
Fichiers de journalisation archivés 14-25
Fichier de journalisation archivé : Appellation et destinations 14-26
Mode ARCHIVELOG 14-28
Synthèse 14-29
Présentation de l'exercice : Configurer la base de données afin d'optimiser
la possibilité de récupération 14-30
15 Procéder à des sauvegardes de la base de données
Objectifs 15-2
Solutions de sauvegarde : Présentation 15-3
Oracle Secure Backup 15-4
Sauvegarde gérée par l'utilisateur 15-5
Terminologie 15-6
Recovery Manager (RMAN) 15-8

xi

Unauthorized reproduction or distribution prohibitedฺ Copyright© 2009, Oracle and/or its affiliatesฺ
Configurer les paramètres de sauvegarde 15-9
Planifier des sauvegardes : Stratégie 15-11
Planifier des sauvegardes : Options 15-12
Planifier des sauvegardes : Paramètres 15-13
Planifier des sauvegardes : Planification 15-14
Planifier des sauvegardes : Récapitulatif 15-15
Sauvegarder le fichier de contrôle dans un fichier trace 15-16
Gérer les sauvegardes 15-18
Zone de récupération rapide 15-19
Synthèse 15-20
Présentation de l'exercice : Créer des sauvegardes
de la base de données 15-21
16 Procéder à une récupération de la base de données
Objectifs 16-2
Ouvrir une base de données 16-3
Modifier le statut d'une instance 16-5
Maintenir une base de données ouverte 16-6
Perte d'un fichier de contrôle 16-7
Perte d'un fichier de journalisation 16-8
Perte d'un fichier de données en mode NOARCHIVELOG 16-9
Perte d'un fichier de données non essentiel en mode ARCHIVELOG 16-10
Perte d'un fichier de données essentiel pour le système
en mode ARCHIVELOG 16-11
Synthèse 16-12
Présentation de l'exercice : Procéder à une récupération
de la base de données 16-13
17 Procéder à un flashback de la base de données
Objectifs 17-2
Avantages de la technologie Flashback 17-3
Dans quel cas utiliser la technologie Flashback ? 17-4
Procéder à un flashback suite à une erreur 17-5
Flashback Database : Présentation 17-6
Flashback Database : Réduction de la durée de restauration 17-7
Flashback Database : Eléments à prendre en compte 17-8
Flashback Database : Limitations 17-9
Activer Flashback Database 17-10
Flashback Table : Présentation 17-11
Flashback Table 17-12
Activer le déplacement de lignes (row movement) dans une table 17-13
Procéder au flashback d'une table 17-14
Flashback Table : Eléments à prendre en compte 17-16
Flashback Drop : Présentation 17-17

xii

Unauthorized reproduction or distribution prohibitedฺ Copyright© 2009, Oracle and/or its affiliatesฺ
Procéder à un flashback de tables supprimées via Enterprise Manager 17-18
Flashback Drop : Eléments à prendre en compte 17-19
Navigation temporelle grâce aux fonctionnalités Flashback 17-20
Flashback Query : Présentation 17-21
Flashback Query : Exemple 17-22
Flashback Versions Query : Présentation 17-23
Flashback Versions Query via Enterprise Manager 17-24
Flashback Versions Query : Eléments à prendre en compte 17-25
Flashback Transaction Query : Présentation 17-26
Flashback Transaction Query via Enterprise Manager 17-27
Flashback Transaction Query : Eléments à prendre en compte 17-28
Synthèse 17-29
Présentation de l'exercice : Utiliser Flashback 17-30

18 Déplacer des données


Objectifs 18-2
Déplacer des données : Architecture générale 18-3
Objet répertoire : Présentation 18-5
Créer des objets répertoire 18-6
SQL*Loader : Présentation 18-7
Charger des données avec SQL*Loader 18-9
Fichier de contrôle SQL*Loader 18-10
Méthodes de chargement 18-12
Data Pump : Présentation 18-14
Data Pump : Avantages 18-16
Data Pump Export et Data Pump Import : Présentation 18-17
Utilitaire Data Pump : Interfaces et modes 18-18
Sélection fine d'objets 18-19
Fonctionnalité avancée : Echantillonnage 18-20
Options d'export : Fichiers 18-21
Emplacement des fichiers Data Pump 18-22
Planifier et exécuter un travail 18-24
Nom et taille des fichiers Data Pump 18-25
Data Pump Import 18-26
Data Pump Import : Transformations 18-27
Data Pump : Considérations relatives aux performances 18-29
Paramètres d'initialisation des performances 18-30
Chemin direct Data Pump : Considérations 18-31
Utiliser Enterprise Manager pour surveiller les travaux Data Pump 18-32
Remplissage de tables externes 18-33

xiii

Unauthorized reproduction or distribution prohibitedฺ Copyright© 2009, Oracle and/or its affiliatesฺ
Utiliser des tables externes 18-34
Remplissage d'une table externe avec ORACLE_DATAPUMP 18-35
Remplissage d'une table externe avec ORACLE_LOADER 18-36
Dictionnaires de données 18-37
Synthèse 18-38
Présentation de l'exercice : Déplacer des données 18-39

Annexe A : Exercices

Annexe B : Solutions

Annexe C : Commandes de base de Linux et vi

Annexe D : Syntaxe des instructions SQL

Annexe E : Acronymes et termes

Annexe F : Etapes suivantes : Poursuivre la formation

Index

xiv

Unauthorized reproduction or distribution prohibitedฺ Copyright© 2009, Oracle and/or its affiliatesฺ
________________
Annexe A

Exercices
________________

Unauthorized reproduction or distribution prohibitedฺ Copyright© 2009, Oracle and/or its affiliatesฺ
Sessions d'exercices : Présentation

Schéma HR :

Scripts LDD (Langage de définition de données)


Vous pouvez utiliser des scripts LDD pour créer le schéma HR initial.

Définitions de tables ,STATE_PROVINCE VARCHAR2(25)


,COUNTRY_ID CHAR(2)
PROMPT Creating Table 'REGIONS' )
CREATE TABLE REGIONS /
(REGION_ID FLOAT(53) NOT NULL
,REGION_NAME VARCHAR2(25) PROMPT Creating Table 'JOB_HISTORY'
) CREATE TABLE JOB_HISTORY
/ (EMPLOYEE_ID NUMBER(10,0) NOT NULL
,START_DATE DATE NOT NULL
PROMPT Creating Table 'JOBS' ,END_DATE DATE NOT NULL
CREATE TABLE JOBS ,JOB_ID VARCHAR2(10) NOT NULL
(JOB_ID VARCHAR2(10) NOT NULL ,DEPARTMENT_ID NUMBER(5,0)
,JOB_TITLE VARCHAR2(35) NOT NULL )
,MIN_SALARY NUMBER(10,0) /
,MAX_SALARY NUMBER(10,0)
) PROMPT Creating Table 'DEPARTMENTS'
/ CREATE TABLE DEPARTMENTS
(DEPARTMENT_ID NUMBER(5,0) NOT NULL
PROMPT Creating Table 'LOCATIONS' ,DEPARTMENT_NAME VARCHAR2(30) NOT
CREATE TABLE LOCATIONS NULL
(LOCATION_ID NUMBER(5,0) NOT NULL ,MANAGER_ID NUMBER(10,0)
,STREET_ADDRESS VARCHAR2(40) ,LOCATION_ID NUMBER(5,0)
,POSTAL_CODE VARCHAR2(12) )
,CITY VARCHAR2(30) NOT NULL /

Oracle Database 10g : Administration Workshop I A-2


Unauthorized reproduction or distribution prohibitedฺ Copyright© 2009, Oracle and/or its affiliatesฺ
Sessions d'exercices : Présentation
(suite)

PROMPT Creating Table 'EMPLOYEES' ALTER TABLE JOB_HISTORY


CREATE TABLE EMPLOYEES ADD (CONSTRAINT
(EMPLOYEE_ID NUMBER(10,0) NOT NULL PK__JOB_HISTORY__0AD2A005 PRIMARY KEY
,FIRST_NAME VARCHAR2(20) (EMPLOYEE_ID
,LAST_NAME VARCHAR2(25) NOT NULL ,START_DATE))
,EMAIL VARCHAR2(25) NOT NULL /
,PHONE_NUMBER VARCHAR2(20)
,HIRE_DATE DATE NOT NULL PROMPT Creating Primary Key on
,JOB_ID VARCHAR2(10) NOT NULL 'DEPARTMENTS'
,SALARY NUMBER(8,2) ALTER TABLE DEPARTMENTS
,COMMISSION_PCT NUMBER(2,2) ADD (CONSTRAINT
,MANAGER_ID NUMBER(10,0) PK__DEPARTMENTS__7E6CC920 PRIMARY KEY
,DEPARTMENT_ID NUMBER(5,0) (DEPARTMENT_ID))
) /
/
PROMPT Creating Primary Key on
PROMPT Creating Table 'COUNTRIES' 'EMPLOYEES'
CREATE TABLE COUNTRIES ALTER TABLE EMPLOYEES
(COUNTRY_ID CHAR(2) NOT NULL ADD (CONSTRAINT
,COUNTRY_NAME VARCHAR2(40) PK__EMPLOYEES__0425A276 PRIMARY KEY
,REGION_ID FLOAT(53) (EMPLOYEE_ID))
) /
/
PROMPT Creating Primary Key on
'COUNTRIES'
Définitions de contraintes
ALTER TABLE COUNTRIES
ADD (CONSTRAINT
PROMPT Creating Primary Key on PK__COUNTRIES__78B3EFCA PRIMARY KEY
'REGIONS' (COUNTRY_ID))
ALTER TABLE REGIONS /
ADD (CONSTRAINT
PK__REGIONS__76CBA758 PRIMARY KEY
(REGION_ID)) PROMPT Creating Unique Key on
/ 'EMPLOYEES'
ALTER TABLE EMPLOYEES
PROMPT Creating Primary Key on 'JOBS' ADD (CONSTRAINT
ALTER TABLE JOBS UQ__EMPLOYEES__0519C6AF UNIQUE
ADD (CONSTRAINT PK__JOBS__023D5A04 (EMAIL))
PRIMARY KEY /
(JOB_ID))
/
PROMPT Creating Check Constraint on
PROMPT Creating Primary Key on 'JOB_HISTORY'
'LOCATIONS' ALTER TABLE JOB_HISTORY
ALTER TABLE LOCATIONS ADD (CONSTRAINT
CK__JOB_HISTORY__0EA330E9 CHECK
(END_DATE > START_DATE))
/
ADD (CONSTRAINT
PK__LOCATIONS__7B905C75 PRIMARY KEY
(LOCATION_ID))
/

PROMPT Creating Primary Key on


'JOB_HISTORY'
Oracle Database 10g : Administration Workshop I A-3
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2009, Oracle and/or its affiliatesฺ
Sessions d'exercices : Présentation
(suite)
PROMPT Creating Check Constraint on PROMPT Creating Foreign Key on
'EMPLOYEES' 'DEPARTMENTS'
ALTER TABLE EMPLOYEES ALTER TABLE DEPARTMENTS ADD
ADD (CONSTRAINT (CONSTRAINT
CK__EMPLOYEES__SALAR__08EA5793 CHECK FK__DEPARTMEN__LOCAT__7F60ED59
(SALARY > 0)) FOREIGN KEY
/ (LOCATION_ID) REFERENCES LOCATIONS
(LOCATION_ID) ON DELETE CASCADE)
/
PROMPT Creating Foreign Key on
'LOCATIONS' PROMPT Creating Foreign Key on
ALTER TABLE LOCATIONS ADD (CONSTRAINT 'EMPLOYEES'
FK__LOCATIONS__COUNT__7C8480AE ALTER TABLE EMPLOYEES ADD (CONSTRAINT
FOREIGN KEY FK__EMPLOYEES__MANAG__07F6335A
(COUNTRY_ID) REFERENCES COUNTRIES FOREIGN KEY
(COUNTRY_ID) ON DELETE CASCADE) (MANAGER_ID) REFERENCES EMPLOYEES
/ (EMPLOYEE_ID) ON DELETE CASCADE)
/
PROMPT Creating Foreign Key on
'JOB_HISTORY' PROMPT Creating Foreign Key on
ALTER TABLE JOB_HISTORY ADD 'EMPLOYEES'
(CONSTRAINT ALTER TABLE EMPLOYEES ADD (CONSTRAINT
FK__JOB_HISTO__DEPAR__0BC6C43E FK__EMPLOYEES__JOB_I__07020F21
FOREIGN KEY FOREIGN KEY
(DEPARTMENT_ID) REFERENCES (JOB_ID) REFERENCES JOBS
DEPARTMENTS (JOB_ID) ON DELETE CASCADE)
(DEPARTMENT_ID) ON DELETE CASCADE) /
/
PROMPT Creating Foreign Key on
PROMPT Creating Foreign Key on 'EMPLOYEES'
'JOB_HISTORY' ALTER TABLE EMPLOYEES ADD (CONSTRAINT
ALTER TABLE JOB_HISTORY ADD FK__EMPLOYEES__DEPAR__060DEAE8
(CONSTRAINT FOREIGN KEY
FK__JOB_HISTO__JOB_I__0DAF0CB0 (DEPARTMENT_ID) REFERENCES
FOREIGN KEY DEPARTMENTS
(JOB_ID) REFERENCES JOBS (DEPARTMENT_ID) ON DELETE CASCADE)
(JOB_ID) ON DELETE CASCADE) /
/
PROMPT Creating Foreign Key on
PROMPT Creating Foreign Key on 'COUNTRIES'
'JOB_HISTORY' ALTER TABLE COUNTRIES ADD (CONSTRAINT
ALTER TABLE JOB_HISTORY ADD FK__COUNTRIES__REGIO__79A81403
(CONSTRAINT FOREIGN KEY
FK__JOB_HISTO__EMPLO__0CBAE877 (REGION_ID) REFERENCES REGIONS
FOREIGN KEY (REGION_ID) ON DELETE CASCADE)
(EMPLOYEE_ID) REFERENCES EMPLOYEES
(EMPLOYEE_ID) ON DELETE CASCADE)
/

Oracle Database 10g : Administration Workshop I A-4


Unauthorized reproduction or distribution prohibitedฺ Copyright© 2009, Oracle and/or its affiliatesฺ
Exercice 2 : Installer le logiciel de base de données Oracle

Contexte : Dans les exercices portant sur ce cours, vous jouez le rôle d'un administrateur de
base de données (DBA). Les comptes du système d'exploitation sur votre ordinateur sont les
suivants :
• L'utilisateur oracle, avec le mot de passe oracle.
• L'utilisateur root, avec le mot de passe oracle.

L'administrateur système a configuré le système d'exploitation de sorte qu'il soit prêt pour
l'installation. Le support d'installation est enregistré dans le répertoire /stage/Disk1.
Effectuez les tâches suivantes en tant qu'utilisateur du système d'exploitation oracle par
défaut, sauf indication contraire.

Utilisez Oracle Universal Installer (OUI) pour lancer l'installation du logiciel Enterprise Edition
d'Oracle Database 10g version 2. Il s'agit d'une installation standard (Basic Installation) du
logiciel Oracle.

Une fois le logiciel installé, exécutez le script lab_02_05.sh qui crée automatiquement un
processus d'écoute (listener).

Remarque : Vous devez réaliser cet exercice pour pouvoir effectuer les exercices des chapitres
suivants.

Vos tâches

1. Installez le logiciel de base de données Oracle en tant qu'utilisateur oracle. Accédez au


répertoire /stage/Disk1 et démarrez Oracle Universal Installer (OUI) en entrant la
commande ./runInstaller.

2. Sélectionnez la méthode d'installation souhaitée en entrant et en acceptant les paramètres


suivants :
Objet Paramètre
Installation Method Basic Installation
Database Home Location /u01/app/oracle/product/10.2.0/db_1
Installation Type Enterprise Edition
UNIX DBA Group oinstall
Create Starter Database Désélectionné
Inventory Directory /u01/app/oracle/oraInventory

3. Une fois les paramètres initiaux saisis, OUI vérifie les prérequis propres au produit. A la fin
de ces vérifications, installez le logiciel Oracle.

Le temps d'installation est estimé à 10–15 minutes. Toutefois, cette estimation peut varier
grandement en fonction des environnements.

Oracle Database 10g : Administration Workshop I A-5


Unauthorized reproduction or distribution prohibitedฺ Copyright© 2009, Oracle and/or its affiliatesฺ
Exercice 2 : Installer le logiciel de base de données Oracle (suite)

4. Lorsque la page Execute Configuration Scripts apparaît, suivez les instructions qui y
figurent, acceptez la valeur par défaut pour le répertoire bin local, puis terminez
l'installation à l'aide d'OUI.

Notez les URL de fin d'installation. Vous les utiliserez plus tard dans d'autres sessions
d'exercices.

URL
iSQL*Plus :____________________________________________________________

URL DBA
iSQL*Plus :_______________________________________________________

Revoyez l'inventaire produit si vous le souhaitez, puis quittez le programme d'installation.

5. Exécutez le script lab_02_05.sh, qui se trouve dans le répertoire


/home/oracle/labs. Ce script a recours à l'utilitaire netca pour créer un processus
d'écoute (listener). Si vous créez la première base de données à l'aide d'OUI (dans le cadre
de l'installation), OUI appelle l'assistant de configuration réseau, qui crée le premier
processus d'écoute pour vous. Pour plus d'informations sur les processus d'écoute, reportez-
vous au chapitre intitulé "Configurer l'environnement réseau Oracle".

Un journal d'activité doit apparaître à l'écran, avec à la fin un message de réussite. Si tel
n'est pas le cas, résolvez les erreurs qui ont pu se produire.

Oracle Database 10g : Administration Workshop I A-6


Unauthorized reproduction or distribution prohibitedฺ Copyright© 2009, Oracle and/or its affiliatesฺ
Exercice 3 : Créer une base de données Oracle

Contexte : Vous êtes sur le point de créer votre première base de données Oracle. Vous
prévoyez que plusieurs bases de données semblables seront nécessaires dans un futur proche.
Par conséquent, vous décidez de créer la base de données ORCL, ainsi qu'un modèle de base de
données et les scripts de création de base de données. Placez les scripts dans le répertoire
/home/oracle/labs (il s'agit du répertoire le plus souvent utilisé dans ce cours).

Remarque : Vous devez réaliser cet exercice pour pouvoir effectuer les exercices des chapitres
suivants.

Vos tâches

1. Démarrez DBCA (Database Configuration Assistant) en entrant dbca dans une fenêtre de
terminal.

2. Commencez la phase de création de la base de données ORCL. Utilisez le modèle de base


de données General Purpose. Examinez en détail les informations du modèle, puis répondez
aux questions suivantes.

Question 1 : Combien de fichiers de contrôle sont créés ?


________________________________________________________________________

Question 2 : Le fait de les multiplexer permettrait-il d'optimiser la disponibilité de la base


de données ?
________________________________________________________________________

Question 3 : Combien de groupes de fichiers de journalisation sont créés ?


________________________________________________________________________

Question 4 : Le fait de les mettre en miroir permettrait-il d'optimiser la disponibilité de la


base de données ?
________________________________________________________________________
________________________________________________________________________

Question 5 : Quelle est la taille des blocs de base de données (db_block_size) ?


________________________________________________________________________

Question 6 : Quelle est la valeur de Sample Schemas ?


________________________________________________________________________

Remarque : Vous modifierez ce paramètre ultérieurement dans l'exercice afin de créer et


de déverrouiller l'exemple de schéma HR.

Oracle Database 10g : Administration Workshop I A-7


Unauthorized reproduction or distribution prohibitedฺ Copyright© 2009, Oracle and/or its affiliatesฺ
Exercice 3 : Créer une base de données Oracle (suite)

Question 7 : Quel est le modèle par défaut du paramètre Database Character Set ?

________________________________________________________________________

Remarque : Vous modifierez ce paramètre ultérieurement dans l'exercice afin d'utiliser un


jeu de caractères de base de données Unicode.

3. Créez la base de données ORCL, ainsi que le modèle ORCL et les scripts de génération de la
base de données.

Créez une base de données en utilisant les paramètres suivants :


Objet Paramètre
Global Database Name orcl.oracle.com
SID orcl
Configuration Configure the Database with Enterprise Manager
Database Management Use Database Control for Database Management
Enable Email Notifications désélectionner
Enable Daily Backup désélectionner
Password for All Accounts oracle
Storage Options File System
File Location Use Oracle-Managed Files
Recovery Configuration Specify Flash Recovery Area
Enable Archiving désélectionner
Database Content Sample Schemas enabled
Initialization Parameters Memory Custom and Automatic Shared Memory
Management
Character Sets Use Unicode (AL32UTF8)
Creation Options: Sélectionnez toutes les options :
- Create Database
- Save as a Database Template (optional)
- Generate Database Creation Scripts (optional)
Template Name orcl
Description ORCL Database template
Destination Directory /home/oracle/labs

Vérifiez et confirmez les options et les paramètres, tels que Sample Schemas (true),
db_block_size (8KB), sga_target (270MB), undo_management (AUTO)
et Database Character Set (AL32UTF8).

Oracle Database 10g : Administration Workshop I A-8


Unauthorized reproduction or distribution prohibitedฺ Copyright© 2009, Oracle and/or its affiliatesฺ
Exercice 3 : Créer une base de données Oracle (suite)

L'assistant DBCA affiche la progression des différentes étapes d'installation. Une fois la
base de données créée, l'assistant DBCA affiche les principales informations relatives à la
base de données. Relevez ces informations. L'URL de Database Control sera utilisée dans
plusieurs des exercices suivants.

Déverrouillez l'utilisateur HR, en utilisant le mot de passe HR.

Vous venez de créer une base de données, ainsi qu'(éventuellement) un modèle de base de
données et des scripts de génération de base de données.

Oracle Database 10g : Administration Workshop I A-9


Unauthorized reproduction or distribution prohibitedฺ Copyright© 2009, Oracle and/or its affiliatesฺ
Exercice 4 : Gérer l'instance Oracle

Contexte : Vous venez d'installer le logiciel Oracle et de créer une base de données. Vous
souhaitez vous assurer que vous pouvez démarrer et arrêter la base de données et afficher les
données d'application.

Vos tâches
1. Appelez Enterprise Manager à l'aide de Mozilla et du profil oracle. Entrez l'URL que
vous avez relevée dans l'exercice 3, puis connectez-vous en tant qu'utilisateur SYS en
utilisant oracle comme mot de passe et SYSDBA comme valeur du champ "Connect As".
Quel numéro de port la base de données utilise-t-elle ? Vous avez noté cette information
dans l'exercice 3.
_______________________________________________________________________
La première fois que vous vous connectez après avoir installé le logiciel, la page "Oracle
Database 10g Licensing Information" apparaît. Prenez connaissance des informations
qu'elle contient.
2. Affichez les paramètres d'initialisation (Aide à la navigation : Administration >
All Initialization Parameters). Attribuez la valeur 15 au paramètre
JOB_QUEUE_PROCESSES. Quelle instruction SQL est exécutée pour cette opération ?
_______________________________________________________________________
3. Question : Quelle est la signification de la présence d'une coche dans la colonne Dynamic ?
_______________________________________________________________________
4. Arrêtez l'instance de base de données à l'aide d'Enterprise Manager.

Dans la région Host Credentials, entrez oracle dans les champs Username et Password.

Question : Quelle instruction SQL est exécutée pour arrêter une instance de base de données ?
_______________________________________________________________________
Si vous cliquez sur Refresh au cours de l'opération d'arrêt, l'erreur ci-dessous peut
apparaître. Cliquez sur OK et poursuivez la régénération. L'erreur se résoudra d'elle-même.

Cliquez sur OK, puis à nouveau sur Refresh. Notez que l'instance affiche à présent le statut
"Down".

Oracle Database 10g : Administration Workshop I A-10


Unauthorized reproduction or distribution prohibitedฺ Copyright© 2009, Oracle and/or its affiliatesฺ
Exercice 4 : Gérer l'instance Oracle (suite)

5. Lorsque vous constatez que le statut de l'instance est "Down", utilisez SQL*Plus pour
vérifier que vous ne pouvez pas vous connecter en tant qu'utilisateur HR.

6. Utilisez Enterprise Manager pour redémarrer l'instance de base de données en entrant les
informations d'identification et de connexion (credentials) de l'hôte oracle. Question :
Quelle instruction SQL est exécutée pour démarrer la base de données ?

_______________________________________________________________________

7. Dans le fichier d'alertes, affichez les différentes phases de démarrage de la base de données.
(Aide à la navigation : Database > Alert Log Content).
Question : Quelles sont les phases de démarrage de l'instance de base de données ?

_______________________________________________________________________

8. Testez l'accès à iSQL*Plus pour les développeurs d'applications en Ressources humaines.


(Aide à la navigation : Database > iSQL*Plus). Utilisez le rôle Normal, le nom utilisateur
et le mot de passe hr, ainsi que la valeur par défaut du paramètre Connect Identifier. Si une
erreur se produit lors de l'accès à iSQL*Plus, démarrez le processus isqlplus en entrant
la commande isqlplusctl start à l'invite du système d'exploitation, puis renouvelez
l'opération. Une fois la connexion établie, sélectionnez le contenu de la table EMPLOYEES.

Lorsque vous avez fini de vérifier les informations, déconnectez-vous d'iSQL*Plus et


fermez la fenêtre iSQL*Plus.

Oracle Database 10g : Administration Workshop I A-11


Unauthorized reproduction or distribution prohibitedฺ Copyright© 2009, Oracle and/or its affiliatesฺ
Exercice 5 : Gérer les structures de stockage de base de données

Contexte : Vous devez créer un tablespace pour l'application INVENTORY. Il vous faut
également créer un utilisateur de base de données qui ne dispose pas d'autant de privilèges que
l'utilisateur SYS.

Vos tâches

1. Entrez ./lab_05_01.sh pour exécuter un script permettant de créer l'utilisateur DBA1.


Ce script se trouve dans le répertoire /home/oracle/labs. Le mot de passe de DBA1
est oracle. Laissez la fenêtre d'invite de commande ouverte. Vous l'utiliserez
ultérieurement.

2. Dans l'angle supérieur droit d'Enterprise Manager (EM), cliquez sur le lien Setup pour
définir l'utilisateur DBA1 et lui attribuer le droit d'effectuer des tâches d'administration dans
Enterprise Manager. Indiquez les paramètres suivants :
Objet Paramètre
Name dba1
Password Oracle
Confirm Password Oracle
Super Administrator Sélectionné

Une fois l'utilisateur non-SYS configuré, fermez la session SYS, puis connectez-vous en
tant qu'utilisateur DBA1. Effectuez le reste des tâches suivantes en tant qu'utilisateur DBA1,
sauf indication contraire.

3. Dans Enterprise Manager, affichez les informations relatives au tablespace EXAMPLE


(Aide à la navigation : Administration > Tablespaces). Répondez aux questions suivantes le
concernant :

Question 1 : Quel pourcentage d'espace libre peut être utilisé avant d'atteindre le seuil
d'avertissement (Warning threshold) ?

_______________________________________________________________________

Question 2 : Combien de segments y a-t-il dans le tablespace EXAMPLE ? (Aide à la


navigation : sélectionner "Show Tablespace Contents" dans la liste déroulante Actions).

_______________________________________________________________________

Question 3 : Quel index du tablespace EXAMPLE occupe le plus d'espace ?


(Aide à la navigation : Type de recherche "INDEX")

_______________________________________________________________________

Oracle Database 10g : Administration Workshop I A-12


Unauthorized reproduction or distribution prohibitedฺ Copyright© 2009, Oracle and/or its affiliatesฺ
Exercice 5 : Gérer les structures de stockage de base de données (suite)

Question 4 : Quel segment est stocké physiquement en premier dans le tablespace ?


Autrement dit, lequel est stocké immédiatement à la suite de l'en-tête du tablespace ?

Examinez tous les types d'extent (ensemble de blocs contigus) figurant dans la zone Extent
Map. Notez l'extent situé immédiatement à droite de l'extent d'en-tête du tablespace.

Revenez en haut de la page et notez le segment sur lequel est placé le pointeur.

_______________________________________________________________________

4. Créez un tablespace géré localement et nommez-le INVENTORY (Aide à la navigation :


Administration > Tablespaces). Indiquez les spécifications suivantes :
Objet Paramètre
Tablespace name INVENTORY
Extent Management Locally Managed
Type Permanent
Status Read Write
Use Bigfile tablespace désélectionné
Data File Name inventory01.dbf
File Size 5 MB
Extent Allocation Automatic
Segment Space Management Segment Space Management
Enable Logging sélectionné

Vérifiez l'instruction SQL qui sera exécutée pour créer ce tablespace.

Remarque : Le tablespace INVENTORY sera utilisé dans d'autres exercices portant sur ce cours.

5. Exécutez le script lab_05_05.sql pour créer et remplir une table (nommée X) dans le
tablespace INVENTORY. Quelle erreur apparaît alors ?

_______________________________________________________________________

Oracle Database 10g : Administration Workshop I A-13


Unauthorized reproduction or distribution prohibitedฺ Copyright© 2009, Oracle and/or its affiliatesฺ
Exercice 5 : Gérer les structures de stockage de base de données (suite)

6. Accédez à la fenêtre Enterprise Manager et définissez pour le tablespace un espace de


50 Mo au lieu de 5 Mo, tout en conservant le même fichier de données unique dans le
tablespace. Quelle instruction ALTER est exécutée pour effectuer cette modification ?

_______________________________________________________________________

7. Revenez dans la fenêtre XTerm et exécutez le script lab_05_07.sql qui supprime la


table et réexécute le script d'origine ayant renvoyé précédemment l'erreur de manque
d'espace.

Notez que le même nombre d'insertions de ligne est entrepris, et qu'aucune erreur ne se
produit en raison de la plus grande taille du tablespace.

8. Dans une fenêtre XTerm, exécutez le script lab_05_08.sql pour nettoyer le tablespace
en vue d'une utilisation dans les exercices suivants.

Oracle Database 10g : Administration Workshop I A-14


Unauthorized reproduction or distribution prohibitedฺ Copyright© 2009, Oracle and/or its affiliatesฺ
Exercice 6 : Administrer la sécurité utilisateur

Contexte : Vous devez créer un compte utilisateur pour Jenny Goodman, le nouveau manager
du département des Ressources humaines. Ce département compte également deux nouveaux
opérateurs, à savoir David Hamby et Rachel Pandya. Tous trois doivent pouvoir se connecter à
la base de données ORCL, et effectuer une sélection des données et mettre à jour les
enregistrements dans la table HR.EMPLOYEES. Le manager doit également pouvoir insérer et
supprimer des enregistrements d'employés. Assurez-vous que si les nouveaux utilisateurs
oublient de se déconnecter à la fin de la journée, ils seront déconnectés automatiquement après
quinze minutes. Vous devez également créer un compte utilisateur pour l'application de gestion
des stocks que vous installez.

Vos tâches

1. Obligatoire : Vérifiez et exécutez le script lab_06_01.sh (qui se trouve dans le


répertoire /home/oracle/labs) pour créer l'utilisateur de schéma INVENTORY, dont
vous vous servirez dans l'exercice suivant.

2. Créez un profil nommé HRPROFILE, autorisant 15 minutes de temps d'inactivité (Aide à la


navigation : Administration > Profiles). Vous pouvez éventuellement consulter
l'instruction SQL sous-jacente.

3. Attribuez la valeur TRUE au paramètre d'initialisation RESOURCE_LIMIT, de manière à


appliquer des limites de temps du profil (Aide à la navigation : Administration > All
Initialization Parameters).

4. Utilisez Enterprise Manager pour créer le rôle HRCLERK autorisé à sélectionner des
données dans la table HR.EMPLOYEES et à mettre à jour cette table (Aide à la navigation :
Administration > Roles). Vérifiez l'instruction SQL sous-jacente:

5. A l'aide d'Enterprise Manager, créez le rôle HRMANAGER autorisé à effectuer des insertions
et des suppressions dans la table HR.EMPLOYEES. Accordez le rôle HRCLERK au rôle
HRMANAGER. Vérifiez l'instruction SQL sous-jacente:

Oracle Database 10g : Administration Workshop I A-15


Unauthorized reproduction or distribution prohibitedฺ Copyright© 2009, Oracle and/or its affiliatesฺ
Exercice 6 : Administrer la sécurité utilisateur (suite)
6. Dans Enterprise Manager, créez un compte pour David Hamby, un nouvel opérateur du
département des Ressources humaines (Aide à la navigation : Administration > Users).
Indiquez les spécifications suivantes :
Objet Paramètre
Name DHAMBY
Profile HRPROFILE
Password Authentication sélectionné
Password newuser
Expire Password now sélectionné
Roles CONNECT et HRCLERK
7. Utilisez Enterprise Manager afin de créer un compte pour Rachel Pandya, une nouvelle
opératrice du département des Ressources humaines (HR). Répétez les différentes étapes de
la tâche 6 en utilisant RPANDYA comme nom utilisateur.
8. Utilisez Enterprise Manager afin de créer un compte pour Jenny Goodman, le nouveau
manager du département des Ressources humaines. Répétez les différentes étapes de la
tâche 6 en utilisant JGOODMAN comme nom utilisateur et en sélectionnant le rôle
HRMANAGER au lieu du rôle HRCLERK. Vérifiez l'instruction SQL sous-jacente:

9. Testez les nouveaux utilisateurs dans SQL*Plus. Connectez-vous à la base de données ORCL en
tant qu'utilisateur DHAMBY. Utilisez oracle comme nouveau mot de passe. Dans la table
HR.EMPLOYEES, sélectionnez la ligne comportant l'ID EMPLOYEE_ID=197. Essayez ensuite
de la supprimer. (Vous devez obtenir une erreur de type "privilèges insuffisants".)
10. Renouvelez le test pour l'utilisateur JGOODMAN. Une fois la ligne supprimée, effectuez une
opération d'annulation (rollback) afin de conserver les 107 lignes d'origine.

Question 1 : Où la ligne a-t-elle été stockée après sa suppression ?


__________________________________________________________________________

Question 2: Lorsque vous avez créé les nouveaux utilisateurs, vous n'avez pas sélectionné
de tablespace par défaut ni de tablespace temporaire. Qu'est-ce qui détermine les
tablespaces qui seront employés par les nouveaux utilisateurs ?
_________________________________________________________________________

Question 3: Vous n'avez accordé le privilège système CREATE SESSION à aucun des
nouveaux utilisateurs, mais tous peuvent se connecter à la base de données. Pourquoi ?
_________________________________________________________________________
11. Vérifiez le script lab_05_01.sql et le fichier journal lab_05_01.txt qu'il a généré lors
de la création de l'utilisateur DBA1.

Oracle Database 10g : Administration Workshop I A-16


Unauthorized reproduction or distribution prohibitedฺ Copyright© 2009, Oracle and/or its affiliatesฺ
Exercice 6 : Administrer la sécurité utilisateur (suite)

12. Utilisez SQL*Plus pour vous connecter à la base de données ORCL en tant qu'utilisateur
RPANDYA. Attribuez-lui le mot de passe oracle. (Vous devez modifier le mot de passe
car il s'agit de la première connexion sous le nom utilisateur RPANDYA.) Laissez RPANDYA
connecté pendant le chapitre suivant ou jusqu'à la fin de la journée. Le profil HRPROFILE
indique que les utilisateurs dont les sessions sont inactives pendant plus de 15 minutes
seront automatiquement déconnectés. Vérifiez que l'utilisateur a été automatiquement
déconnecté en essayant de nouveau d'effectuer une sélection dans la table
HR.EMPLOYEES.
ERROR at line 1:
ORA-02396: exceeded maximum idle time, please connect again

Oracle Database 10g : Administration Workshop I A-17


Unauthorized reproduction or distribution prohibitedฺ Copyright© 2009, Oracle and/or its affiliatesฺ
Exercice 7 : Gérer les objets de schéma

Contexte : Vous devez créer des objets de schéma pour la nouvelle application de gestion des
stocks. Connectez-vous à la base de données ORCL sous le nom utilisateur DBA1 et avec le rôle
SYSDBA.
Vos tâches
1. Revenez dans la session de navigateur d'Enterprise Manager, ou appelez Enterprise
Manager en tant qu'utilisateur DBA1, avec le rôle SYSDBA, pour vous connecter à la base
de données ORCL.
2. Dans le tablespace INVENTORY, créez la table PRODUCT_MASTER dans le schéma
INVENTORY. Les spécifications de la table sont les suivantes :
PRODUCT_ID number(7). Il s'agit du champ de clé primaire.
(Nom de la contrainte : PK_INV)
PRODUCT_NAME varchar2(50) avec une contrainte Not NULL
CODE varchar2(10) avec une contrainte Not NULL
REORDER_THRESHOLD number(5) avec une contrainte CHECK permettant de
s'assurer que le nombre est toujours supérieur à zéro
(Nom de la contrainte : CHK_REORDER)
COST number(5,2)
PRICE number(5,2)
3. Dans le tablespace INVENTORY, créez la table PRODUCT_ON_HAND dans le schéma
INVENTORY. Le script lab_07_03.sql permettant de créer la table vous est fourni,
mais il comporte un problème (créé intentionnellement pour pousser un peu plus loin votre
formation). Corrigez le problème, puis exécutez le script. Si vous ne parvenez pas à détecter
l'erreur immédiatement, exécutez le script d'origine dans SQL*Plus afin d'obtenir le
message d'erreur correspondant. Vous pourrez ainsi identifier et résoudre le problème. Les
spécifications de la table sont les suivantes :
PRODUCT_ID number(7). Ce champ doit comporter une contrainte de clé étrangère le
liant au champ PRODUCT_ID de la table PRODUCT_MASTER.
QUANTITY number(5)
WAREHOUSE_CITY varchar2(30)
Date LAST_UPDATE
4. Dans le tablespace INVENTORY, créez la table OBSOLETE_PRODUCTS dans le schéma
INVENTORY. Cette définition de table est très semblable à celle de la table PRODUCT_MASTER.
Par conséquent, vous pouvez utiliser la fonction de définition via des instructions SQL (Define
Using SQL) d'Enterprise Manager au lieu de la fonction de spécification de colonne (Column
Specification). Les spécifications de la table sont les suivantes :
PRODUCT_ID number(7). Il s'agit du champ de clé primaire.
PRODUCT_NAME varchar2(50) avec une contrainte Not Null
CODE varchar2(20) avec une contrainte Not Null
COST number(5,2)
PRICE number(5,2)
Oracle Database 10g : Administration Workshop I A-18
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2009, Oracle and/or its affiliatesฺ
Exercice 7 : Gérer les objets de schéma (suite)

5. Dans le tablespace INVENTORY, créez un index OBS_CODE sur la colonne CODE de la


table OBSOLETE_PRODUCTS dans le schéma INVENTORY. Choisissez le type d'index
approprié : B-tree ou Bitmap. Expliquez la raison de votre choix.

Question : Quel type d'index est approprié et pourquoi ?


_________________________________________________________________________
_________________________________________________________________________

6. Dans le tablespace INVENTORY, créez un index nommé PROD_NAME_CODE sur la


combinaison de colonnes PRODUCT_NAME et CODE de la table PRODUCT_MASTER.
Utilisez le script lab_07_06.sql (dans lequel une erreur a été placée
intentionnellement pour pousser un peu plus loin votre formation). Corrigez l'erreur, puis
exécutez le script. Si vous ne parvenez pas à détecter l'erreur immédiatement, exécutez le
script d'origine dans SQL*Plus afin d'obtenir le message d'erreur correspondant. Vous
pourrez ainsi identifier et résoudre le problème.

7. Dans le tablespace INVENTORY, utilisez SQL*Plus pour créer un index combiné sur les
colonnes PRODUCT_ID et QUANTITY de la table PRODUCT_ON_HAND. Nommez l'index
POH_PROD_ID_QTY.

8. Vous recevez une mise à jour de l'application de gestion des stocks qui nécessite l'ajout de
deux colonnes à la table PRODUCT_MASTER. Ajoutez une colonne nommée
PRIMARY_SOURCE et affectez-lui le type de données varchar2(50). Ajoutez une
autre colonne, SECONDARY_SOURCE, et affectez-lui le type de données
varchar2(50). Quelle instruction SQL est exécutée pour cette opération ?

9. Vous recevez une nouvelle mise à jour de l'application. Cette demande de modification
vous indique de supprimer la table OBSOLETE_PRODUCTS et d'ajouter la colonne
OBSOLETED de type de données DATE à la table PRODUCT_MASTER. Pour ce faire,
utilisez Enterprise Manager. Quelle clause est ajoutée à la fin de l'instruction DROP
TABLE pour supprimer également les contraintes de table ?

_________________________________________________________________________

10. Une autre demande de modification relative à l'application de gestion des stocks vous
indique de créer une vue nommée WAREHOUSE_VW (Aide à la navigation : Administration
> Views). Cette vue doit se trouver dans le schéma INVENTORY. Elle affiche les éléments
suivants (dans l'ordre ci-dessous) :
• Le nom du produit
• La quantité de produit en stock
• La ville où se trouve l'entrepôt

Vous devrez joindre deux tables afin de créer cette vue.

Oracle Database 10g : Administration Workshop I A-19


Unauthorized reproduction or distribution prohibitedฺ Copyright© 2009, Oracle and/or its affiliatesฺ
Exercice 7 : Gérer les objets de schéma (suite)

11. Les développeurs vous signalent qu'un certain type d'interrogation sera exécuté très
fréquemment et souhaitent être sûrs que ces interrogations s'exécuteront en moins d'une
seconde. Vous devez exécuter l'interrogation et étudier son comportement. Exécutez
d'abord le script lab_07_11_a.sql pour générer des données de test relatives au
volume indiqué dans la demande. Exécutez ensuite plusieurs fois l'interrogation dans le
script lab_07_11_b.sql afin de calculer le temps moyen d'exécution. L'exécution de
l'interrogation prend plusieurs secondes à chaque fois. Créez sur la colonne CODE_FUNC
un index basé sur une fonction afin d'améliorer les performances de cette interrogation.

12. Utilisez iSQL*Plus pour identifier le nom de la vue du dictionnaire de données que vous
utiliserez pour répertorier toutes les contraintes que l'utilisateur INVENTORY peut afficher.
Quel est le nom de la vue ?
_________________________________________________________________________

13. De combien d'index l'utilisateur INVENTORY est-il le propriétaire ? Vous recherchez les
objets de base de données qui appartiennent à l'utilisateur INVENTORY. Par conséquent,
vous savez que la vue du dictionnaire de données commence par le préfixe "USER_".
Le nom de la vue est USER_INDEXES.

_________________________________________________________________________

Oracle Database 10g : Administration Workshop I A-20


Unauthorized reproduction or distribution prohibitedฺ Copyright© 2009, Oracle and/or its affiliatesฺ
Exercice 8: Gérer les données et la simultanéité d'accès aux données

Contexte : Le support technique vient de recevoir un appel de Susan Mavris, membre du


département des Ressources humaines (HR), qui se plaint que la base de données est "bloquée".
Après l'avoir interrogée, vous découvrez qu'elle tentait de mettre à jour l'enregistrement
personnel de John Chen pour indiquer le nouveau numéro de téléphone de celui-ci, mais que la
session s'est alors bloquée et qu'elle ne pouvait plus rien faire. Les fichiers script SQL vous sont
fournis dans le répertoire /home/oracle/labs.

Vos tâches

1. Effectuez une mise à jour non validée de la ligne en question en exécutant le script
lab_08_01.sql. Ne vous inquiétez pas si la session semble se bloquer, puisque c'est
précisément ce que nous voulons obtenir.

2. Essayez de mettre à jour la même ligne dans une autre session, en exécutant le script
lab_08_02.sql dans une fenêtre XTerm distincte. Avant de continuer, assurez-vous
d'obtenir le message "Update is being attempted now".

3. Cliquez sur le lien Blocking Sessions de la page Performance pour détecter la session
responsable du conflit de verrouillage.

4. Quelle est la dernière instruction SQL que la session bloquante a exécutée ?

5. Résolvez le conflit en faveur de l'utilisateur s'étant plaint en fermant la session bloquante.


Quelle instruction SQL résout le conflit ?
_________________________________________________________________________

6. Revenez à la fenêtre de commande SQL*Plus et notez que la mise à jour de SMAVRIS a été
effectuée avec succès. Le message de réussite peut mettre quelques secondes à apparaître.

Oracle Database 10g : Administration Workshop I A-21


Unauthorized reproduction or distribution prohibitedฺ Copyright© 2009, Oracle and/or its affiliatesฺ
Exercice 9 : Gérer les données d'annulation

Contexte : Une nouvelle version de l'application devra inclure plusieurs états basés sur des
interrogations très longues. Configurez le système afin qu'il prenne en charge ces états.

Vos tâches

1. Utilisez la fonction de conseil Undo Advisor pour calculer la quantité de volume


d'annulation requise pour prendre en charge un état dont l'exécution dure deux jours, sur la
base d'une période d'analyse réalisée sur les sept derniers jours. (Aide à la navigation :
Administration > Advisor Central > Undo Management > Undo Advisor).

Question : Quelle est la valeur recommandée par l'analyse pour "Required Tablespace Size
for New Undo Retention" ?
_________________________________________________________________________

2. Redimensionnez le tablespace d'annulation afin de prendre en charge la période de


conservation requise par les nouveaux états (ou 1 Go - la plus petite des deux valeurs). Pour
ce faire, augmentez la taille du fichier de données existant.

Question : Quels sont les deux moyens d'ajouter de l'espace à un tablespace ?


_________________________________________________________________________

Oracle Database 10g : Administration Workshop I A-22


Unauthorized reproduction or distribution prohibitedฺ Copyright© 2009, Oracle and/or its affiliatesฺ
Exercice 10 : Implémenter la sécurité de la base de données Oracle

Contexte : Vous avez été informé d'activités suspectes dans la table HR.JOBS de votre base
de données ORCL. Tous les salaires maximums semblent fluctuer de façon étrange. Vous
décider d'activer l'audit de base de données standard et de surveiller les activités LMD
(Langage de manipulation de données) dans cette table.

Connectez-vous en tant qu'utilisateur DBA1 (avec le mot de passe oracle, connectez-vous en


tant que SYSDBA), et effectuez les tâches nécessaires via Enterprise Manager Database Control
ou via SQL*Plus. Tous les scripts nécessaires à cet exercice figurent dans le répertoire
/home/oracle/labs.

Vos tâches

1. Utilisez Enterprise Manager pour activer l'audit de la base de données. Attribuez la valeur
XML au paramètre AUDIT_TRAIL. Ce paramètre doit être stocké dans le fichier SPFILE.

2. Etant donné que vous avez modifié un paramètre statique, vous devez redémarrer la base de
données. Pour cela, exécutez le script lab_10_02.sh.

Passez à l'étape suivante une fois la base de données redémarrée et SQL*Plus fermé.

3. De retour dans Enterprise Manager, sélectionnez l'objet audité HR.JOBS, puis DELETE,
INSERT et UPDATE sous Selected Statements. Collectez les informations d'audit par
session. (Aide à la navigation : Administration > Audit Settings).

4. Fournissez des entrées pour l'audit en exécutant le script lab_10_04.sh. Ce script crée
l'utilisateur AUDIT_USER, se connecte à SQL*Plus sous le nom de cet utilisateur et
multiplie les valeurs de la colonne MAX_SALARY par 10. L'utilisateur HR se connecte
ensuite et divise les valeurs de la colonne par 10. Enfin, l'utilisateur AUDIT_USER est
supprimé.

5. Dans Enterprise Manager, vérifiez les objets audités. Utilisez l'onglet Audited Objects.

6. Annulez les paramètres d'audit pour HR.JOBS, désactivez l'audit de la base de données,
puis redémarrez cette dernière à l'aide du script lab_10_06.sh.

7. Gérez la trace d'audit : puisque vous avez complètement terminé cette tâche, supprimez
tous les fichiers d'audit du répertoire /u01/app/oracle/admin/orcl/adump.

Oracle Database 10g : Administration Workshop I A-23


Unauthorized reproduction or distribution prohibitedฺ Copyright© 2009, Oracle and/or its affiliatesฺ
Exercice 11 : Configurer l'environnement réseau Oracle

Contexte : Les utilisateurs doivent se connecter à votre base de données ORCL. Aidez-les à
autoriser les connexions à l'aide de différentes méthodes. Faites en sorte que les utilisateurs
puissent utiliser la gestion des incidents de connexion pour tirer parti d'un processus d'écoute de
secours.

Vos tâches

1. Créez une copie de vos fichiers listener.ora et tnsnames.ora. Ceux-ci figurent


dans le répertoire $ORACLE_HOME/network/admin.

2. Accédez à la page Net Services Administration. Commencez par cliquer sur le lien
Listener de la page d'accueil Database.

3. Modifiez le fichier de résolution locale de noms de façon à pouvoir vous connecter à une
autre base de données. (Aide à la navigation : Listener link > Net Services Administration >
Administer > Local Naming). Utilisez les informations suivantes pour définir la connexion :
Objet Paramètre
Connection name Testorcl
DB ID Method SID
SID value Orcl
Protocol TCP/IP
Port 1521
Host Adresse IP ou nom de l'ordinateur d'un autre
stagiaire

4. Dans Enterprise Manager, testez l'accès à la base de données ORCL de votre partenaire en
vous connectant en tant qu'utilisateur system avec le mot de passe oracle à l'aide de la
résolution locale de noms testorcl.

La page Processing affiche des informations de statut. Elle est suivie d'un message de
réussite. Si vous recevez des erreurs ou des avertissements, résolvez-les.

Oracle Database 10g : Administration Workshop I A-24


Unauthorized reproduction or distribution prohibitedฺ Copyright© 2009, Oracle and/or its affiliatesฺ
Exercice 11 : Configurer l'environnement réseau Oracle (suite)

5. Testez les modifications apportées à la configuration réseau en utilisant SQL*Plus ou


iSQL*Plus. Utilisez à nouveau system/oracle@testorcl. Pour voir les informations
de votre partenaire, sélectionnez les colonnes instance_name et host_name dans la
table v$instance. Vous devez voir le nom d'hôte de votre partenaire.

6. Créez un processus d'écoute LISTENER2 pour prendre en charge la gestion des incidents
de connexion. Pour ce processus d'écoute, utilisez le port 1561. Déconnectez-vous d'abord
d'Enterprise Manager, puis exécutez le script lab_11_06.sh pour configurer le fichier
NetProperties. (Aide à la navigation : Listener link > Net Services Administration >
Administer > Listeners). Utilisez l'onglet Static Database Registration de la page Create
Listener pour connecter le processus d'écoute à la base de données. Utilisez les
informations suivantes :
Objet Paramètre
Listener name LISTENER2
Host <your computer’s name>
Service name orcl
Protocol TCP/IP
Port 1561
SID orcl
Oracle Home Directory /u01/app/oracle/product/10.2.0/db_1

7. Démarrez le processus d'écoute LISTENER2.

Oracle Database 10g : Administration Workshop I A-25


Unauthorized reproduction or distribution prohibitedฺ Copyright© 2009, Oracle and/or its affiliatesฺ
Exercice 12 : Maintenance proactive

Contexte : Vous souhaitez surveiller la base de données ORCL de manière proactive, de façon
à pouvoir résoudre les problèmes courants avant qu'ils n'affectent les utilisateurs. Cet exercice
invente des problèmes afin que vous puissiez vous familiariser avec les outils disponibles.
Exécutez d'abord des scripts pour configurer votre environnement ADDM (Automatic
Database Diagnostic Management).

Vos tâches
1. Créez un tablespace géré localement nommé TBSADDM. La taille de son fichier de données
addm1.dbf est de 50 Mo. Vérifiez que le tablespace TBSADDM n'utilise pas la gestion
automatique de l'espace dans les segments. Exécutez le script lab_12_01.sh pour
réaliser ces tâches.
2. Créez un utilisateur ADDM, identifié par ADDM. Affectez le tablespace TBSADDM comme
tablespace par défaut. Affectez le tablespace TEMP comme tablespace temporaire. Octroyez
les rôles suivants à l'utilisateur ADDM : CONNECT, RESOURCE et DBA. Exécutez le script
lab_12_02.sh pour réaliser ces tâches.
3. Utilisez le package DBMS_ADVISOR pour configurer une durée d'activité de base de données
de 30 minutes. En tant qu'un utilisateur ADDM, supprimez et créez la table ADDM, et collectez
des statistiques pour cette table. Créez un cliché (snapshot) dans le référentiel AWR (Automatic
Workload Repository). Exécutez le script lab_12_03.sh pour réaliser ces tâches.
4. Créez l'activité à analyser. Exécutez le script lab_12_04.sh pour réaliser ces tâches.
5. Dans Enterprise Manager, consultez la page Performance en tant qu'utilisateur SYSDBA.
Affichez les données de performance en temps réel avec un cycle de régénération de
15 secondes. Au bout de quelques instants, vous devez voir un pic dans le graphique "Average
Active Sessions". Il s'agit de l'activité à analyser. En examinant le graphique, vous pouvez déjà
déterminer que cette instance souffre de problèmes de simultanéité d'accès aux données. S'il
s'agit de votre premier accès à la page Performance, vous devez accepter l'accord de licence
Adobe. Pour cela, suivez les instructions de la fenêtre en incrustation.

Remarque : Selon le moment où vous exécutez la charge globale, vous pouvez noter des
différences entre votre graphique et celui fourni comme solution possible.

Une fois le pic terminé, exécutez le script lab_12_05.sh. Ce script force la création d'un
cliché et collecte des statistiques sur la table ADDM.

Oracle Database 10g : Administration Workshop I A-26


Unauthorized reproduction or distribution prohibitedฺ Copyright© 2009, Oracle and/or its affiliatesฺ
Exercice 12 : Maintenance proactive (suite)

6. Consultez les résultats Performance Analysis dans l'ordre de leur impact. Vous pouvez
accéder à ces informations de différentes manières.

Dans la section Performance Analysis, vous voyez que le premier résultat (dans la catégorie
SQL Tuning Recommendations) a un impact de 100 % sur le système. Votre première
réaction est donc d'examiner ce résultat plus en détail. Toutefois, l'examen de cette
instruction SQL ne vous aide pas à comprendre le problème de simultanéité d'accès aux
données de la base.

Recherchez le résultat suivant sous Schema Recommendations : Read and write


contention of database blocks was consuming significant database time. Ici, il est
recommandé d'utiliser la fonction de gestion automatique de l'espace dans les segments
pour la table ADDM.

7. Pour implémenter cette recommandation, vous devez recréer l'objet. Créez un tablespace
géré localement nommé TBSADDM2 et un fichier de données de 50 Mo nommé
addm2_1.dbf. Vérifiez que le tablespace TBSADDM2 utilise la fonction de gestion
automatique de l'espace dans les segments. Exécutez ensuite le script lab_12_07.sh
pour supprimer la table ADDM, la recréer dans le nouveau tablespace, collecter des
statistiques et prendre un nouveau cliché.

8. Exécutez à nouveau la charge globale à l'aide du script lab_12_08.sh. (Ce dernier est
identique au script lab_12_04.sh.)

9. Dans Enterprise Manager, consultez la page Performance en tant qu'utilisateur SYSDBA.


Affichez les données de performance en temps réel avec un cycle de régénération de
15 secondes. Au bout de quelques instants, vous devez voir un pic dans le graphique
"Average Active Sessions".

Remarque : Selon le moment où vous exécutez la charge globale, vous pouvez noter des
différences entre votre graphique et celui fourni comme solution possible.

Une fois le pic terminé, exécutez le script lab_12_09.sh. (Ce dernier est identique au
script lab_12_05.sh.) Ce script force la création d'un cliché et collecte des statistiques
sur la table ADDM.

10. Consultez l'analyse des performances (Performance Analysis) dans la page d'accueil
Database. Affichez les informations correspondant à cette dernière tâche ADDM.

Vous pouvez constater l'absence de recommandations liées aux schémas. En déplaçant la


table ADDM vers le tablespace géré localement TBSADDM2, pour lequel l'option
AUTOEXTEND est activée, vous avez apparemment résolu la cause de ce problème.

11. Afin de ne pas affecter d'autres exercices, exécutez le script lab_12_11.sh pour
nettoyer votre environnement.

Oracle Database 10g : Administration Workshop I A-27


Unauthorized reproduction or distribution prohibitedฺ Copyright© 2009, Oracle and/or its affiliatesฺ
Exercice 13 : Gestion des performances

Contexte : Les utilisateurs se plaignent d'une dégradation des performances pour les opérations
impliquant les applications de gestion des ressources humaines et de saisie des commandes.
Après avoir interrogé les autres DBA, vous vous rendez compte que des opérations de
maintenance ont eu lieu récemment sur certaines des tables appartenant au schéma HR.
Apportez les modifications appropriées afin de résoudre les problèmes de performances. Des
fichiers de script SQL sont fournis dans le répertoire /home/oracle/labs. Les autres
répertoires sont nommés de façon individuelle.

Vos tâches

1. Connectez-vous à SQL*Plus en tant qu'utilisateur DBA1 et effectuez des opérations de


maintenance sur des tables du schéma HR en exécutant le script lab_13_01.sql.

2. Vous recevez des appels d'utilisateurs de l'application HR indiquant que l'exécution d'une
interrogation particulière est plus longue que d'habitude. L'interrogation figure dans le
script lab_13_02.sql. Exécutez ce dernier.

3. A l'aide d'Enterprise Manager (EM), localisez la session HR dans laquelle l'instruction


ci-dessus vient d'être exécutée et affichez le plan d'exécution correspondant. (Aide à la
navigation : Performance > Search Sessions).

4. A l'aide d'EM, déterminez le statut de l'index de la table EMPLOYEE sur EMPLOYEE_ID.


Vérifiez s'il s'agit de VALID. (Aide à la navigation : Administration > Indexes).

5. Maintenant que vous avez vu un index dont le statut n'est pas VALID, vous décidez de
vérifier tous les index. A l'aide de SQL*Plus, connectez-vous en tant qu'utilisateur HR et
recherchez les index de schéma HR dont le statut (STATUS) ne présente pas la valeur
VALID. Pour cela, vous pouvez interroger une vue du dictionnaire de données avec une
condition sur la colonne STATUS.

6. A l'aide d'EM, réorganisez tous les index du schéma HR qui sont marqués comme
UNUSABLE.

7. Revenez à la session SQL*Plus dans laquelle est connecté l'utilisateur HR, puis exécutez le
script lab_13_07.sql afin d'exécuter le même type d'interrogation. Répétez ensuite la
procédure pour voir si le plan de la dernière instruction SQL exécutée par cette session a
changé.

8. Quelle est la différence entre les plans d'exécution et pourquoi ?


_________________________________________________________________________

Oracle Database 10g : Administration Workshop I A-28


Unauthorized reproduction or distribution prohibitedฺ Copyright© 2009, Oracle and/or its affiliatesฺ
Exercice 13 : Gestion des performances (suite)
9. Simulez une charge globale sur votre instance en exécutant le script lab_13_09.sql en
tant qu'utilisateur DBA1. Notez la valeur du SID pour la tâche 10.

_________________________________________________________________________
L'exécution de ce script prend environ 20 minutes. Exécutez-le donc dans une fenêtre de
terminal distincte et poursuivez cet exercice pendant son exécution.
Remarque : Etant donné que ce script génère une charge relativement élevée en termes de CPU
et d'E/S disque, vous constaterez que le temps de réponse de Database Control est plus élevé.
Utilisez EM pour afficher les performances globales de l'instance et répondre aux questions
suivantes :

Attendez de voir le début d'un


pic dans le graphique Average
Active Sessions avant de
continuer.

Question 1 : Dans le graphique Average Active Sessions, quelles sont les deux catégories
principales attendues par les sessions actives ?
_________________________________________________________________________

Question 2 : Dans la catégorie d'attentes Configuration, quel est l'un des contributeurs au
temps d'attente ? Cliquez sur Configuration pour voir le graphique.
_________________________________________________________________________

Question 3 : Consultez les écritures physiques (Physical Writes) dans le graphique


Instance Disk I/O. Déterminez le processus effectuant le plus d'écritures sur le disque.
_________________________________________________________________________

Question 4 : Consultez Top Activity sous Additional Monitoring Links. Quelle


instruction SQL entraîne le plus d'attentes ?
_________________________________________________________________________
10. Fermez la session générant la charge. Utilisez la valeur de SID de l'étape 9 dans le lien
Search Sessions d'Enterprise Manager dans l'onglet Performance afin de localiser et de
fermer la session.

Oracle Database 10g : Administration Workshop I A-29


Unauthorized reproduction or distribution prohibitedฺ Copyright© 2009, Oracle and/or its affiliatesฺ
Exercice 14 : Concepts relatifs à la sauvegarde et à la récupération

Contexte : La base de données ORCL est prête à passer de la phase de test ou de


développement à la phase de production. Configurez la base de données afin de limiter les
risques de défaillance ou de perte de données.

Vos tâches

1. Vérifiez que vous disposez de deux fichiers de contrôle afin de garantir une redondance.
(Aide à la navigation : Administration > Control Files).

Question 1 : Comment pourriez-vous ajouter un autre fichier de contrôle si nécessaire ?

_________________________________________________________________________

_________________________________________________________________________

_________________________________________________________________________

_________________________________________________________________________

_________________________________________________________________________

2. Déterminez combien de membres compte chaque groupe de fichiers de journalisation.


Prenez soin de conserver au moins deux membres dans chaque groupe. Dans quel(s)
répertoire(s) les fichiers de journalisation (fichiers redo log) sont-ils stockés ?

_________________________________________________________________________

_________________________________________________________________________

Remarque : Dans une base de données de production, vous souhaitez vous assurer que les
deux membres résident sur des disques durs distincts, de préférence sur des contrôleurs de
disque distincts, afin de limiter le risque qu'une défaillance matérielle unique ne détruise un
groupe entier.

3. Vous notez que, pour chaque groupe de fichiers de journalisation, la colonne Archived
indique No. Cela signifie que la base de données ne conserve pas de copies des fichiers de
journalisation pour la récupération de la base de données ; en cas de défaillance, vous
perdrez ainsi toutes les données depuis la dernière sauvegarde. Placez la base de données en
mode ARCHIVELOG afin que les fichiers de journalisation soient archivés.

Dans le système d'exploitation, créez le répertoire de destination


/u01/app/oracle/archive pour les fichiers de journalisation. Dans Enterprise
Manager, vérifiez que le champ Log Archive Filename Format contient %t, %s et %r.

Notez que la base de données est préconfigurée pour enregistrer les fichiers de
journalisation archivés dans la zone de récupération rapide par défaut (Archive Log
Destination 10).

Oracle Database 10g : Administration Workshop I A-30


Unauthorized reproduction or distribution prohibitedฺ Copyright© 2009, Oracle and/or its affiliatesฺ
Exercice 14 : Concepts relatifs à la sauvegarde et à la récupération (suite)

4. Configurez des destinations redondantes pour les fichiers de journalisation archivés, l'une étant
la zone de récupération rapide et l'autre le répertoire /u01/app/oracle/archive/.
N'oubliez pas la barre oblique de fin. Ne renseignez pas le champ Quota.

Consultez éventuellement l'instruction SQL sous-jacente :

Lorsque vous y êtes invité, redémarrez la base de données avec les informations
d'identification et de connexion (credentials) à l'hôte oracle et l'utilisateur SYS.

La base de données étant maintenant en mode ARCHIVELOG, elle archivera en permanence


une copie de chaque fichier de journalisation en ligne avant de le réutiliser pour données de
journalisation supplémentaires.

Remarque : N'oubliez pas que cette opération consomme de l'espace sur le disque et que
vous devez sauvegarder régulièrement les anciens fichiers de journalisation archivés sur un
autre périphérique de stockage.

Oracle Database 10g : Administration Workshop I A-31


Unauthorized reproduction or distribution prohibitedฺ Copyright© 2009, Oracle and/or its affiliatesฺ
Exercice 15 : Procéder à des sauvegardes de la base de données

Contexte : La base de données est prête à passer de la phase de développement et de test à la


phase de production. Assurez-vous qu'elle est configurée de façon à permettre la récupération
sans perte de données.

Vos tâches

1. Quelle est la différence entre un jeu de sauvegarde et une copie d'image ?

________________________________________________________________________

2. Quelle est la destination des sauvegardes sur disque réalisées ?

________________________________________________________________________

3. Testez la réalisation d'une sauvegarde sur disque, sous la forme d'un jeu de sauvegarde,
avec oracle sous Host Credentials. (Aide à la navigation : Maintenance > Backup
Settings)

4. Sauvegardez l'intégralité de la base de données, sans les fichiers de journalisation archivés,


pendant que la base est ouverte pour les utilisateurs. Cette sauvegarde doit être la base d'une
stratégie de sauvegarde incrémentielle (Aide à la navigation : Maintenance > Schedule
Backup).

Question : Quelle condition préalable doit être satisfaite pour la création d'une sauvegarde
valide d'une base de données sans l'arrêter ?

________________________________________________________________________

Utilisez les spécifications suivantes pour réaliser la sauvegarde :


Objet Paramètre
Object(s) Whole Database
Host Credentials Username oracle
Host Credentials Password oracle
Backup Type Full Backup
Use as the base of an incremental sélectionné
backup strategy
Backup Mode Online Backup
Backup Location Disk
Disk Backup Location Flash Recovery Area
Also backup all archived logs on disk désélectionné
Schedule Valeurs par défaut sélectionnées

Soumettez et surveillez le travail. L'exécution de cette sauvegarde prend environ 15 minutes.

Oracle Database 10g : Administration Workshop I A-32


Unauthorized reproduction or distribution prohibitedฺ Copyright© 2009, Oracle and/or its affiliatesฺ
Exercice 15 : Procéder à des sauvegardes de la base de données (suite)

5. Planifiez des sauvegardes incrémentielles sur disque, base ouverte, pendant la nuit pour
l'intégralité de la base de données, sans les fichiers de journalisation archivés backup
(Aide à la navigation : Maintenance > Schedule Backup). Planifiez-les pour 23h00. La
planification doit être applicable indéfiniment.

Utilisez les spécifications suivantes :


Objet Paramètre
Object(s) Whole Database
Host Credentials Username oracle
Host Credentials Password oracle
Backup Type Incremental Backup (Level 1)
Use as the base of an incremental sélectionné
backup strategy
Backup Mode Online Backup
Also backup all archived logs on disk désélectionné
Backup Location Disk – Flash Recovery Area
Job Name Nightly_Backup
Job Description Valeur par défaut sélectionnée
Start Later
Time 11:00 p.m.
Repeat Interval
Frequency 1 Days

Oracle Database 10g : Administration Workshop I A-33


Unauthorized reproduction or distribution prohibitedฺ Copyright© 2009, Oracle and/or its affiliatesฺ
Exercice 16 : Procéder à une récupération de la base de données

Contexte : De nombreuses défaillances de la base de données Oracle semblent provenir d'une


défaillance physique (disque ou contrôleur). Récupérez la base de données dans divers
scénarios de défaillance physique. Des fichiers de script SQL sont fournis dans le répertoire
/home/oracle/labs. Si nécessaire, utilisez l'annexe C pour Linux et l'annexe D pour la
syntaxe SQL. Sur votre système, les noms de fichier du système d'exploitation peuvent être
différents de ceux indiqués ici.

Vos tâches
1. Récupérez la base de données suite à la perte d'un fichier de contrôle.
a) En tant qu'utilisateur DBA1, exécutez le script lab_16_01_a.sql pour préparer
certaines procédures à appeler dans le reste de cet exercice.
b) Exécutez maintenant le script lab_16_01_b.sql. Ce script supprime l'un des
fichiers de contrôle.
c) Le support technique commence à recevoir des appels indiquant que la base de données
semble hors service. Résolvez le problème et procédez si nécessaire à une récupération.
Utilisez la page Database d'Enterprise Manager pour tenter de démarrer la base de
données et utilisez SQL*Plus si nécessaire.
d) Le démarrage de l'instance échoue avec Enterprise Manager et vous ne pouvez obtenir
aucune autre information expliquant cet échec. Utilisez donc les outils en mode ligne de
commande.
- Connectez-vous à l'instance avec SQL*Plus en tant que sysdba et examinez le
statut actuel de l'instance.
- Tentez de monter la base de données.
e) L'instance ne peut pas accéder à la phase de montage, car l'un des fichiers de contrôle
est introuvable. Examinez les 10 dernières lignes du fichier d'alertes afin de voir quel
fichier de contrôle pose problème.
f) Le fichier de contrôle de la zone de récupération rapide est manquant. Restaurez le
fichier de contrôle manquant en copiant le fichier de contrôle existant, puis montez et
ouvrez la base de données.

Question 1 : Pourquoi avez-vous dû utiliser deux commandes pour passer l'instance de l'état
NOMOUNT à l'état OPEN ?
________________________________________________________________________

________________________________________________________________________

Question 2 : Pourquoi avez-vous utilisé des commandes du système d'exploitation pour


restaurer le fichier de contrôle, plutôt que d'utiliser Oracle Recovery Manager ?
________________________________________________________________________

________________________________________________________________________

Oracle Database 10g : Administration Workshop I A-34


Unauthorized reproduction or distribution prohibitedฺ Copyright© 2009, Oracle and/or its affiliatesฺ
Exercice 16 : Procéder à une récupération de la base de données (suite)

2. Récupérez la base de données suite à la perte d'un membre de groupe de fichiers de


journalisation. Exécutez le script lab_16_02.sql pour supprimer l'un des fichiers de
journalisation. Consultez l'erreur dans le fichier d'alertes et procédez à une récupération.

a) Exécutez le script lab_16_02.sql. Ce script supprime l'un des fichiers de journalisation.

b) La base de données continue à fonctionner normalement et aucun utilisateur ne se


plaint. Mais, au cours d'une vérification de routine du fichier d'alertes, à la recherche
d'erreurs, vous remarquez le message suivant :
SQL> host tail -20 $ORACLE_BASE/admin/orcl/bdump/aler*
Thread 1 cannot allocate new log, sequence 74
Checkpoint not complete
Current log# 3 seq# 73 mem# 0:
/u01/app/oracle/oradata/ORCL/onlinelog/o1_mf_3_1p4sc1gv_.log
Current log# 3 seq# 73 mem# 1:
/u01/app/oracle/flash_recovery_area/ORCL/onlinelog/o1_mf_3_1p4sc498_.log
Sun Oct 30 13:53:23 2005
Errors in file /u01/app/oracle/admin/orcl/bdump/orcl_arc1_14870.trc:
ORA-00313: open failed for members of log group 1 of thread 1
ORA-00312: online log 1 thread 1:
'/u01/app/oracle/oradata/ORCL/onlinelog/o1_mf_1_1p4sbq1m_.log'
ORA-27037: unable to obtain file status
Linux Error: 2: No such file or directory

c) Recherchez et résolvez le problème.

Vous voyez que le fichier mentionné dans le fichier d'alertes est manquant. Il existe
seulement deux fichiers, alors qu'il devrait y en avoir trois.

d) Quittez SQL*Plus et copiez l'autre membre du groupe de fichiers de journalisation afin


de remplacer le fichier manquant (vous devez le remplacer par le nom de fichier
approprié). Veillez à copier le fichier portant le bon numéro. Notez le chiffre (septième
caractère) dans le nom de fichier. Dans cet exemple, il s'agit du fichier un, mais le vôtre
pourrait être le fichier un, deux ou trois.
Question 3 : Pourquoi Enterprise Manager ne génère-t-il pas une alerte critique due à un
fichier de journalisation manquant ?

________________________________________________________________________

3. Récupérez la base de données suite à la perte d'un fichier de données d'application.


a) Démarrez une session SQL*Plus en tant qu'utilisateur DBA1 et exécutez le script
lab_16_03.sql. Ce script supprime l'un des fichiers de données d'application.
b) Le support technique a reçu un appel d'un utilisateur qui se plaint de ne pas pouvoir
accéder à la table COUNTRIES du schéma HR de l'application. Comptez les lignes de la
table pour voir s'il y a un problème.

Oracle Database 10g : Administration Workshop I A-35


Unauthorized reproduction or distribution prohibitedฺ Copyright© 2009, Oracle and/or its affiliatesฺ
Exercice 16 : Procéder à une récupération de la base de données (suite)

c) Résolvez le problème et procédez si nécessaire à une récupération. Le message d'erreur


suggère que le fichier de données du tablespace EXAMPLES est corrompu ou manquant.
A l'aide de commandes du système d'exploitation, déterminez le problème concernant
le fichier.

d) Récupérez le fichier de données manquant jusqu'à l'heure actuelle (indiquez son nom).
(Aide à la navigation : Maintenance > Perform recovery > Object Type > Datafiles).

e) Vérifiez que la table COUNTRIES est à présent accessible.

4. Récupérez la base de données suite à la perte d'un fichier de données système.

a) Question 4 : Pourquoi la récupération suite à la perte d'un fichier de données système


ou d'un fichier de données appartenant à un tablespace d'annulation est-elle différente
de la récupération d'un fichier de données d'application ?

________________________________________________________________________

________________________________________________________________________

b) En tant que SYSDBA, exécutez le script lab_16_04.sql. Ce script supprime le


fichier de données système.

c) Dans Enterprise Manager, consultez la page d'accueil Database. La base de données est
arrêtée ; vous cliquez donc sur Startup pour essayer de l'ouvrir.

- Entrez les informations d'identification et de connexion (credentials) à l'hôte oracle


sous Username et sous Password, entrez DBA1 et oracle pour les informations
d'identification et de connexion à la base de données, puis cliquez sur OK.
d) Cette commande échoue et la base de données reste dans l'état MOUNT, car un fichier de
données est manquant dans le tablespace SYSTEM.
e) Récupérez le fichier de données manquant.
f) Ouvrez la base de données.
g) Vérifiez que la base de données est ouverte et fonctionne normalement : connectez-
vous à EM en tant que DBA1/oracle, avec le rôle SYSDBA, et consultez la page
d'accueil Database.

Oracle Database 10g : Administration Workshop I A-36


Unauthorized reproduction or distribution prohibitedฺ Copyright© 2009, Oracle and/or its affiliatesฺ
Exercice 17 : Procéder à un flashback de la base de données

Contexte : Vous décidez d'acquérir une expérience pratique concernant certaines des
fonctionnalités Flashback. Pour éviter un impact sur les autres utilisateurs, vous copierez
d'abord la table DEPARTMENTS du schéma HR vers DEPARTMENTS2.

Vos tâches
1. Connectez-vous à SQL*Plus en tant qu'utilisateur DBA1 et créez une table
HR.DEPARTMENTS2 basée sur la table HR.DEPARTMENTS. Comptez les lignes de la
table DEPARTMENTS2. Il doit y en avoir 27.
2. Supprimez la table HR.DEPARTMENTS2, puis vérifiez qu'elle a bien été supprimée.
3. Utilisez la commande FLASHBACK TABLE pour restaurer la table. Comptez les lignes de la
table DEPARTMENTS2.
4. Exécutez le script lab_17_04.sql pour insérer trois lignes dans la table
HR.DEPARTMENTS2 à l'aide de trois transactions distinctes. Dans la colonne
DEPARTMENT_ID, les nouvelles lignes présentent les valeurs 280, 290 et 300.
5. Utilisez Enterprise Manager pour procéder à un flashback jusqu'à la version de la table
comportant uniquement la première des trois lignes (avec DEPARTMENT_ID = 280). (Aide à la
navigation : Maintenance > Perform Recovery). Evaluez d'abord les modifications apportées
aux lignes afin de décider d'un point dans le temps. Limitez votre analyse aux nouvelles lignes
ajoutées, c'est-à-dire pour lesquelles department_id >= 280. Si vous recevez une erreur
lors du flashback, vous pouvez être amené à activer le déplacement de lignes (row movement)
sur la table. Passez à l'étape suivante. Utilisez les spécifications suivantes :
Objet Paramètre
Object Type Tables
Operation Type Flashback Existing Tables
Evaluate row changes and transactions to sélectionné
decide on a point in time
Table HR.DEPARTMENTS2
Choose Columns > Selected Columns DEPARTMENT_ID
Bind The Row Value where department_id >= 280

Consultez le résultat de Flashback Versions Query.

Sélectionnez la ligne pour laquelle DEPARTMENT_ID = 290 et poursuivez votre


opération Flashback. Examinez l'instruction SQL que vous êtes sur le point d'exécuter et
soumettez l'opération.

Oracle Database 10g : Administration Workshop I A-37


Unauthorized reproduction or distribution prohibitedฺ Copyright© 2009, Oracle and/or its affiliatesฺ
Exercice 17 : Procéder à un flashback de la base de données (suite)

6. Vous déterminez que l'opération échoue car le déplacement de lignes n'est pas activé pour
la table. D'après le cours, le déplacement de lignes doit être activé pour cette fonctionnalité.

Activez le déplacement de lignes (Aide à la navigation : Administration > Tables).


Consultez l'instruction SQL sous-jacente :

Une fois la modification de la table confirmée, vous pouvez effectuer l'opération Flashback.

Répétez l'étape 5 pour effectuer une opération Flashback Versions Query sur la table.
Le déplacement de lignes ayant été activé, cette fois l'opération doit réussir.

Dans SQL*Plus, comptez ensuite les lignes de la table HR.DEPARTMENTS2 pour


confirmer l'opération Flashback. Notez qu'il n'y a maintenant qu'une seule ligne
supplémentaire, pas trois. Affichez ensuite les lignes pour lesquelles DEPARTMENT_ID
>= 280. Notez qu'il ne reste que l'une des trois d'origine.

Oracle Database 10g : Administration Workshop I A-38


Unauthorized reproduction or distribution prohibitedฺ Copyright© 2009, Oracle and/or its affiliatesฺ
Exercice 18 : Déplacer des données

Contexte : Vous avez récemment reçu un certain nombre de questions concernant le schéma
HR. Pour les analyser sans interférer dans les activités quotidiennes, vous décidez d'utiliser
l'assistant Data Pump Wizard pour exporter le schéma HR vers un fichier. Lorsque vous
effectuez l'export, vous n'êtes pas certain de la base de données dans laquelle vous importerez
ce schéma.

Vous découvrez finalement qu'ORCL est la seule base de données pour laquelle la direction
approuve un import. Vous procédez donc à l'import avec l'assistant Data Pump Wizard, en
remettant en correspondance le schéma HR avec un nouveau schéma HR_TEST dans le
tablespace HR_TEST. Pour respecter les recommandations, vous décidez également de créer un
utilisateur DP, DBA exécutant des travaux Data Pump. Par souci de commodité, dans le cours,
la création de l'utilisateur DP est incluse dans le script lab_18_01.sql. Les scripts SQL
figurent dans le répertoire /home/oracle/labs. Toutefois, il manque une étape.

Vous recevez ensuite deux demandes de chargement de données pour lesquelles vous décidez
d'utiliser SQL*Loader.

Vos tâches

1. Consultez le script lab_18_01.sql, qui crée le tablespace HR_TEST, le rôle


HR_TEST_ROLE, et les utilisateurs HR_TEST et DP. Notez les mots de passe de ces
utilisateurs.

Mot de passe de HR_TEST : ________________________

Mot de passe de DP : ________________________

Quelle opération supplémentaire devez-vous réaliser pour autoriser l'utilisateur DP à


accéder à Enterprise Manager en tant qu'administrateur ?

_____________________________________________________________________

2. Exécutez le script lab_18_02.sh. Réalisez ensuite l'opération nécessaire pour permettre


à l'utilisateur DP d'endosser le rôle d'administrateur EM.

Oracle Database 10g : Administration Workshop I A-39


Unauthorized reproduction or distribution prohibitedฺ Copyright© 2009, Oracle and/or its affiliatesฺ
Exercice 18 : Déplacer des données (suite)

3. Connectez-vous à Enterprise Manager en tant qu'utilisateur DP avec le rôle Normal et


exportez le schéma HR (Aide à la navigation : Maintenance > Export to Export Files).
Utilisez les spécifications suivantes :
Objet Paramètre
Username oracle
Password oracle
Save as Preferred Credential sélectionné
Export: Schemas HR
Export Options: Directory Objects DATA_PUMP_DIR
Log File hrexp.log
Export Files: Directory Objects DATA_PUMP_DIR
File Name HREXP%U.DMP
Export Schedule: Job Name hrexp
Description Export HR schema
Job Start Time Immediate

Consultez le script PL/SQL que l'assistant Export Wizard vous a aidé à créer et soumettez
le travail. Un message de traitement apparaît, suivi d'un message de réussite. Si ce n'est pas
le cas, résolvez les éventuelles erreurs.

Remarque : Attendez non seulement la création du travail, mais également la fin de son
exécution. (Cela peut prendre deux minutes.)

4. En tant qu'utilisateur DP, réimportez le schéma HR exporté dans la base de données ORCL,
en le remettant en correspondance avec le schéma HR_TEST précédemment créé. (Aide à
la navigation : Maintenance > Import from Export Files). Utilisez les spécifications
suivantes pour l'import :
Objet Paramètre
Import Files: Directory Objects DATA_PUMP_DIR
File Name HREXP%U.DMP
Import Type Schemas
Host credentials oracle

L'assistant Data Pump Wizard lit le fichier d'import indiqué et affiche un message de
réussite. Si ce n'est pas le cas, résolvez les éventuelles erreurs.

Oracle Database 10g : Administration Workshop I A-40


Unauthorized reproduction or distribution prohibitedฺ Copyright© 2009, Oracle and/or its affiliatesฺ
Exercice 18 : Déplacer des données (suite)

Utilisez les spécifications suivantes pour la remise en correspondance :


Objet Paramètre
Re-Map Schemas: Source Schema HR
Re-Map Schemas: Destination Schema HR_TEST
Re-Map Tablespaces: Destination Tablespace HR_TEST
Import Options: Directory Objects DATA_PUMP_DIR
Log file hrimport.log
Import Schedule: Job Name hrimp
Description Import HR schema for test
purposes
Start Later
Time Entrez l'heure actuelle additionnée de 2 à
5 minutes (pour vous laisser le temps de
soumettre et de surveiller le travail)

(Aide à la navigation : Maintenance > Monitor Export and Import Jobs) Surveillez le travail
pendant son exécution.

Facultatif, car cela nécessite une action rapide : Suspendez et reprenez le travail.

Finalement, vous souhaitez voir que 100 % du travail a été exécuté sans erreur.

Vérifiez la réussite de l'import en consultant le fichier journal.


$ cat </u01/app/oracle/product/10.2.0/db_1/rdbms/log/hrimport.log

Pour vérification de l'import, sélectionnez des données dans des tables du schéma hr_test.

Oracle Database 10g : Administration Workshop I A-41


Unauthorized reproduction or distribution prohibitedฺ Copyright© 2009, Oracle and/or its affiliatesฺ
Exercice 18 : Déplacer des données (suite)

5. En tant qu'utilisateur DP, chargez les données dans la table PRODUCT_MASTER à l'aide de
SQL*Loader via Enterprise Manager Database Control. (Aide à la navigation :
Maintenance > Load Data from User Files). Utilisez les spécifications suivantes pour le
chargement :
Objet Paramètre
Use Existing Control File sélectionné
Username oracle
Password oracle
Save as Preferred Credential sélectionné
Load Data Control File Name /home/oracle/labs/lab_18_05.ctl
Data File: Provide the full path and name sélectionné
on the database server machine
Data File Name /home/oracle/labs/lab_18_05.dat
Load Method Conventional Path
Load Data Options: Log File Name /home/oracle/labs/lab_18_05.log
Load Data Schedule: Job Name lab_18_05
Description Load data into the
PRODUCT_MASTER table
Start Immediately

Soumettez le travail et confirmez les résultats en consultant le fichier lab_18_05.log.

6. En tant qu'utilisateur INVENTORY, chargez les données dans la table


PRODUCT_ON_HAND à l'aide de la ligne de commande SQL*Loader. (Entrez la
commande en continu, sans appuyez sur la touche [Entrée] avant d'atteindre la fin de la
commande : sqlldr userid=inventory/verysecure
control=lab_18_06.ctl log=lab_18_06.log data=lab-
_18_06.dat).

Confirmez les résultats en consultant le fichier lab_18_06.log dans le répertoire


/home/oracle/labs.

Oracle Database 10g : Administration Workshop I A-42


Unauthorized reproduction or distribution prohibitedฺ Copyright© 2009, Oracle and/or its affiliatesฺ
________________
Annexe B

Solutions
________________

Unauthorized reproduction or distribution prohibitedฺ Copyright© 2009, Oracle and/or its affiliatesฺ
Solutions de l'exercice 2 : Installer le logiciel de base de données Oracle

Contexte : Dans les exercices portant sur ce cours, vous jouez le rôle d'un administrateur de base
de données (DBA). Les comptes du système d'exploitation sur votre ordinateur sont les suivants :
• L'utilisateur oracle, avec le mot de passe oracle.
• L'utilisateur root, avec le mot de passe oracle.

L'administrateur système a configuré le système d'exploitation de sorte qu'il soit prêt pour
l'installation. Le support d'installation est enregistré dans le répertoire /stage/Disk1.
Effectuez les tâches suivantes en tant qu'utilisateur du système d'exploitation oracle par défaut,
sauf indication contraire.

Une fois le logiciel installé, exécutez le script lab_02_05.sh qui crée automatiquement un
processus d'écoute (listener).

Remarque : Vous devez réaliser cet exercice pour pouvoir effectuer les exercices des chapitres
suivants.
1. Installez le logiciel de base de données Oracle en tant qu'utilisateur oracle. Accédez au
répertoire /stage/Disk1 et démarrez Oracle Universal Installer (OUI) en entrant la
commande ./runInstaller.
a) Cliquez deux fois sur l'icône XTerm située sur le bureau, puis entrez la commande
suivante :

$ cd /stage/Disk1
$ ./runInstaller
2. Sélectionnez la méthode d'installation souhaitée pour OUI.

a) Dans la page Installation Method, sélectionnez Basic Installation, puis confirmez les
paramètres suivants :
Objet Paramètre
Database Home Location /u01/app/oracle/product/10.2.0/db_1
Installation Type Enterprise Edition
UNIX DBA Group oinstall
Create Starter Database Désélectionné

Remarque : Veillez à désélectionner l'option Create Starter Database.

b) Cliquez sur Next.

c) Vous vous trouvez à présent dans la page intitulée "Specify Inventory directory and
credentials". Acceptez /u01/app/oracle/oraInventory comme répertoire
oraInventory et oinstall comme nom de groupe du système d'exploitation.
Cliquez sur Next.

Oracle Database 10g : Administration Workshop I B-2


Unauthorized reproduction or distribution prohibitedฺ Copyright© 2009, Oracle and/or its affiliatesฺ
Solutions de l'exercice 2 : Installer le logiciel de base de données Oracle (suite)

OUI charge la liste des produits et vérifie les prérequis propres aux produits.

d) Lorsque OUI a vérifié les prérequis dans la page Product-Specific Prerequisite Checks,
cliquez sur Next.

3. Une fois la vérification des prérequis terminée, la page Summary apparaît.

a) Cliquez sur Install pour commencer l'installation.

Le temps d'installation est estimé à 10–15 minutes. Toutefois, cette estimation peut varier
grandement en fonction des environnements.

4. Lorsque la page Execute Configuration Scripts apparaît, suivez les instructions qui y figurent,
acceptez la valeur par défaut pour le répertoire bin local, puis terminez l'installation à l'aide
d'OUI.

Oracle Database 10g : Administration Workshop I B-3


Unauthorized reproduction or distribution prohibitedฺ Copyright© 2009, Oracle and/or its affiliatesฺ
Solutions de l'exercice 2 : Installer le logiciel de base de données Oracle (suite)

a) Cliquez deux fois sur l'icône XTerm située sur le bureau.

b) Exécutez les scripts orainstRoot.sh et root.sh en tant qu'utilisateur root, puis


cliquez sur Continue.
$ su
# password: oracle <root password, does not appear on the screen>
# cd /u01/app/oracle/oraInventory
# ./orainstRoot.sh
# cd /u01/app/oracle/product/10.2.0/db_1
# ./root.sh

c) Acceptez la valeur par défaut pour le répertoire bin local.

Oracle Database 10g : Administration Workshop I B-4


Unauthorized reproduction or distribution prohibitedฺ Copyright© 2009, Oracle and/or its affiliatesฺ
Solutions de l'exercice 2 : Installer le logiciel de base de données Oracle (suite)

d) Entrez la commande exit pour quitter la session de l'utilisateur root du système


d'exploitation.

e) Fermez la fenêtre XTerm, puis cliquez sur OK dans la page Execute Configuration scripts.

La page End of Installation apparaît.

Oracle Database 10g : Administration Workshop I B-5


Unauthorized reproduction or distribution prohibitedฺ Copyright© 2009, Oracle and/or its affiliatesฺ
Solutions de l'exercice 2 : Installer le logiciel de base de données Oracle (suite)

f) Relevez les différentes URL. Vous les utiliserez plus tard dans d'autres sessions d'exercices.
URL iSQL*Plus :________________________________________________________
URL DBA iSQL*Plus :___________________________________________________
g) Vous pouvez, si vous le souhaitez, cliquer sur Installed Products, revoir l'inventaire
produit, puis cliquer sur Close.

h) Cliquez sur Exit, puis sur Yes pour quitter OUI.


5. Exécutez le script lab_02_05.sh, qui se trouve dans le répertoire /home/oracle/labs.
Ce script a recours à l'utilitaire netca pour créer un processus d'écoute (listener). Si vous créez
la première base de données à l'aide d'OUI (dans le cadre de l'installation), OUI appelle l'assistant
de configuration réseau, qui crée le premier processus d'écoute pour vous.
a) Dans une fenêtre de terminal, entrez :
cd /home/oracle/labs
./lab_02_05.sh

Un journal d'activité doit apparaître à l'écran, avec à la fin un message de réussite. Si tel n'est
pas le cas, résolvez les erreurs qui ont pu se produire.

Oracle Database 10g : Administration Workshop I B-6


Unauthorized reproduction or distribution prohibitedฺ Copyright© 2009, Oracle and/or its affiliatesฺ
Solutions de l'exercice 3 : Créer une base de données Oracle

Contexte : Vous êtes sur le point de créer votre première base de données Oracle. Vous prévoyez
que plusieurs bases de données semblables seront nécessaires dans un futur proche. Par
conséquent, vous décidez de créer la base de données ORCL, ainsi qu'un modèle de base de
données et les scripts de création de base de données. Placez les scripts dans le répertoire
/home/oracle/labs (il s'agit du répertoire le plus souvent utilisé dans ce cours).

Une fois la base de données ORCL créée, exécutez le script lab_03_03.sh qui crée un
processus d'écoute (listener).

Remarque : Vous devez réaliser cet exercice pour pouvoir effectuer les exercices des chapitres
suivants.

1. Démarrez l'assistant DBCA (Database Configuration Assistant).


a) Ouvrez une fenêtre de terminal en tant qu'utilisateur oracle. Pour ce faire, cliquez deux
fois sur l'icône XTerm située sur le bureau.
b) Pour démarrer l'assistant DBCA, entrez :
$ dbca

2. Commencez la phase de création de la base de données ORCL. Utilisez le modèle de base de


données General Purpose.
a) Dans la page Welcome de l'assistant DBCA, cliquez sur Next.
b) Dans la page Operations, sélectionnez Create a Database, puis cliquez sur Next.
c) Dans la page Database Templates, sélectionnez General Purpose, puis cliquez sur Show
Details.
d) Examinez en détail les informations du modèle, puis répondez aux questions suivantes.
Question 1 : Combien de fichiers de contrôle sont créés ?
Réponse : 3
Question 2 : Le fait de les multiplexer permettrait-il d'optimiser la disponibilité de la base
de données ?

Réponse : Oui. (C'est ce que nous ferons dans un prochain exercice.)


Question 3 : Combien de groupes de fichiers de journalisation sont créés ?
Réponse : 3
Question 4 : Le fait de les mettre en miroir permettrait-il d'optimiser la disponibilité de la
base de données ?

La réponse est variable : non, pas en cours, car il existe déjà trois groupes et vous ne disposez
que d'un périphérique de stockage physique ; mais oui, si vous pouvez placer chaque groupe
sur un périphérique de stockage physique différent.

Oracle Database 10g : Administration Workshop I B-7


Unauthorized reproduction or distribution prohibitedฺ Copyright© 2009, Oracle and/or its affiliatesฺ
Solutions de l'exercice 3 : Créer une base de données Oracle (suite)
Question 5 : Quelle est la taille des blocs de base de données (db_block_size) ?
Réponse : 8 ko
Question 6 : Quelle est la valeur de Sample Schemas ?
Réponse : Sample Schemas est paramétré sur False.

Remarque : Vous modifierez ce paramètre ultérieurement dans l'exercice afin de créer


l'exemple de schéma HR.

Question 7 : Quel est le modèle par défaut du paramètre Database Character Set ?

Réponse : WE8ISO8859P1

Remarque : Vous modifierez ce paramètre ultérieurement dans l'exercice afin d'utiliser un


jeu de caractères de base de données Unicode.
e) Cliquez sur Close pour fermer la fenêtre Template Details.
f) Cliquez sur Next.

3. Créez la base de données ORCL, ainsi que le modèle ORCL et les scripts de génération de la
base de données.
a) Dans la page Database Identification, entrez orcl.oracle.com comme nom global de
base de données (Global Database Name). Le SID se voit attribuer par défaut le nom de
base de données orcl. Cliquez sur Next.
b) Dans la page Management Options, assurez-vous que les éléments suivants sont sélectionnés :
- Configure the Database with Enterprise Manager
- Use Database Control for Database Management
c) Cliquez sur Next.
d) Dans la page Database Credentials, sélectionnez Use the Same Password for All
Accounts, puis entrez oracle dans les champs Password et Confirm Password. Cliquez
ensuite sur Next.
e) Dans la page Storage Options, sélectionnez File System, puis cliquez sur Next.
f) Dans la page Database File Locations, sélectionnez Use Oracle-Managed Files.
Acceptez la valeur par défaut du champ Database Area, puis cliquez sur Next.
g) Dans la page Recovery Configuration, sélectionnez Specify Flash Recovery Area, puis
cliquez sur Next.

h) Dans la page Database Content, sélectionnez Sample Schemas, puis cliquez sur Next.

i) Dans l'onglet Memory de la page Initialization Parameters, sélectionnez Custom, puis


affectez la valeur Automatic au paramètre Shared Memory Management.

Oracle Database 10g : Administration Workshop I B-8


Unauthorized reproduction or distribution prohibitedฺ Copyright© 2009, Oracle and/or its affiliatesฺ
Solutions de l'exercice 3 : Créer une base de données Oracle (suite)

j) Dans l'onglet Initialization Parameters Character Sets, sélectionnez Use Unicode


(AL32UTF8).

k) Consultez les onglets Sizing et Connection Mode mais ne modifiez aucune valeur.
Cliquez ensuite sur Next.

l) Dans la page Database Storage, examinez le nom et l'emplacement des fichiers. Cliquez
ensuite sur Next.

Oracle Database 10g : Administration Workshop I B-9


Unauthorized reproduction or distribution prohibitedฺ Copyright© 2009, Oracle and/or its affiliatesฺ
Solutions de l'exercice 3 : Créer une base de données Oracle (suite)

m) Dans la page Creation Options, sélectionnez Create Database.

n) Vous pouvez éventuellement sélectionner toutes les options de création et entrer orcl
comme nom (Name) pour le modèle de base de données, ORCL Database
template dans le champ Description, et /home/oracle/labs comme répertoire
de destination (Destination Directory). Cliquez ensuite sur Finish.

o) La page Confirmation apparaît. Vérifiez les options et les paramètres, tels que Sample
Schemas (true), db_block_size (8KB), sga_target (270MB),
undo_management (AUTO) et Database Character Set (AL32UTF8),
puis cliquez sur OK.

p) Cliquez sur OK pour prendre connaissance de la création du modèle. Validez ensuite la


génération des scripts de base de données (si vous avez sélectionné les options
correspondantes).

Oracle Database 10g : Administration Workshop I B-10


Unauthorized reproduction or distribution prohibitedฺ Copyright© 2009, Oracle and/or its affiliatesฺ
Solutions de l'exercice 3 : Créer une base de données Oracle (suite)

q) L'assistant DBCA affiche la progression des différentes étapes d'installation. Une fois la
base de données créée, l'assistant DBCA affiche les principales informations relatives à la
base de données. Relevez ces informations. L'URL de Database Control sera utilisée dans
bon nombre des exercices suivants.

r) Cliquez sur le bouton Password Management.

s) Faites défiler la page Password Management vers le bas pour atteindre le nom utilisateur HR.

Oracle Database 10g : Administration Workshop I B-11


Unauthorized reproduction or distribution prohibitedฺ Copyright© 2009, Oracle and/or its affiliatesฺ
Solutions de l'exercice 3 : Créer une base de données Oracle (suite)

t) Désélectionnez la colonne Lock Account?, puis entrez hr dans les colonnes New
Password et Confirm Password. Cliquez ensuite sur OK.

u) Cliquez sur Exit pour fermer l'assistant DBCA.

Vous venez de créer une base de données, ainsi qu'(éventuellement) un modèle de base de
données et des scripts de génération de base de données.

Oracle Database 10g : Administration Workshop I B-12


Unauthorized reproduction or distribution prohibitedฺ Copyright© 2009, Oracle and/or its affiliatesฺ
Solutions de l'exercice 4 : Gérer l'instance Oracle

Contexte : Vous venez d'installer le logiciel Oracle et de créer une base de données. Vous
souhaitez vous assurer que vous pouvez démarrer et arrêter la base de données et afficher les
données d'application.

1. Appelez Enterprise Manager, puis connectez-vous en tant qu'utilisateur SYS. Quel numéro de
port la base de données utilise-t-elle ? Vous avez noté cette information dans l'exercice 3.

Réponse : 1158

a) Cliquez deux fois sur l'icône Mozilla située sur le bureau pour ouvrir le navigateur Web
en tant qu'utilisateur oracle.

La fenêtre Select User Profile apparaît.

b) Sélectionnez le profil oracle, cochez l'option Don’t ask at startup, puis cliquez sur Start
Mozilla.

Le navigateur Web ouvre une fenêtre.

c) Entrez l'URL que vous avez notée dans l'exercice 3. Elle se présente sous la forme
suivante :

http://hostname:portnumber/em

La fenêtre Oracle Enterprise Manager apparaît.

Oracle Database 10g : Administration Workshop I B-13


Unauthorized reproduction or distribution prohibitedฺ Copyright© 2009, Oracle and/or its affiliatesฺ
Solutions de l'exercice 4 : Gérer l'instance Oracle (suite)
d) Connectez-vous en entrant sys dans le champ User Name, oracle dans le champ
Password et en sélectionnant SYSDBA dans la liste déroulante Connect As. Cliquez
ensuite sur Login.

e) Il se peut que vous receviez un avertissement de sécurité. En cours, désélectionnez


l'option Alert me whenever I submit information that’s not encrypted., puis cliquez
sur Continue.

La première fois que vous vous connectez après avoir installé le logiciel, la page "Oracle
Database 10g Licensing Information" apparaît.
f) Pour accepter ces informations, cliquez sur I agree au bas de la page.

2. Affichez les paramètres d'initialisation et attribuez la valeur 15 au paramètre


JOB_QUEUE_PROCESSES. Quelle instruction SQL est exécutée pour cette opération ?
a) Sélectionnez Administration > Database Administration > Database Configuration > All
Initialization Parameters.

b) Entrez job dans le champ Name, puis cliquez sur Go.

c) Lorsque le paramètre d'initialisation JOB_QUEUE_PROCESSES apparaît, remplacez sa


valeur 10 par la valeur 15.

Oracle Database 10g : Administration Workshop I B-14


Unauthorized reproduction or distribution prohibitedฺ Copyright© 2009, Oracle and/or its affiliatesฺ
Solutions de l'exercice 4 : Gérer l'instance Oracle (suite)

d) Cliquez sur Show SQL et examinez l'instruction SQL qui va être exécutée.

e) Cliquez sur Return, puis sur Apply.


3. Question : Quelle est la signification de la présence d'une coche dans la colonne Dynamic ?
Réponse : Un paramètre "dynamique" peut être modifié lorsque la base de données est active.
4. Arrêtez l'instance de base de données à l'aide d'Enterprise Manager.
Question : Quelle instruction SQL est exécutée pour cette opération ?
a) Dans la session de navigateur d'Enterprise Manager, cliquez sur l'onglet Database.
b) Cliquez sur Shutdown.

c) Dans la région Host Credentials, entrez oracle dans les champs Username et
Password.
d) Cliquez sur OK.
La page Startup/Shutdown: Confirmation apparaît.
e) Cliquez sur Advanced Options pour afficher le mode d'arrêt, mais conservez la valeur
"Immediate" de ce mode.
f) Cliquez sur Cancel pour revenir à la page précédente.
g) Cliquez sur Show SQL pour afficher l'instruction SQL qui va être exécutée et permettra
d'effectuer l'opération d'arrêt.
Question : Quelle instruction SQL est exécutée pour cette opération ?

Réponse : SHUTDOWN IMMEDIATE

h) Cliquez sur Return.

Oracle Database 10g : Administration Workshop I B-15


Unauthorized reproduction or distribution prohibitedฺ Copyright© 2009, Oracle and/or its affiliatesฺ
Solutions de l'exercice 4 : Gérer l'instance Oracle (suite)
i) Cliquez sur Yes pour confirmer l'opération d'arrêt.
j) Cliquez sur Refresh. Si l'erreur suivante se produit au cours de la régénération, cliquez sur
OK et poursuivez la régénération. L'erreur se résoudra d'elle-même.

k) Notez que l'instance affiche à présent le statut (Status) "Down".

5. A l'aide de SQL*Plus, assurez-vous de ne pas pouvoir vous connecter en tant qu'utilisateur


HR à une base de données qui a été arrêtée.
a) Dans la fenêtre de commande Linux, entrez la commande suivante pour tenter de vous
connecter à la base de données :
$ sqlplus hr

b) Entrez hr comme mot de passe.


c) Le message "ORACLE not available" apparaît.
d) Appuyez sur [Ctrl] + [D] pour quitter l'invite de nom utilisateur.

6. Utilisez Enterprise Manager pour redémarrer l'instance de base de données, puis connectez-
vous à nouveau en tant qu'utilisateur SYS.

Question : Quelle instruction SQL est exécutée pour démarrer la base de données ?
a) Dans Enterprise Manager, cliquez sur le bouton Startup.
b) Entrez oracle dans les champs Username et Password de la région Host Credentials.
c) Cliquez sur OK.

Oracle Database 10g : Administration Workshop I B-16


Unauthorized reproduction or distribution prohibitedฺ Copyright© 2009, Oracle and/or its affiliatesฺ
Solutions de l'exercice 4 : Gérer l'instance Oracle (suite)

d) La page Startup/Shutdown: Confirmation apparaît. Cliquez sur Show SQL pour afficher
l'instruction SQL sur le point d'être exécutée.

Question : Quelle instruction SQL est exécutée pour démarrer la base de données ?

Réponse : STARTUP

e) Cliquez sur Return.

f) Cliquez sur Yes pour confirmer l'opération de démarrage.

g) La page Startup/Shutdown: Activity Information apparaît. Lorsque la page de connexion


apparaît, connectez-vous en tant qu'utilisateur SYS avec le mot de passe oracle et le
privilège SYSDBA.

7. Dans le fichier d'alertes, affichez les différentes phases de démarrage de la base de données.
Quelles sont-elles ?

a) Sélectionnez Database > Related Links > Alert Log Content.

Oracle Database 10g : Administration Workshop I B-17


Unauthorized reproduction or distribution prohibitedฺ Copyright© 2009, Oracle and/or its affiliatesฺ
Solutions de l'exercice 4 : Gérer l'instance Oracle (suite)

b) Accédez à la fin du journal et examinez les différentes phases de la base de données


au cours du démarrage. Vous risquez d'obtenir un fichier d'alertes différent de la capture
ci-dessous, en fonction d'activités système différentes.

c) Au cours du démarrage, la base de données passe par les modes MOUNT et OPEN. Cliquez
sur OK pour fermer le fichier d'alertes.

8. Testez l'accès à iSQL*Plus pour les développeurs d'applications en Ressources humaines.


(Aide à la navigation : Database > iSQL*Plus). Utilisez le rôle Normal, le nom utilisateur et
le mot de passe hr, ainsi que la valeur par défaut du paramètre Connect Identifier. Si une
erreur se produit lors de l'accès à iSQL*Plus, démarrez le processus isqlplus en entrant la
commande isqlplusctl start à l'invite du système d'exploitation, puis renouvelez
l'opération. Une fois la connexion établie, sélectionnez le contenu de la table EMPLOYEES.

a) Sélectionnez Database > Related Links > iSQL*Plus.

La page iSQL*Plus Connection Role apparaît.

b) Pour des raisons de sécurité, les rôles SYSOPER et SYSDBA requièrent une configuration
et une authentification spéciales. Sélectionnez Normal, puis cliquez sur Continue.

Oracle Database 10g : Administration Workshop I B-18


Unauthorized reproduction or distribution prohibitedฺ Copyright© 2009, Oracle and/or its affiliatesฺ
Solutions de l'exercice 4 : Gérer l'instance Oracle (suite)
c) Si un message d'erreur apparaît signalant que la connexion a été refusée, cela signifie que
vous devez démarrer le processus de prise en charge. Pour ce faire, entrez la commande
isqlplusctl start à l'invite du système d'exploitation, puis renouvelez l'étape (b).
$ isqlplusctl start
iSQL*Plus 10.2.0.1.0
Copyright (c) 2003, 2005, Oracle. All rights reserved.
Starting iSQL*Plus ...
iSQL*Plus started.

d) Dans la page Login, entrez hr dans les champs Username et Password, et laissez la
valeur par défaut du champ Connect Identifier. Cliquez sur le bouton Login.

La fenêtre Confirm apparaît et le gestionnaire des mots de passe vous propose de


mémoriser ces informations de connexion. Cliquez sur No.
e) Entrez l'instruction suivante dans l'espace de travail, puis cliquez sur le bouton Execute :
SELECT * FROM EMPLOYEES;

Le contenu de la table EMPLOYEES apparaît sous forme de tableau.

f) Une fois que vous avez vérifié les informations, cliquez sur Logout dans l'angle supérieur
droit de la page.

g) Cliquez sur la croix (X) située dans l'angle supérieur droit du cadre de la fenêtre pour
fermer la fenêtre iSQL*Plus.

Oracle Database 10g : Administration Workshop I B-19


Unauthorized reproduction or distribution prohibitedฺ Copyright© 2009, Oracle and/or its affiliatesฺ
Solutions de l'exercice 5 : Gérer les structures de stockage de base de données

Contexte : Vous devez créer un tablespace pour l'application INVENTORY. Il vous faut
également créer un utilisateur de base de données qui ne dispose pas d'autant de privilèges que
l'utilisateur SYS.
1. Entrez ./lab_05_01.sh pour exécuter un script permettant de créer l'utilisateur DBA1. Ce
script se trouve dans le répertoire /home/oracle/labs. Le mot de passe de DBA1 est
oracle.
a) Lancez un interpréteur de commande Linux en cliquant deux fois sur l'icône XTerm
située sur le bureau.
b) Remplacez le répertoire en cours par le répertoire labs en entrant la commande
suivante :
$ cd labs

c) Entrez la commande suivante pour exécuter le script qui crée l'utilisateur DBA1 :
$ ./lab_05_01.sh
d) Laissez la fenêtre d'invite de commande ouverte. Vous l'utiliserez ultérieurement.
2. Dans l'angle supérieur droit d'Enterprise Manager (EM), cliquez sur le lien Setup pour définir
l'utilisateur DBA1 et lui attribuer le droit d'effectuer des tâches d'administration dans
Enterprise Manager. Une fois l'utilisateur non-SYS configuré, fermez la session SYS, puis
connectez-vous en tant qu'utilisateur DBA1. Effectuez le reste des tâches suivantes en tant
qu'utilisateur DBA1, sauf indication contraire.
a) Dans l'angle supérieur droit de la fenêtre d'Enterprise Manager, cliquez sur Setup.

b) Cliquez sur Create pour ajouter l'utilisateur DBA1 à la liste Administrators. L'utilisateur
DBA1 pourra ainsi effectuer des opérations de gestion à l'aide d'Enterprise Manager.

Oracle Database 10g : Administration Workshop I B-20


Unauthorized reproduction or distribution prohibitedฺ Copyright© 2009, Oracle and/or its affiliatesฺ
Solutions de l'exercice 5 : Gérer les structures de stockage de base de données
(suite)

c) Entrez dba1 dans le champ Name, et oracle dans les champs Password et Confirm
Password. Laissez le champ Email Address vide et l'option Super Administrator
sélectionnée, puis cliquez sur Finish.

d) Dans la page Create Administrator: Review, cliquez à nouveau sur Finish.

e) Maintenant qu'un utilisateur non-SYS existe, cliquez sur Logout dans l'angle supérieur
droit, puis sur Login.

f) Entrez DBA1 dans le champ User Name, ORACLE dans le champ Password, et
sélectionnez SYSDBA pour Connect As. Cliquez ensuite sur Login.

La première fois que vous vous connectez en tant que nouvel utilisateur, la page relative
aux droits de licence apparaît.

g) Pour accepter ces informations, cliquez sur I agree au bas de la page.

La page Database Home apparaît.

3. Dans Enterprise Manager, affichez les informations relatives au tablespace EXAMPLE.


Répondez aux questions suivantes le concernant :

a) Dans Enterprise Manager, sélectionnez Administration > Database Administration >


Storage > Tablespaces.

b) Cliquez sur le nom du tablespace EXAMPLE.

c) Question 1 : Quel pourcentage d'espace libre peut être utilisé avant d'atteindre le seuil
d'avertissement (Warning threshold) ?

Réponse : 85 %

Oracle Database 10g : Administration Workshop I B-21


Unauthorized reproduction or distribution prohibitedฺ Copyright© 2009, Oracle and/or its affiliatesฺ
Solutions de l'exercice 5 : Gérer les structures de stockage de base de données
(suite)

d) Dans la liste déroulante Actions, sélectionnez Show Tablespace Contents, puis cliquez
sur Go.

e) La page Show Tablespace Contents apparaît.

f) Question 2 : Combien de segments y'a-t-il dans le tablespace EXAMPLE ?

Réponse : 418

g) Sélectionnez INDEX dans la liste déroulante Type de la région Search, puis cliquez sur Go.

h) Question 3 : Quel index du tablespace EXAMPLE occupe le plus d'espace ?

Réponse : SH.CUSTOMERS_PK

Question 4 : Quel segment est stocké physiquement en premier dans le tablespace ?


Autrement dit, lequel est stocké immédiatement à la suite de l'en-tête du tablespace ?

i) Accédez au bas de la page et cliquez sur l'icône représentant le signe plus, à gauche du
libellé Extent Map.

j) Après quelques secondes, la topographie des ensembles de blocs contigus (extent map)
apparaît. Notez que la légende de la topographie indique que le rose correspond à l'en-tête
du tablespace.

k) Revenez en haut de la page, sélectionnez All Types dans la liste déroulante Type, puis
cliquez sur Go.

Oracle Database 10g : Administration Workshop I B-22


Unauthorized reproduction or distribution prohibitedฺ Copyright© 2009, Oracle and/or its affiliatesฺ
Solutions de l'exercice 5 : Gérer les structures de stockage de base de données
(suite)

l) Cliquez sur l'extent situé immédiatement à droite de l'extent d'en-tête du tablespace.

m) Revenez en haut de la page et notez le segment sur lequel est placé le pointeur :

Réponse : HR.REGIONS

4. Créez un tablespace géré localement nommé INVENTORY, d'une taille de 5 Mo.

Remarque : Le tablespace INVENTORY sera utilisé dans d'autres exercices portant sur ce cours.
a) Dans Enterprise Manager, sélectionnez Administration > Database Administration >
Storage > Tablespaces.
b) Cliquez sur Create.
c) Indiquez INVENTORY comme nom du tablespace, et veillez à attribuer la valeur Locally
Managed pour Extent Management, Permanent pour Type, Read Write pour Status,
et à désélectionner l'option Use Bigfile tablespace.
d) Cliquez sur Add dans la région Datafiles.
e) Dans la page Add Datafile, entrez inventory01.dbf dans le champ File Name, et
5 MB dans le champ File Size.
f) Cliquez sur Continue.
g) Cliquez sur l'onglet Storage, et veillez à attribuer la valeur Automatic pour Extent
Allocation, Automatic pour Segment Space Management et à activer l'option Logging.
h) Cliquez sur l'onglet General.
i) Cliquez sur Show SQL pour afficher l'instruction SQL qui sera exécutée, puis cliquez sur
Return.
j) Cliquez sur OK. Un message indiquant une mise à jour réussie apparaît.

Oracle Database 10g : Administration Workshop I B-23


Unauthorized reproduction or distribution prohibitedฺ Copyright© 2009, Oracle and/or its affiliatesฺ
Solutions de l'exercice 5 : Gérer les structures de stockage de base de données
(suite)

5. En tant qu'utilisateur DBA1, exécutez le script lab_05_05.sql pour créer et remplir une
table (nommée X) dans le tablespace INVENTORY. Quelle erreur apparaît alors ?

a) Cliquez deux fois sur l'icône XTerm située sur le bureau pour démarrer une invite de
commande, puis entrez :
$ cd labs

b) Entrez la commande suivante pour exécuter le script :


$ sqlplus dba1/oracle @lab_05_05.sql

c) Notez qu'une erreur ORA-01653 se produit, indiquant que la table ne peut pas être
étendue. L'espace est insuffisant pour prendre en charge toutes les lignes à insérer.

6. Accédez à la fenêtre Enterprise Manager et définissez pour le tablespace un espace de 50 Mo


au lieu de 5 Mo, tout en conservant le même fichier de données unique dans le tablespace.
Quelle instruction ALTER est exécutée pour effectuer cette modification ?

a) Sélectionnez Administration > Database Administration > Storage > Tablespaces.

b) Sélectionnez le tablespace INVENTORY, puis cliquez sur Edit.

c) Dans la région Datafiles, cliquez sur Edit.

d) Remplacez la valeur 5 MB (5 Mo) du champ File Size par la valeur 50 MB (50 Mo).

e) Cliquez sur Continue pour revenir à l'onglet General.

f) Cliquez sur Show SQL pour afficher l'instruction SQL qui sera exécutée. Il s'agit d'une
instruction ALTER DATABASE. Cliquez sur Return.

Oracle Database 10g : Administration Workshop I B-24


Unauthorized reproduction or distribution prohibitedฺ Copyright© 2009, Oracle and/or its affiliatesฺ
Solutions de l'exercice 5 : Gérer les structures de stockage de base de données
(suite)

g) Cliquez sur Apply.

7. Revenez à la fenêtre XTerm et exécutez le script lab_05_07.sql. Il supprime la table et


réexécute le script d'origine ayant précédemment renvoyé l'erreur de manque d'espace.

a) Accédez à la fenêtre SQL*Plus.

b) Entrez la commande suivante pour exécuter le script :


$ sqlplus dba1/oracle @lab_05_07.sql

c) Notez que le même nombre d'insertions de ligne est entrepris, et qu'aucune erreur ne se
produit en raison de la plus grande taille du tablespace.

8. Dans une fenêtre XTerm, exécutez le script lab_05_08.sql pour nettoyer le tablespace en
vue d'une utilisation dans les exercices suivants.

a) Entrez la commande suivante pour exécuter le script :


$ sqlplus dba1/oracle @lab_05_08.sql

Oracle Database 10g : Administration Workshop I B-25


Unauthorized reproduction or distribution prohibitedฺ Copyright© 2009, Oracle and/or its affiliatesฺ
Solutions de l'exercice 6 : Administrer la sécurité utilisateur

Contexte : Vous devez créer un compte utilisateur pour Jenny Goodman, le nouveau manager du
département des Ressources humaines. Ce département compte également deux nouveaux
opérateurs, à savoir David Hamby et Rachel Pandya. Tous trois doivent pouvoir se connecter à la
base de données ORCL, et effectuer une sélection des données et mettre à jour les enregistrements
dans la table HR.EMPLOYEES. Le manager doit également pouvoir insérer et supprimer des
enregistrements d'employés. Assurez-vous que si les nouveaux utilisateurs oublient de se
déconnecter à la fin de la journée, ils seront déconnectés automatiquement après quinze minutes.
Vous devez également créer un compte utilisateur pour l'application de gestion des stocks que
vous installez.

1. Tâche obligatoire : Vérifiez et exécutez le script lab_06_01.sh (qui se trouve dans le


répertoire /home/oracle/labs) pour créer l'utilisateur INVENTORY dont vous vous
servirez dans l'exercice suivant.

a) Dans une fenêtre de terminal, entrez :


cd /home/oracle/labs
more lab_06_01.sh
./lab_06_01.sh

2. Créez un profil nommé HRPROFILE autorisant un temps d'inactivité de 15 minutes.

a) Appelez Enterprise Manager en tant qu'utilisateur DBA1, et avec le rôle SYSDBA, pour la
base de données ORCL.

b) Sélectionnez Administration > Schema > Users & Privileges > Profiles.

c) Cliquez sur le bouton Create.

d) Entrez HRPROFILE dans le champ Name.

e) Entrez 15 dans le champ Idle Time (Minutes).

Oracle Database 10g : Administration Workshop I B-26


Unauthorized reproduction or distribution prohibitedฺ Copyright© 2009, Oracle and/or its affiliatesฺ
Solutions de l'exercice 6 : Administrer la sécurité utilisateur (suite)

f) Conservez la valeur DEFAULT de tous les autres champs.

g) Cliquez sur l'onglet Password et vérifiez les options de mot de passe, qui sont
actuellement toutes paramétrées sur DEFAULT.

h) Si vous le souhaitez, cliquez sur le bouton Show SQL, consultez l'instruction SQL sous-
jacente, puis cliquez sur Return.

i) Cliquez enfin sur OK pour créer le profil.

3. Affectez la valeur TRUE au paramètre d'initialisation RESOURCE_LIMIT, de manière à


appliquer les limites du profil.

a) Sélectionnez Administration > Database Administration > Database Configuration > All
Initialization Parameters.

b) Entrez RESOURCE_LIMIT dans le champ Filter, puis cliquez sur Go.

c) Sélectionnez TRUE dans la liste déroulante Value, puis cliquez sur Apply.

Oracle Database 10g : Administration Workshop I B-27


Unauthorized reproduction or distribution prohibitedฺ Copyright© 2009, Oracle and/or its affiliatesฺ
Solutions de l'exercice 6 : Administrer la sécurité utilisateur (suite)

4. Créez un rôle nommé HRCLERK doté des permissions SELECT et UPDATE sur la table
HR.EMPLOYEES.

a) Sélectionnez Administration > Schema > Users & Privileges > Roles.

b) Cliquez sur le bouton Create dans l'angle supérieur droit de la page.

c) Entrez HRCLERK dans le champ Name. Ce rôle n'est pas authentifié.

d) Cliquez sur Object Privileges.

e) Sélectionnez Table dans la liste déroulante Select Object Type, puis cliquez sur Add.

f) Entrez HR.EMPLOYEES dans le champ Select Table Objects.

g) Déplacez les privilèges SELECT et UPDATE vers la zone Selected Privileges. Cliquez
sur OK.

h) Cliquez sur le bouton Show SQL et examinez l'instruction SQL sous-jacente.

i) Cliquez sur Return, puis sur OK pour créer le rôle.

Oracle Database 10g : Administration Workshop I B-28


Unauthorized reproduction or distribution prohibitedฺ Copyright© 2009, Oracle and/or its affiliatesฺ
Solutions de l'exercice 6 : Administrer la sécurité utilisateur (suite)

5. Créez un rôle nommé HRMANAGER doté des permissions INSERT et DELETE sur la table
HR.EMPLOYEES. Accordez le rôle HRCLERK au rôle HRMANAGER.

a) Sélectionnez Administration > Schema > Users & Privileges > Roles.

b) Cliquez sur Create.

c) Entrez HRMANAGER dans le champ Name. Ce rôle n'est pas authentifié.

d) Cliquez sur Object Privileges.

e) Sélectionnez Table dans la liste déroulante Select Object Type, puis cliquez sur Add.

f) Entrez HR.EMPLOYEES dans le champ Select Table Objects.

g) Déplacez les privilèges INSERT et DELETE vers la zone Selected Privileges. Cliquez
sur OK.

h) Cliquez sur Roles, puis sur Edit List.

i) Déplacez le rôle HRCLERK dans la zone Selected Roles, puis cliquez sur OK.

j) Cliquez sur le bouton Show SQL et examinez l'instruction SQL sous-jacente.

k) Cliquez sur Return, puis sur OK pour créer le rôle.

Oracle Database 10g : Administration Workshop I B-29


Unauthorized reproduction or distribution prohibitedฺ Copyright© 2009, Oracle and/or its affiliatesฺ
Solutions de l'exercice 6 : Administrer la sécurité utilisateur (suite)
6. Créez un compte pour David Hamby, nouvel opérateur du département HR.
a) Sélectionnez Administration > Schema > Users & Privileges > Users.
b) Cliquez sur Create, puis entrez DHAMBY dans le champ Name.
c) Sélectionnez le profil HRPROFILE.
d) Sélectionnez Password Authentication, puis entrez newuser comme mot de passe.
Entrez ce même mot de passe dans le champ Confirm Password. Cochez la case Expire
Password now, de sorte que David Hamby soit obligé de changer le mot de passe lors de
sa première connexion.

newuser
newuser

e) Cliquez sur Roles. Notez que le rôle CONNECT a été affecté automatiquement à
l'utilisateur.

f) Ajoutez le rôle HRCLERK en cliquant sur Edit List et en déplaçant le rôle dans la zone
Selected Roles. Cliquez sur OK afin de fermer la fenêtre Modify Roles.

g) Cliquez de nouveau sur OK afin de créer l'utilisateur.

7. Créez un compte pour Rachel Pandya, nouvelle opératrice du département HR. Répétez les
différentes étapes de la tâche 6 en utilisant RPANDYA comme nom utilisateur.

Oracle Database 10g : Administration Workshop I B-30


Unauthorized reproduction or distribution prohibitedฺ Copyright© 2009, Oracle and/or its affiliatesฺ
Solutions de l'exercice 6 : Administrer la sécurité utilisateur (suite)

8. Créez un compte pour Jenny Goodman, nouveau manager du département HR. Répétez les
différentes étapes de la tâche 6 en utilisant JGOODMAN comme nom utilisateur et en
sélectionnant le rôle HRMANAGER au lieu du rôle HRCLERK.
a) Cliquez sur le bouton Show SQL et examinez l'instruction SQL sous-jacente.

b) Cliquez sur Return, puis sur OK pour créer l'utilisateur.

9. Testez les nouveaux utilisateurs dans SQL*Plus. Connectez-vous à la base de données ORCL
en tant qu'utilisateur DHAMBY. Utilisez oracle comme nouveau mot de passe. Dans la table
HR.EMPLOYEES, sélectionnez la ligne comportant l'ID EMPLOYEE_ID=197. Essayez
ensuite de la supprimer. (Vous devez obtenir une erreur de type "privilèges insuffisants".)

a) Dans une fenêtre de terminal, entrez :


sqlplus dhamby/newuser

ou si vous vous trouvez déjà dans SQL*Plus, utilisez la commande CONNECT. Si vous vous
reconnectez en tant qu'utilisateur dhamby dans SQL*Plus, la session de connexion et de
modification de mot de passe ressemble à ce qui suit :
SQL> CONNECT dhamby/newuser

ERROR:
ORA-28001: the password has expired

Changing password for dhamby


New password: oracle <<<Password does not appear on screen
Retype new password: oracle <<<Password does not appear on screen
Password changed

Connected to:
Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 – Production
With the Partitioning, OLAP and Data Mining options

SQL>

b) Dans la table HR.EMPLOYEES, sélectionnez le salaire correspondant à l'ID


EMPLOYEE_ID=197.

SQL> SELECT salary FROM hr.employees WHERE EMPLOYEE_ID=197;

SALARY
----------
3000

Oracle Database 10g : Administration Workshop I B-31


Unauthorized reproduction or distribution prohibitedฺ Copyright© 2009, Oracle and/or its affiliatesฺ
Solutions de l'exercice 6 : Administrer la sécurité utilisateur (suite)

c) Tentez à présent de supprimer ce même enregistrement de la table hr.employees.


SQL> DELETE FROM hr.employees WHERE EMPLOYEE_ID=197;
DELETE FROM hr.employees WHERE EMPLOYEE_ID=197
*
ERROR at line 1:
ORA-01031: insufficient privileges

10. Renouvelez le test pour l'utilisateur JGOODMAN. Une fois la ligne supprimée, effectuez une
opération d'annulation (rollback) afin de conserver les 107 lignes d'origine.

a) Connectez-vous à la base de données ORCL en tant qu'utilisateur JGOODMAN.


SQL> connect jgoodman/newuser
ERROR:
ORA-28001: the password has expired
<Change the password as shown above>

b) Dans la table HR.EMPLOYEES, sélectionnez la ligne comportant l'ID


EMPLOYEE_ID=197.
SQL> SELECT salary FROM hr.employees WHERE EMPLOYEE_ID=197;
SALARY
----------
3000

c) Supprimez à présent cette même ligne de la table HR.EMPLOYEES.


SQL> DELETE FROM hr.employees WHERE EMPLOYEE_ID=197;
1 row deleted.

d) Annulez (rollback) l'opération de suppression, car il ne s'agissait que d'un test.


SQL> rollback;
Rollback complete.

e) Assurez-vous que la table comporte toujours 107 lignes.


SQL> SELECT COUNT(*) FROM hr.employees;
COUNT(*)
----------
107
SQL>

Question 1 : Où la ligne a-t-elle été stockée après sa suppression ?

Réponse : Elle a été stockée dans le tablespace d'annulation.

Oracle Database 10g : Administration Workshop I B-32


Unauthorized reproduction or distribution prohibitedฺ Copyright© 2009, Oracle and/or its affiliatesฺ
Solutions de l'exercice 6 : Administrer la sécurité utilisateur (suite)

Question 2: Lorsque vous avez créé les nouveaux utilisateurs, vous n'avez pas sélectionné de
tablespace par défaut ni de tablespace temporaire. Qu'est-ce qui détermine les tablespaces qui
seront employés par les nouveaux utilisateurs ?

Réponse : Les tablespaces permanent et temporaire définis par défaut par le système.

Question 3: Vous n'avez accordé le privilège système CREATE SESSION à aucun des
nouveaux utilisateurs, mais tous peuvent se connecter à la base de données. Pourquoi ?

Réponse : Enterprise Manager affecte automatiquement le rôle CONNECT aux nouveaux


utilisateurs et le privilège CREATE SESSION est contenu dans ce rôle.

11. Vérifiez le script lab_05_01.sql et le fichier journal lab_05_01.txt qu'il a généré


lors de la création de l'utilisateur DBA1.

a) Cliquez deux fois sur l'icône Home d'Oracle située sur le bureau.

b) Accédez au répertoire labs.

c) Cliquez deux fois sur le fichier lab_05_01.sql et vérifiez son contenu.

d) Une fois le fichier vérifié, cliquez sur l'icône Up pour revenir dans le répertoire labs.

e) A présent, cliquez deux fois sur le fichier lab_05_01.txt qui a été créé lors de
l'exécution du fichier lab_05_01.sql.

f) Une fois le fichier vérifié, cliquez sur l'icône représentant une croix (X – Fermer la
fenêtre).

12. Utilisez SQL*Plus pour vous connecter à la base de données ORCL en tant qu'utilisateur
RPANDYA. Attribuez-lui le mot de passe oracle. (Vous devez modifier le mot de passe car
il s'agit de la première connexion sous le nom utilisateur RPANDYA.) Laissez RPANDYA
connecté pendant le chapitre suivant ou jusqu'à la fin de la journée. Le profil HRPROFILE
indique que les utilisateurs dont les sessions sont inactives pendant plus de 15 minutes seront
automatiquement déconnectés. Vérifiez que l'utilisateur a été automatiquement déconnecté en
essayant de nouveau d'effectuer une sélection dans la table HR.EMPLOYEES.
ERROR at line 1:
ORA-02396: exceeded maximum idle time, please connect again

Oracle Database 10g : Administration Workshop I B-33


Unauthorized reproduction or distribution prohibitedฺ Copyright© 2009, Oracle and/or its affiliatesฺ
Solutions de l'exercice 7 : Gérer les objets de schéma

Contexte : Vous devez créer des objets de schéma pour la nouvelle application de gestion des
stocks. Connectez-vous à la base de données ORCL sous le nom utilisateur DBA1 et avec le rôle
SYSDBA.

1. Revenez dans la session de navigateur d'Enterprise Manager, ou appelez Enterprise Manager


en tant qu'utilisateur DBA1, avec le rôle SYSDBA, pour vous connecter à la base de
données ORCL.

2. Dans le tablespace INVENTORY, créez la table PRODUCT_MASTER dans le schéma


INVENTORY. Les spécifications de la table sont les suivantes :
PRODUCT_ID number(7). Il s'agit du champ de clé primaire. (Nom de la contrainte :
PK_INV)
PRODUCT_NAME varchar2(50) avec une contrainte Not NULL
CODE varchar2(10) avec une contrainte Not NULL
REORDER_THRESHOLD number(5) avec une contrainte CHECK permettant de s'assurer
que le nombre est toujours supérieur à zéro (Nom de la contrainte : CHK_REORDER)
COST number(5,2)
PRICE number(5,2)

a) Sélectionnez Administration > Schema > Database Objects > Tables.

b) Cliquez sur Create.

c) Laissez le type de table par défaut Standard, Heap Organized permanent, puis cliquez
sur Continue.

d) Entrez PRODUCT_MASTER comme nom de table et affectez la valeur INVENTORY à


Schema. Conservez le paramètre de tablespace par défaut de l'utilisateur, soit
INVENTORY.

e) Entrez les informations des cinq premières colonnes (Data Type, Size, Scale et Not
NULL, entre autres); mais ne définissez pas encore de contraintes.

f) Cliquez sur Add 5 Table Columns, puis entrez la dernière colonne, PRICE, ainsi que
son type et sa taille.

g) Cliquez sur l'onglet Constraints.

h) Sélectionnez la valeur PRIMARY dans la liste déroulante, puis cliquez sur Add.

i) Attribuez un nom à la contrainte en entrant PK_INV dans le champ Name.

j) Cliquez deux fois sur PRODUCT_ID dans la liste de gauche afin de déplacer cet ID vers
la liste de droite et d'en faire la seule clé primaire. Cliquez ensuite sur Continue.

Oracle Database 10g : Administration Workshop I B-34


Unauthorized reproduction or distribution prohibitedฺ Copyright© 2009, Oracle and/or its affiliatesฺ
Solutions de l'exercice 7 : Gérer les objets de schéma (suite)

k) Sélectionnez la valeur CHECK dans la liste déroulante propre au type de contrainte, puis
cliquez sur Add.

l) Entrez CHK_REORDER comme nom de la contrainte CHECK.

m) Entrez "reorder_threshold > 0" (sans inclure les guillemets) dans le champ
Check Condition.

n) Laissez les valeurs par défaut des paramètres d'attributs, puis cliquez sur Continue.

o) La liste des contraintes doit à présent ressembler à ce qui suit :

p) Cliquez sur OK pour créer la table. Si vous recevez des erreurs, corrigez-les, puis cliquez
à nouveau sur OK.

Oracle Database 10g : Administration Workshop I B-35


Unauthorized reproduction or distribution prohibitedฺ Copyright© 2009, Oracle and/or its affiliatesฺ
Solutions de l'exercice 7 : Gérer les objets de schéma (suite)

3. Dans le tablespace INVENTORY, créez la table PRODUCT_ON_HAND dans le schéma


INVENTORY. Le script lab_07_03.sql permettant de créer la table vous est fourni, mais
il comporte un problème (créé intentionnellement pour pousser un peu plus loin votre
formation). Corrigez le problème, puis exécutez le script. Si vous ne parvenez pas à détecter
l'erreur immédiatement, exécutez le script d'origine dans SQL*Plus afin d'obtenir le message
d'erreur correspondant. Vous pourrez ainsi identifier et résoudre le problème. Les
spécifications de la table sont les suivantes :
PRODUCT_ID number(7). Ce champ doit comporter une contrainte de clé étrangère le
liant au champ PRODUCT_ID de la table PRODUCT_MASTER.
QUANTITY number(5)
WAREHOUSE_CITY varchar2(30)
Date LAST_UPDATE
a) Modifiez le fichier lab_07_03.sql situé dans le répertoire /home/oracle/labs.
Il comporte une erreur. Si vous parvenez à identifier l'erreur, corrigez-la. Exécutez le
script permettant de créer la table. Pour ce faire, entrez ce qui suit dans la ligne de
commande du système d'exploitation :
$ sqlplus dba1/oracle @lab_07_03.sql

b) L'erreur du script est la suivante : il manque (PRODUCT_ID) après FOREIGN KEY. Par
conséquent, ajoutez (PRODUCT_ID).

(PRODUCT_ID)

c) Supprimez les commandes prompt :


prompt There is an error in this statement. It will not
prompt run successfully unless fixed.

d) Exécutez le script. La création de la table doit s'effectuer sans erreurs.

Oracle Database 10g : Administration Workshop I B-36


Unauthorized reproduction or distribution prohibitedฺ Copyright© 2009, Oracle and/or its affiliatesฺ
Solutions de l'exercice 7 : Gérer les objets de schéma (suite)

4. Dans le tablespace INVENTORY, créez la table OBSOLETE_PRODUCTS dans le schéma


INVENTORY. Cette définition de table est très semblable à celle de la table
PRODUCT_MASTER. Par conséquent, vous pouvez utiliser la fonction de définition via des
instructions SQL d'Enterprise Manager (au lieu de la fonction de spécification de colonne).
Les spécifications de la table sont les suivantes :
PRODUCT_ID number(7). Il s'agit du champ de clé primaire.
PRODUCT_NAME varchar2(50) avec une contrainte Not Null
CODE varchar2(20) avec une contrainte Not Null
COST number(5,2)
PRICE number(5,2)
a) Dans Enterprise Manager, sélectionnez Administration > Schema > Database Objects >
Tables.
b) Cliquez sur Create.
c) Gardez la valeur par défaut du paramètre Table Organization, puis cliquez sur
Continue.
d) Entrez OBSOLETE_PRODUCTS dans le champ Name.
e) Entrez INVENTORY dans le champ Schema.
f) Gardez pour ce schéma la valeur par défaut du paramètre Tablespace.
g) Sélectionnez la valeur SQL dans la liste déroulante Define Using.
h) Dans la région SQL, entrez l'instruction suivante :
SELECT product_id, product_name, code, cost, price
FROM inventory.product_master

i) Cliquez sur OK pour créer la table.

Oracle Database 10g : Administration Workshop I B-37


Unauthorized reproduction or distribution prohibitedฺ Copyright© 2009, Oracle and/or its affiliatesฺ
Solutions de l'exercice 7 : Gérer les objets de schéma (suite)

5. Dans le tablespace INVENTORY, créez un index OBS_CODE sur la colonne CODE de la table
OBSOLETE_PRODUCTS dans le schéma INVENTORY. Choisissez le type d'index approprié :
B-tree ou Bitmap. Expliquez la raison de votre choix.

a) Question : Quel type d'index est approprié et pourquoi ?

Réponse : B-tree, car la colonne CODE peut contenir de nombreuses valeurs différentes et pas
seulement un petit ensemble fini de valeurs.

b) Sélectionnez Administration > Schema > Database Objects > Indexes, puis cliquez sur
Create.

c) Entrez OBS_CODE dans le champ Name.

d) Entrez INVENTORY dans le champ Schema.

e) Entrez INVENTORY.OBSOLETE_PRODUCTS dans le champ Table Name.

f) Cliquez sur Populate Columns. Le nom des colonnes est inséré dans la table. Si le
navigateur vous propose de mémoriser les valeurs entrées, cliquez sur No.

g) Définissez une valeur ORDER de 1 pour la colonne CODE.

h) Cliquez sur Show SQL, vérifiez que l'instruction SQL ressemble à celle-ci-dessous, puis
cliquez sur Return.

i) Cliquez sur OK pour créer l'index.

Oracle Database 10g : Administration Workshop I B-38


Unauthorized reproduction or distribution prohibitedฺ Copyright© 2009, Oracle and/or its affiliatesฺ
Solutions de l'exercice 7 : Gérer les objets de schéma (suite)

6. Dans le tablespace INVENTORY, créez un index nommé PROD_NAME_CODE sur la


combinaison de colonnes PRODUCT_NAME et CODE de la table PRODUCT_MASTER.
Utilisez le script lab_07_06.sql (dans lequel une erreur a été placée intentionnellement
pour pousser un peu plus loin votre formation). Corrigez l'erreur, puis exécutez le script. Si
vous ne parvenez pas à détecter l'erreur immédiatement, exécutez le script d'origine dans
SQL*Plus afin d'obtenir le message d'erreur correspondant. Vous pourrez ainsi identifier et
résoudre le problème.

a) Modifiez le fichier lab_07_06.sql situé dans le répertoire /home/oracle/labs.


Il comporte une erreur. Si vous parvenez à identifier l'erreur, corrigez-la.

Supprimez
cet élément.

L'instruction correcte est la suivante :

b) Supprimez les commandes prompt :


prompt There is an error in this script.
prompt Correct the error to have the index
prompt created successfully.
c) Exécutez le script permettant de créer l'index. Pour ce faire, entrez ce qui suit dans la
ligne de commande du système d'exploitation :

$ sqlplus dba1/oracle @lab_07_06.sql

d) L'erreur du script est la suivante : il ne devrait pas comporter le mot "COMPOSITE".


Supprimez ce terme et exécutez le script. La création de l'index doit s'effectuer sans erreurs.

7. Dans le tablespace INVENTORY, utilisez SQL*Plus pour créer un index combiné sur les
colonnes PRODUCT_ID et QUANTITY de la table PRODUCT_ON_HAND. Nommez l'index
POH_PROD_ID_QTY.

a) A l'invite de SQL*Plus, entrez la commande suivante :


SQL> create index inventory.poh_prod_id_qty on
inventory.product_on_hand(product_id, quantity);

Oracle Database 10g : Administration Workshop I B-39


Unauthorized reproduction or distribution prohibitedฺ Copyright© 2009, Oracle and/or its affiliatesฺ
Solutions de l'exercice 7 : Gérer les objets de schéma (suite)

8. Vous recevez une mise à jour de l'application de gestion des stocks qui nécessite l'ajout de
deux colonnes à la table PRODUCT_MASTER. Ajoutez une colonne nommée
PRIMARY_SOURCE et affectez-lui le type de données varchar2(50). Ajoutez une autre
colonne, SECONDARY_SOURCE, et affectez-lui le type de données varchar2(50). Quelle
instruction SQL est exécutée pour cette opération ?

a) Sélectionnez Administration > Schema > Database Objects > Tables.

b) Entrez INVENTORY dans le champ Schema, puis cliquez sur Go.

c) Sélectionnez la table PRODUCT_MASTER, puis cliquez sur Edit.

d) Entrez PRIMARY_SOURCE dans le champ Name, sous PRICE. Attribuez la valeur


VARCHAR2 à Data Type et la valeur 50 à Size.

e) Entrez SECONDARY_SOURCE dans le prochain champ Name disponible. Attribuez la


valeur VARCHAR2 à Data Type et la valeur 50 à Size.

f) Cliquez sur Show SQL.

g) Cliquez sur Return, puis sur Apply.

9. Vous recevez une nouvelle mise à jour de l'application. Cette demande de modification vous
indique de supprimer la table OBSOLETE_PRODUCTS et d'ajouter la colonne OBSOLETED
de type de données DATE à la table PRODUCT_MASTER. Pour ce faire, utilisez Enterprise
Manager. Quelle clause est ajoutée à la fin de l'instruction DROP TABLE pour supprimer
également les contraintes de table ?
a) Sélectionnez Administration > Schema > Database Objects > Tables.
b) Entrez INVENTORY dans le champ Schema, puis cliquez sur Go.
c) Sélectionnez la table OBSOLETE_PRODUCTS, puis cliquez sur Delete With Options.
d) Conservez les paramètres par défaut pour effectuer l'opération DROP, puis cliquez sur
Show SQL pour afficher l'option CASCADE CONSTRAINTS.

e) Cliquez sur Return, puis sur Yes.


f) Sélectionnez la table PRODUCT_MASTER, puis cliquez sur Edit.

Oracle Database 10g : Administration Workshop I B-40


Unauthorized reproduction or distribution prohibitedฺ Copyright© 2009, Oracle and/or its affiliatesฺ
Solutions de l'exercice 7 : Gérer les objets de schéma (suite)

g) Dans le premier champ Name vide, entez OBSOLETED, et affectez la valeur DATE au
paramètre Data Type.

h) Cliquez sur Apply.

10. Une autre demande de modification relative à l'application de gestion des stocks vous indique
de créer une vue nommée WAREHOUSE_VW (Aide à la navigation : Administration > Views).
Cette vue doit se trouver dans le schéma INVENTORY. Elle affiche les éléments suivants
(dans l'ordre ci-dessous) :
• Le nom du produit
• La quantité de produit en stock
• La ville où se trouve l'entrepôt

Vous devrez joindre deux tables ensemble afin de créer cette vue.

a) Sélectionnez Administration > Schema > Database Objects > Views.

b) Cliquez sur Create.

c) Entrez WAREHOUSE_VW dans le champ Name, et INVENTORY dans le champ Schema.

d) Entrez le texte suivant dans le champ Query Text :


select product_name, quantity, warehouse_city
from product_master pm, product_on_hand poh
where pm.product_id = poh.product_id

e) Cliquez sur OK.

Oracle Database 10g : Administration Workshop I B-41


Unauthorized reproduction or distribution prohibitedฺ Copyright© 2009, Oracle and/or its affiliatesฺ
Solutions de l'exercice 7 : Gérer les objets de schéma (suite)

11. Les développeurs vous signalent qu'un certain type d'interrogation sera exécuté très
fréquemment et souhaitent être sûrs que ces interrogations s'exécuteront en moins d'une
seconde. Vous devez exécuter l'interrogation et étudier son comportement. Exécutez d'abord
le script lab_07_11_a.sql pour générer des données de test relatives au volume indiqué
dans la demande. Exécutez ensuite plusieurs fois l'interrogation dans le script
lab_07_11_b.sql afin de calculer le temps moyen d'exécution. L'exécution de
l'interrogation prend plusieurs secondes à chaque fois. Créez sur la colonne CODE_FUNC un
index basé sur une fonction afin d'améliorer les performances de cette interrogation.

a) Cliquez deux fois sur l'icône XTerm située sur le bureau, puis, à l'invite de commande,
entrez la commande ci-dessous afin de remplir la table à l'aide des données de test. Son
exécution prendra entre trois et cinq minutes.
$ cd /home/oracle/labs
$ sqlplus dba1/oracle @lab_07_11_a.sql

b) Entrez le texte suivant sur la ligne de commande pour exécuter l'interrogation de test.
SQL> @lab_07_11_b.sql

c) Entrez / (barre oblique), et appuyez sur [Entrée] pour exécuter à nouveau cette
commande. Répétez plusieurs fois cette opération afin de définir une durée moyenne
d'exécution. Le temps d'exécution doit être de quelques secondes à chaque fois.

d) Sélectionnez Administration > Schema > Database Objects > Indexes.

e) Cliquez sur Create.

f) Entrez CODE_FUNC dans le champ Name.

g) Entrez INVENTORY dans le champ Schema.

h) Entrez INVENTORY.PRODUCT_MASTER dans le champ Table Name.

i) Cliquez sur Populate Columns.

j) Cliquez sur Add Column Expression.

k) Entrez upper(substr(code,5,2)) dans le champ vide Column Name


nouvellement ajouté.

l) Entrez 1 dans le champ Order, en regard de l'expression que vous venez de saisir.

m) Cliquez sur Show SQL pour vérifier que l'instruction SQL ressemble à ce qui suit :

Oracle Database 10g : Administration Workshop I B-42


Unauthorized reproduction or distribution prohibitedฺ Copyright© 2009, Oracle and/or its affiliatesฺ
Solutions de l'exercice 7 : Gérer les objets de schéma (suite)

n) Cliquez sur Return.

o) Cliquez sur OK.

p) Revenez dans la ligne de commande SQL*Plus et exécutez encore quelques fois


l'interrogation de performances. Notez que la durée d'exécution est nettement réduite.

12. Utilisez iSQL*Plus pour identifier le nom de la vue du dictionnaire de données que vous
utiliserez pour répertorier toutes les contraintes que l'utilisateur INVENTORY peut afficher.

a) Dans la session de navigateur d'Enterprise Manager, sélectionnez Database > Related


Links > iSQL*Plus.

La page iSQL*Plus Connection Role apparaît.

b) Sélectionnez Normal, puis cliquez sur Continue.

c) Dans la page Login, entrez inventory dans le champ Username et verysecure


dans le champ Password. Conservez la valeur par défaut du champ Connect Identifier,
puis cliquez sur Login.

La fenêtre Confirm apparaît et le gestionnaire des mots de passe vous propose de mémoriser
ces informations de connexion. Cliquez sur No.

d) Vous recherchez des éléments auxquels l'utilisateur INVENTORY a accès. Par


conséquent, vous devez utiliser une vue comportant le préfixe ALL_. Vous pouvez
supposer que le nom de la vue qui affiche les informations de contrainte commence par
"ALL_CON". Dans l'espace de travail iSQL*Plus, entrez :
SELECT * FROM dictionary
WHERE table_name like ‘ALL_CON%’
ORDER BY table_name;

e) Cliquez sur le bouton Execute.

Oracle Database 10g : Administration Workshop I B-43


Unauthorized reproduction or distribution prohibitedฺ Copyright© 2009, Oracle and/or its affiliatesฺ
Solutions de l'exercice 7 : Gérer les objets de schéma (suite)

f) Consultez les lignes renvoyées. L'une d'elles comporte la valeur COMMENTS "Constraints
definitions on accessible tables". Le nom de l'objet est ALL_CONSTRAINTS.

13. De combien d'index l'utilisateur INVENTORY est-il le propriétaire ? Vous recherchez les
objets de base de données qui appartiennent à l'utilisateur INVENTORY. Par conséquent, vous
savez que la vue du dictionnaire de données commence par le préfixe "USER_". Le nom de la
vue est USER_INDEXES.

a) Dans l'espace de travail iSQL*Plus, entrez :


SELECT * FROM user_indexes;

b) Cliquez sur le bouton Execute.

De combien d'index l'utilisateur INVENTORY est-il le propriétaire ?

Réponse : 4

Oracle Database 10g : Administration Workshop I B-44


Unauthorized reproduction or distribution prohibitedฺ Copyright© 2009, Oracle and/or its affiliatesฺ
Solutions de l'exercice 7 : Gérer les objets de schéma (suite)

c) Quatre lignes sont renvoyées.

d) Déconnectez-vous d'iSQL*Plus en cliquant sur Logout dans l'angle supérieur droit de la


fenêtre. Fermez ensuite la fenêtre en cliquant sur la croix X (icône de fermeture) dans
l'angle supérieur droit.

Oracle Database 10g : Administration Workshop I B-45


Unauthorized reproduction or distribution prohibitedฺ Copyright© 2009, Oracle and/or its affiliatesฺ
Solutions de l'exercice 8 : Gérer les données et la simultanéité d'accès aux données

Contexte : Le support technique vient de recevoir un appel de Susan Mavris, membre du


département des Ressources humaines (HR), qui se plaint que la base de données est "bloquée".
Après l'avoir interrogée, vous découvrez qu'elle tentait de mettre à jour l'enregistrement personnel
de John Chen pour indiquer le nouveau numéro de téléphone de celui-ci, mais que la session s'est
alors bloquée et qu'elle ne pouvait plus rien faire. Les fichiers script SQL vous sont fournis dans
le répertoire /home/oracle/labs.

1. Effectuez une mise à jour non validée de la ligne en question en exécutant le script
lab_08_01.sql. Ne vous inquiétez pas si la session semble se bloquer, puisque c'est
précisément ce que nous voulons obtenir.

a) Entrez la commande ci-dessous pour exécuter le script. Une fois l'exécution du script
terminée, une note indiquant qu'une mise à jour non validée a été effectuée s'affichera.
$ sqlplus dba1/oracle @lab_08_01.sql

2. Essayez de mettre à jour la même ligne dans une autre session, en exécutant le script
lab_08_02.sql dans une fenêtre XTerm distincte. Avant de continuer, assurez-vous
d'obtenir le message "Update is being attempted now".

a) Cliquez deux fois sur l'icône XTerm pour démarrer une autre invite de commande, puis
entrez la commande suivante pour exécuter le deuxième script.
$ sqlplus dba1/oracle @lab_08_02.sql

Oracle Database 10g : Administration Workshop I B-46


Unauthorized reproduction or distribution prohibitedฺ Copyright© 2009, Oracle and/or its affiliatesฺ
Solutions de l'exercice 8 : Gérer les données et la simultanéité d'accès aux
données (suite)

3. Cliquez sur le lien Blocking Sessions de la page Performance pour détecter la session
responsable du conflit de verrouillage.

a) Dans Enterprise Manager, cliquez sur la page Performance.

b) La première fois que vous appelez la page Performance, un accord de licence logicielle
(Software License Agreement) apparaît. Appuyez sur [A] pour l'accepter et continuer.

c) Cliquez sur Blocking Sessions dans la zone Additional Monitoring Links.

4. Quelle est la dernière instruction SQL que la session bloquante a exécutée ?

a) Sélectionnez la session NGREENBERG, puis cliquez sur View Session.

b) Cliquez sur le lien de valeur de hachage (hash value) nommé "Previous SQL".

Oracle Database 10g : Administration Workshop I B-47


Unauthorized reproduction or distribution prohibitedฺ Copyright© 2009, Oracle and/or its affiliatesฺ
Solutions de l'exercice 8 : Gérer les données et la simultanéité d'accès aux
données (suite)

c) Notez l'instruction SQL exécutée le plus récemment.

5. Résolvez le conflit en faveur de l'utilisateur s'étant plaint en fermant la session bloquante.


Quelle instruction SQL résout le conflit ?

a) Cliquez sur le bouton Back du navigateur.

b) Dans la page Session Details: NGREENBERG, cliquez sur Kill Session.

c) Conservez la valeur Kill Immediate du champ Options, puis cliquez sur Show SQL pour
afficher l'instruction qui va être exécutée pour fermer la session.

Remarque : Il est fort probable que votre session et numéro de série soient différents de ceux
ci-dessous.

d) Cliquez sur Return, puis sur Yes pour exécuter la commande KILL SESSION.

6. Revenez à la fenêtre de commande SQL*Plus et notez que la mise à jour de SMAVRIS a été
effectuée avec succès. Le message de réussite peut mettre quelques secondes à apparaître.

a) Fermez toutes les sessions SQL ouvertes en entrant la commande exit, puis fermez les
fenêtres XTerm.

Oracle Database 10g : Administration Workshop I B-48


Unauthorized reproduction or distribution prohibitedฺ Copyright© 2009, Oracle and/or its affiliatesฺ
Solutions de l'exercice 9 : Gérer les données d'annulation

Contexte : Une nouvelle version de l'application devra inclure plusieurs états basés sur des
interrogations très longues. Configurez le système afin qu'il prenne en charge ces états.

1. Utilisez la fonction de conseil Undo Advisor pour calculer la quantité de volume d'annulation
requise pour prendre en charge un état dont l'exécution dure deux jours, sur la base d'une
période d'analyse réalisée sur les sept derniers jours.

a) Dans Enterprise Manager, sélectionnez Administration > Related Links > Advisor
Central.

b) Cliquez sur Undo Management.

c) Cliquez sur Undo Advisor.

d) Dans le champ New Undo Retention, entrez 2, puis sélectionnez days dans la liste
déroulante.

e) Sélectionnez Last Seven Days dans la liste déroulante Analysis Time Period. Les
résultats de l'analyse apparaissent.
Remarque : Les valeurs que vous voyez sont probablement différentes de celles
illustrées ici.

f) Question : Quelle est la valeur recommandée par l'analyse pour "Required Tablespace
Size for New Undo Retention" ?

Réponse : 110 MB (110 Mo)

g) Cliquez sur OK.

Oracle Database 10g : Administration Workshop I B-49


Unauthorized reproduction or distribution prohibitedฺ Copyright© 2009, Oracle and/or its affiliatesฺ
Solutions de l'exercice 9 : Gérer les données d'annulation (suite)

2. Redimensionnez le tablespace d'annulation afin de prendre en charge la période de


conservation requise par les nouveaux états (ou 1 Go - la plus petite des deux valeurs). Pour
ce faire, augmentez la taille du fichier de données existant.

a) Cliquez sur Edit Undo Tablespace.

b) Question : Quels sont les deux moyens d'ajouter de l'espace à un tablespace ?

Réponse : Ajouter un fichier de données ou augmenter la taille d'un fichier de données existant.

c) Pour augmenter la taille du fichier de données existant, sélectionnez ce fichier et cliquez


sur Edit.

d) Dans le champ File Size, entrez la nouvelle valeur de l'étape 1 (f). Arrondissez-la à
100 Mo près (sans dépasser 1 Go). Assurez-vous que la case "Automatically extend
datafile when full" n'est pas sélectionnée. Cliquez ensuite sur Continue.

e) Cliquez sur Show SQL pour vérifier que l'instruction SQL ressemble à ce qui suit :

f) Cliquez sur Return, puis sur Apply pour implémenter la modification.

Oracle Database 10g : Administration Workshop I B-50


Unauthorized reproduction or distribution prohibitedฺ Copyright© 2009, Oracle and/or its affiliatesฺ
Solutions de l'exercice 10 : Implémenter la sécurité de la base de données Oracle

Contexte : Vous avez été informé d'activités suspectes dans la table HR.JOBS de votre base de
données ORCL. Tous les salaires maximums semblent fluctuer de façon étrange. Vous décider
d'activer l'audit de base de données standard et de surveiller les activités LMD (Langage de
manipulation de données) dans cette table.

Connectez-vous en tant qu'utilisateur DBA1 (avec le mot de passe oracle, connectez-vous en


tant que SYSDBA), et effectuez les tâches nécessaires via Enterprise Manager Database Control
ou via SQL*Plus. Tous les scripts nécessaires à cet exercice figurent dans le répertoire
/home/oracle/labs.

1. Utilisez Enterprise Manager pour activer l'audit de la base de données. Attribuez la valeur
XML au paramètre AUDIT_TRAIL.

a) Appelez Enterprise Manager en tant qu'utilisateur DBA1 avec le rôle SYSDBA pour la
base de données ORCL.

b) Sélectionnez Administration > Schema > Users & Privileges > Audit Settings.

c) Cliquez sur le lien NONE.

d) Dans la page Initialization Parameters, cliquez sur l'onglet SPFile.

e) Entrez audit dans le champ Name et cliquez sur Go.

f) Pour le paramètre audit_trail, sélectionnez la valeur XML.

g) Cliquez sur Show SQL.

h) Examinez l'instruction, puis cliquez sur Return.

i) Dans la page Initialization Parameters, cliquez sur Apply.

Oracle Database 10g : Administration Workshop I B-51


Unauthorized reproduction or distribution prohibitedฺ Copyright© 2009, Oracle and/or its affiliatesฺ
Solutions de l'exercice 10 : Implémenter la sécurité de la base de données Oracle
(suite)
2. Etant donné que vous avez modifié un paramètre statique, vous devez redémarrer la base de
données. Pour cela, exécutez le script lab_10_02.sh.

a) Dans une fenêtre de terminal, entrez :


cd /home/oracle/labs
./lab_10_02.sh

Passez à l'étape suivante une fois la base de données redémarrée et SQL*Plus fermé.
3. De retour dans Enterprise Manager, sélectionnez l'objet audité HR.JOBS, puis DELETE,
INSERT et UPDATE sous Selected Statements. Collectez les informations d'audit par session.
a) Cliquez sur l'onglet de la page d'accueil Database pour vérifier qu'Enterprise Manager a
eu le temps de mettre à jour le statut de la base de données et ses connexions agent. La
base de données ayant été redémarrée, vous devez vous reconnecter à Enterprise Manager
en tant qu'utilisateur DBA1.
b) Sélectionnez ensuite Administration > Schema > Users & Privileges > Audit Settings.

c) Cliquez sur l'onglet Audited Objects, puis sur le bouton Add.


d) Dans la page Add Audited Object, vérifiez que la valeur de Object Type est Table, puis
entrez HR.JOBS dans le champ Table (ou utilisez l'icône représentant une torche pour
extraire cette table).
e) Déplacez DELETE, INSERT et UPDATE dans la zone Selected Statements en cliquant
deux fois sur chacune d'elle.
f) Cliquez sur Show SQL.

Oracle Database 10g : Administration Workshop I B-52


Unauthorized reproduction or distribution prohibitedฺ Copyright© 2009, Oracle and/or its affiliatesฺ
Solutions de l'exercice 10 : Implémenter la sécurité de la base de données Oracle
(suite)

g) Examinez l'instruction, puis cliquez sur Return.

h) Cliquez sur OK pour activer cet audit.

4. Fournissez des entrées pour l'audit en exécutant le script lab_10_04.sh. Ce script crée
l'utilisateur AUDIT_USER, se connecte à SQL*Plus sous le nom de cet utilisateur et multiplie
les valeurs de la colonne MAX_SALARY par 10. L'utilisateur HR se connecte ensuite et divise
les valeurs de la colonne par 10. Enfin, l'utilisateur AUDIT_USER est supprimé.

a) Dans une fenêtre de terminal, entrez :


cd /home/oracle/labs
./lab_10_04.sh

5. Dans Enterprise Manager, vérifiez les objets audités.

a) Sélectionnez Administration > Schema > Users & Privileges > Audit Settings.

b) Cliquez sur Audited Objects dans la zone Audit Trails, située sur le côté droit de la
page.

c) Dans la page Audited Objects, examinez les informations collectées et cliquez


éventuellement sur Show SQL.

d) Cliquez sur Return.

6. Annulez les paramètres d'audit pour HR.JOBS, désactivez l'audit de la base de données, puis
redémarrez cette dernière à l'aide du script lab_10_06.sh.

a) Dans la page Audit Settings, cliquez sur l'onglet Audited Objects.

b) Entrez HR sous Schema, puis cliquez sur Search.

c) Sélectionnez les trois lignes, puis cliquez sur Remove.

Oracle Database 10g : Administration Workshop I B-53


Unauthorized reproduction or distribution prohibitedฺ Copyright© 2009, Oracle and/or its affiliatesฺ
Solutions de l'exercice 10 : Implémenter la sécurité de la base de données Oracle
(suite)

d) Dans la page Confirmation, cliquez sur Show SQL.

e) Examinez les instructions, puis cliquez sur Yes pour confirmer la suppression.

f) Dans la page Audit Settings, cliquez sur XML dans la région Configuration.

g) Dans la page Initialization Parameters, cliquez sur l'onglet SPFile.

h) Dans la page SPFile, entrez audit dans le champ Name, puis cliquez sur Go.

i) Pour le paramètre audit_trail, sélectionnez la valeur NONE.

j) Cliquez sur Show SQL.

k) Examinez l'instruction, puis cliquez sur Return.

l) Dans la page Initialization Parameters, cliquez sur Apply.

m) Etant donné que vous avez modifié un paramètre statique, vous devez redémarrer la base de
données. Pour cela, exécutez le script lab_10_06.sh. Dans une fenêtre de terminal, entrez :
cd /home/oracle/labs
./lab_10_06.sh

7. Gérez la trace d'audit : puisque vous avez complètement terminé cette tâche, supprimez tous
les fichiers d'audit du répertoire /u01/app/oracle/admin/orcl/adump.

a) Dans une fenêtre de terminal, entrez :


cd /u01/app/oracle/admin/orcl/adump
ls
rm –f *

b) Fermez la fenêtre de terminal.

Oracle Database 10g : Administration Workshop I B-54


Unauthorized reproduction or distribution prohibitedฺ Copyright© 2009, Oracle and/or its affiliatesฺ
Solutions de l'exercice 11 : Configurer l'environnement réseau Oracle

Contexte : Les utilisateurs doivent se connecter à votre base de données ORCL. Aidez-les à
autoriser les connexions à l'aide de différentes méthodes. Faites en sorte que les utilisateurs
puissent utiliser la gestion des incidents de connexion pour tirer parti d'un processus d'écoute de
secours.

1. Créez une copie de vos fichiers listener.ora et tnsnames.ora. Ceux-ci figurent dans
le répertoire $ORACLE_HOME/network/admin.
a) Dans une fenêtre XTerm, entrez cd $ORACLE_HOME/network/admin pour accéder
au répertoire /u01/app/oracle/product/10.2.0/db_1/network/admin.
b) Entrez cp listener.ora listener.old pour créer une copie du fichier
listener.ora.
c) Entrez cp tnsnames.ora tnsnames.old pour créer une copie du fichier
tnsnames.ora.
d) Entrez ls -l si vous souhaitez voir les copies et leurs privilèges dans votre répertoire.

2. Accédez à la page Net Services Administration. Commencez par cliquer sur le lien Listener
de la page d'accueil Database.
a) Appelez Enterprise Manager en tant qu'utilisateur DBA1 avec le rôle SYSDBA pour la
base de données ORCL.
b) Dans la page Database Instance – Home, cliquez sur le lien Listener dans la région General.
c) Dans la région Related Links, cliquez sur Net Services Administration.

3. Modifiez le fichier de résolution locale de noms de façon à pouvoir vous connecter à une
autre base de données. Nommez testorcl la connexion à la base de données ORCL d'un
partenaire.
a) Dans la page Net Services Administration, sélectionnez Local Naming dans la liste
déroulante Administer, puis cliquez sur Go.

La page Netservices Administration: Host Login apparaît.


b) Si vous avez précédemment enregistré le nom utilisateur oracle et le mot de passe
oracle comme informations d'identification et de connexion (credentials) à l'hôte, ces
informations apparaissent à l'écran. Sinon, entrez oracle sous Username et Password,
cochez la case Save as Preferred Credential, puis cliquez sur Login.
c) Dans la page Local Naming, cliquez sur Create pour entrer un nouveau nom de service
réseau.
d) Entrez testorcl sous Net Service Name.
e) Sélectionnez Use SID, puis entrez orcl sous SID.

Oracle Database 10g : Administration Workshop I B-55


Unauthorized reproduction or distribution prohibitedฺ Copyright© 2009, Oracle and/or its affiliatesฺ
Solutions de l'exercice 11 : Configurer l'environnement réseau Oracle (suite)

f) Sélectionnez Database Default.

g) Cliquez sur Add dans la région Addresses.


Si la question "Do you want to remember the values you filled in?" apparaît, cliquez sur No.

h) Dans la page Add Address, sélectionnez les valeurs suivantes :


- Protocol : TCP/IP
- Port : 1521
- Host : <Entrez le nom d'hôte ou l'adresse IP de l'ordinateur de votre partenaire. Cela
peut être quelque chose comme edrsr9p1.us.oracle.com ou comme
139.185.35.109>

Ordinateur de votre partenaire

Oracle Database 10g : Administration Workshop I B-56


Unauthorized reproduction or distribution prohibitedฺ Copyright© 2009, Oracle and/or its affiliatesฺ
Solutions de l'exercice 11 : Configurer l'environnement réseau Oracle (suite)
i) Cliquez sur OK afin de revenir à la page de propriétés Create Net Service Name.
j) Cliquez sur OK.

Le message de création suivant apparaît : "Net Service "testorcl" created successfully".

4. Dans Enterprise Manager, testez l'accès à la base de données ORCL de votre partenaire en
vous connectant en tant qu'utilisateur system avec le mot de passe oracle à l'aide de la
résolution locale de noms testorcl.
a) Sélectionnez testorcl dans la page Local Naming, puis cliquez sur Test Connection.

La page "Test Connection To Net Service Name: testorcl" apparaît.


b) Entrez system sous Username et oracle sous Password, puis cliquez sur Test.

La page Processing affiche des informations de statut. Elle est suivie d'un message de
réussite. Si vous recevez des erreurs ou des avertissements, résolvez-les.

5. Testez les modifications apportées à la configuration réseau en utilisant SQL*Plus ou


iSQL*Plus. Utilisez à nouveau system/oracle@testorcl. Pour voir les informations
de votre partenaire, sélectionnez les colonnes instance_name et host_name dans la
table v$instance.
a) Dans une fenêtre XTerm, entrez :
sqlplus system/oracle@testorcl

La fenêtre Oracle SQL*Plus apparaît. Si vous recevez des erreurs ou des avertissements,
résolvez-les.
b) A l'invite SQL>, entrez la commande suivante :
select instance_name, host_name from v$instance;

Oracle Database 10g : Administration Workshop I B-57


Unauthorized reproduction or distribution prohibitedฺ Copyright© 2009, Oracle and/or its affiliatesฺ
Solutions de l'exercice 11 : Configurer l'environnement réseau Oracle (suite)

Vous devez voir le nom d'hôte de votre partenaire.

c) Entrez exit pour quitter la session SQL*Plus.

6. Créez un processus d'écoute LISTENER2 pour prendre en charge la gestion des incidents de
connexion. Pour ce processus d'écoute, utilisez le port 1561. Déconnectez-vous d'abord
d'Enterprise Manager, puis exécutez le script lab_11_06.sh pour configurer le fichier
NetProperties.

a) Déconnectez-vous d'Enterprise Manager.

b) Exécutez le script lab_11_06.sh à l'invite de commande du système d'exploitation.

c) Connectez-vous à Enterprise Manager en tant qu'utilisateur DBA1 avec le rôle SYSDBA


pour la base de données ORCL.

d) Dans la page Database Instance – Home, cliquez sur le lien Listener dans la région
General.

e) Dans la région Related Links, cliquez sur Net Services Administration.

f) Dans la page Net Services Administration, sélectionnez Listeners dans la liste déroulante
Administer, puis cliquez sur Go. Entrez le nom utilisateur oracle et le mot de passe
oracle comme informations d'identification et de connexion (credentials) à l'hôte, puis
cliquez sur Login.

Oracle Database 10g : Administration Workshop I B-58


Unauthorized reproduction or distribution prohibitedฺ Copyright© 2009, Oracle and/or its affiliatesฺ
Solutions de l'exercice 11 : Configurer l'environnement réseau Oracle (suite)
g) Dans la page Listeners, qui donne un aperçu des processus d'écoute (listeners) existants,
cliquez sur le bouton Create.

La page Create Listener apparaît.


h) Entrez LISTENER2 dans le champ Listener Name, puis cliquez sur Add pour ajouter une
adresse de processus d'écoute.
i) Entrez ou confirmez les valeurs suivantes :
- Protocol : TCP/IP
- Port : 1561
- Host : <Nom d'hôte de votre ordinateur ; par exemple,
edrsr30p1.us.oracle.com>

j) Cliquez sur OK.

k) Cliquez sur l'onglet Static Database Registration, puis sur le bouton Add pour
connecter le nouveau processus d'écoute à la base de données ORCL.
l) Entrez les valeurs suivantes :
- Service Name : orcl
- Oracle Home Directory : /u01/app/oracle/product/10.2.0/db_1
- Oracle System Identifier (SID) : orcl

m) Cliquez sur OK pour ajouter le service de base de données.


n) Cliquez sur OK afin de créer le processus d'écoute LISTENER2.

Oracle Database 10g : Administration Workshop I B-59


Unauthorized reproduction or distribution prohibitedฺ Copyright© 2009, Oracle and/or its affiliatesฺ
Solutions de l'exercice 11 : Configurer l'environnement réseau Oracle (suite)

7. Démarrez le processus d'écoute LISTENER2.

a) Confirmez que le processus d'écoute LISTENER2 et les actions Start/Stop sont


sélectionnés, puis cliquez sur Go.

b) Cliquez sur OK dans la page Start/Stop.

Un message de confirmation comportant un lien View Details apparaît.

c) Cliquez éventuellement sur ce lien, examinez les informations de statut du processus


d'écoute et utilisez le bouton Back (page précédente) de votre navigateur pour revenir à la
page précédente.

Oracle Database 10g : Administration Workshop I B-60


Unauthorized reproduction or distribution prohibitedฺ Copyright© 2009, Oracle and/or its affiliatesฺ
Solutions de l'exercice 12 : Maintenance proactive

Contexte : Vous souhaitez surveiller la base de données ORCL de manière proactive, de façon à
pouvoir résoudre les problèmes courants avant qu'ils n'affectent les utilisateurs. Cet exercice
invente des problèmes afin que vous puissiez vous familiariser avec les outils disponibles.
Exécutez d'abord des scripts pour configurer votre environnement ADDM (Automatic Database
Diagnostic Management).

1. Créez un tablespace géré localement nommé TBSADDM. La taille de son fichier de données
addm1.dbf est de 50 Mo. Vérifiez que le tablespace TBSADDM n'utilise pas la gestion
automatique de l'espace dans les segments. Exécutez le script lab_12_01.sh pour réaliser
ces tâches.

a) Dans une fenêtre de terminal, entrez :


cd /home/oracle/labs
./lab_12_01.sh

2. Créez un utilisateur ADDM, identifié par ADDM. Affectez le tablespace TBSADDM comme
tablespace par défaut. Affectez le tablespace TEMP comme tablespace temporaire. Octroyez
les rôles suivants à l'utilisateur ADDM : CONNECT, RESOURCE et DBA. Exécutez le script
lab_12_02.sh pour réaliser ces tâches.

a) Dans une fenêtre de terminal, entrez :


./lab_12_02.sh

3. Utilisez le package DBMS_ADVISOR pour configurer une durée d'activité de base de données
de 30 minutes. En tant qu'un utilisateur ADDM, supprimez et créez la table ADDM, et collectez
des statistiques pour cette table. Créez un cliché (snapshot) dans le référentiel AWR
(Automatic Workload Repository). Exécutez le script lab_12_03.sh pour réaliser ces
tâches.

a) Dans une fenêtre de terminal, entrez :


./lab_12_03.sh

4. Créez l'activité à analyser. Exécutez le script lab_12_04.sh pour réaliser ces tâches.

a) Dans une fenêtre de terminal, entrez les éléments suivants. Après l'exécution de huit
procédures PL/SQL, vous pouvez être amené à appuyer sur la touche [Entrée] pour voir à
nouveau l'invite de commande.
./lab_12_04.sh

Oracle Database 10g : Administration Workshop I B-61


Unauthorized reproduction or distribution prohibitedฺ Copyright© 2009, Oracle and/or its affiliatesฺ
Solutions de l'exercice 12 : Maintenance proactive (suite)

5. Dans Enterprise Manager, consultez la page Performance en tant qu'utilisateur SYSDBA. Affichez
les données de performance en temps réel avec un cycle de régénération de 15 secondes. Au bout
de quelques instants, vous devez voir un pic dans le graphique "Average Active Sessions". Il s'agit
de l'activité à analyser. En examinant le graphique, vous pouvez déjà déterminer que cette instance
souffre de problèmes de simultanéité d'accès aux données.

Remarque : Selon le moment où vous exécutez la charge globale, vous pouvez noter des
différences entre votre graphique et celui fourni comme solution possible.

Une fois le pic terminé, exécutez le script lab_12_05.sh. Ce script force la création d'un
cliché et collecte des statistiques sur la table ADDM.

a) Appelez Enterprise Manager en tant qu'utilisateur DBA1 avec le rôle SYSDBA pour la
base de données ORCL.

b) Cliquez sur l'onglet Performance.

S'il s'agit de votre premier accès à la page Performance, vous devez accepter l'accord de
licence Adobe. Pour cela, suivez les instructions de la fenêtre en incrustation.

Oracle Database 10g : Administration Workshop I B-62


Unauthorized reproduction or distribution prohibitedฺ Copyright© 2009, Oracle and/or its affiliatesฺ
Solutions de l'exercice 12 : Maintenance proactive (suite)

c) Une fois le pic terminé, dans une fenêtre de terminal, entrez :


./lab_12_05.sh

Remarque : L'icône située en regard du curseur dans cette capture d'écran est un raccourci
vers la page "Automatic Database Diagnostic Monitor (ADDM)".

Oracle Database 10g : Administration Workshop I B-63


Unauthorized reproduction or distribution prohibitedฺ Copyright© 2009, Oracle and/or its affiliatesฺ
Solutions de l'exercice 12 : Maintenance proactive (suite)

6. Consultez les résultats Performance Analysis dans l'ordre de leur impact. Vous pouvez
accéder à ces informations de différentes manières.

Dans la section Performance Analysis, vous voyez que le premier résultat (dans la catégorie SQL
Tuning Recommendations) a un impact de 100 % sur le système. Votre première réaction est
donc d'examiner ce résultat plus en détail. Toutefois, l'examen de cette instruction SQL ne vous
aide pas à comprendre le problème de simultanéité d'accès aux données de la base.

Recherchez le résultat suivant sous Schema Recommendations : Read and write contention
of database blocks was consuming significant database time. Ici, il est recommandé
d'utiliser la fonction de gestion automatique de l'espace dans les segments pour la table ADDM.

a) Accédez à la page d'accueil Database, puis cliquez sur Advisor Central au bas de la page.

b) La tâche ADDM doit déjà être affichée. Sinon, recherchez-la et affichez-la dans cette
page.

c) Sélectionnez la tâche, puis cliquez sur le bouton View Result (vous pouvez également
cliquer sur le nom de la tâche).

Oracle Database 10g : Administration Workshop I B-64


Unauthorized reproduction or distribution prohibitedฺ Copyright© 2009, Oracle and/or its affiliatesฺ
Solutions de l'exercice 12 : Maintenance proactive (suite)

Dans la section Performance Analysis, vous voyez que le premier résultat a un impact de
100 % sur le système. Votre première réaction est donc d'examiner ce résultat plus en détail.

d) Cliquez sur le lien SQL statements consuming significant database time were found.

Oracle Database 10g : Administration Workshop I B-65


Unauthorized reproduction or distribution prohibitedฺ Copyright© 2009, Oracle and/or its affiliatesฺ
Solutions de l'exercice 12 : Maintenance proactive (suite)
e) Examinez les recommandations de la page Performance Finding Details. Toutefois,
l'examen de cette instruction SQL ne vous aide pas à comprendre le problème de
simultanéité d'accès aux données de la base. Cliquez sur le bouton Back (page
précédente) de votre navigateur Web.
f) Dans la page "Automatic Database Diagnostic Monitor (ADDM)", cliquez sur le lien
Read and write contention of database blocks was consuming significant database
time. Ce résultat apparaît sous le type Schema sous l'en-tête Recommendations.

g) Il est recommandé d'utiliser la fonction de gestion automatique de l'espace dans les


segments pour la table ADDM.

7. Pour implémenter cette recommandation, vous devez recréer l'objet. Créez un tablespace géré
localement nommé TBSADDM2 et un fichier de données de 50 Mo nommé addm2_1.dbf.
Vérifiez que le tablespace TBSADDM2 utilise la fonction de gestion automatique de l'espace
dans les segments. Exécutez ensuite le script lab_12_07.sh pour supprimer la table ADDM,
la recréer dans le nouveau tablespace, collecter des statistiques et prendre un nouveau cliché.
a) Dans Enterprise Manager, sélectionnez Administration > Database Administration >
Storage > Tablespaces.
b) Cliquez sur Create.
c) Entrez le nom de tablespace TBSADDM2, puis vérifiez que la valeur de Extent
Management est Locally Managed, la valeur de Type est Permanent, la valeur de
Status est Read Write, et que l'option Use Bigfile tablespace n'est pas sélectionnée.

Oracle Database 10g : Administration Workshop I B-66


Unauthorized reproduction or distribution prohibitedฺ Copyright© 2009, Oracle and/or its affiliatesฺ
Solutions de l'exercice 12 : Maintenance proactive (suite)

d) Cliquez sur Add dans la région Datafiles.

e) Dans la page Add Datafile, entrez addm2_1.dbf dans le champ File Name et 50 MB
dans le champ File Size.

f) Cliquez sur Continue.

g) Cliquez sur l'onglet Storage, puis vérifiez que la valeur de Extent Allocation est
Automatic, que la valeur de Segment Space Management est Automatic et que l'option
Logging est activée.

h) Cliquez sur l'onglet General.

i) Cliquez sur Show SQL pour voir l'instruction SQL qui sera exécutée, puis cliquez sur
Return.

j) Cliquez sur OK ; un message indiquant la réussite de la mise à jour apparaît.

k) Dans une fenêtre de terminal, entrez :


./lab_12_07.sh

8. Exécutez à nouveau la charge globale. (Le script lab_12_08.sh est identique au script
lab_12_04.sh.)

a) Dans une fenêtre de terminal, entrez les éléments suivants. Après l'exécution de huit
procédures PL/SQL, vous pouvez être amené à appuyer sur la touche [Entrée] pour voir à
nouveau l'invite de commande.
./lab_12_08.sh

9. Dans Enterprise Manager, consultez la page Performance en tant qu'utilisateur SYSDBA.


Affichez les données de performance en temps réel avec un cycle de régénération de
15 secondes. Au bout de quelques instants, vous devez voir un pic dans le graphique
"Average Active Sessions".

Remarque : Selon le moment où vous exécutez la charge globale, vous pouvez noter des
différences entre votre graphique et celui fourni comme solution possible.

Une fois le pic terminé, exécutez le script lab_12_09.sh. (Ce dernier est identique au
script lab_12_05.sh.) Ce script force la création d'un cliché et collecte des statistiques sur
la table ADDM.

a) Appelez Enterprise Manager en tant qu'utilisateur DBA1 avec le rôle SYSDBA pour la
base de données ORCL.

b) Cliquez sur l'onglet Performance.

Oracle Database 10g : Administration Workshop I B-67


Unauthorized reproduction or distribution prohibitedฺ Copyright© 2009, Oracle and/or its affiliatesฺ
Solutions de l'exercice 12 : Maintenance proactive (suite)

c) Une fois le pic terminé, entrez les éléments suivants dans une fenêtre de terminal :
./lab_12_09.sh

10. Consultez l'analyse des performances (Performance Analysis) dans la page d'accueil
Database.

a) Accédez à la page d'accueil Database, puis cliquez sur Advisor Central au bas de la page.

b) Cliquez sur le nom de la tâche ADDM de plus haut niveau.

Vous pouvez constater l'absence de recommandations liées aux schémas. En déplaçant la


table ADDM vers le tablespace géré localement TBSADDM2, pour lequel l'option
AUTOEXTEND est activée, vous avez apparemment résolu la cause de ce problème.

Oracle Database 10g : Administration Workshop I B-68


Unauthorized reproduction or distribution prohibitedฺ Copyright© 2009, Oracle and/or its affiliatesฺ
Solutions de l'exercice 12 : Maintenance proactive (suite)

11. Afin de ne pas affecter d'autres exercices, exécutez le script lab_12_11.sh pour nettoyer
votre environnement.

a) Dans une fenêtre de terminal, entrez :


./lab_12_11.sh

Oracle Database 10g : Administration Workshop I B-69


Unauthorized reproduction or distribution prohibitedฺ Copyright© 2009, Oracle and/or its affiliatesฺ
Solutions de l'exercice 13 : Gestion des performances

Contexte : Les utilisateurs se plaignent d'une dégradation des performances pour les opérations
impliquant les applications de gestion des ressources humaines et de saisie des commandes.
Après avoir interrogé les autres DBA, vous vous rendez compte que des opérations de
maintenance ont eu lieu récemment sur certaines des tables appartenant au schéma HR. Apportez
les modifications appropriées afin de résoudre les problèmes de performances. Des fichiers de
script SQL sont fournis dans le répertoire /home/oracle/labs. Les autres répertoires sont
nommés de façon individuelle.

1. Connectez-vous à SQL*Plus en tant qu'utilisateur DBA1 et effectuez des opérations de


maintenance sur des tables du schéma HR en exécutant le script lab_13_01.sql.

a) Connectez-vous à la base de données en tant qu'utilisateur DBA1 et effectuez des


opérations de maintenance sur la table employees en exécutant le script
lab_13_01.sql.
$ cd labs
$ sqlplus dba1/oracle
SQL> @lab_13_01.sql

2. Vous recevez des appels d'utilisateurs de l'application HR indiquant que l'exécution d'une
interrogation particulière est plus longue que d'habitude. L'interrogation figure dans le script
lab_13_02.sql. Exécutez ce dernier.

a) Entrez les éléments suivants dans SQL*Plus :


SQL> @lab_13_02.sql

3. A l'aide d'Enterprise Manager, localisez la session HR dans laquelle l'instruction ci-dessus


vient d'être exécutée et affichez le plan d'exécution correspondant.

a) Dans Enterprise Manager, cliquez sur Search Sessions dans l'onglet Performance.

Oracle Database 10g : Administration Workshop I B-70


Unauthorized reproduction or distribution prohibitedฺ Copyright© 2009, Oracle and/or its affiliatesฺ
Solutions de l'exercice 13 : Gestion des performances (suite)

b) Remplacez le filtre (Filter) des critères de recherche par "DB User", entrez HR dans le
champ situé à droite, puis cliquez sur Go.

c) Cliquez sur le numéro de la colonne SID dans la liste Results.

d) Vous voyez maintenant la page Session Details correspondant à cette session. Cliquez sur
le lien de valeur de hachage (hash value) à droite du libellé Previous SQL.

Oracle Database 10g : Administration Workshop I B-71


Unauthorized reproduction or distribution prohibitedฺ Copyright© 2009, Oracle and/or its affiliatesฺ
Solutions de l'exercice 13 : Gestion des performances (suite)

e) La page SQL Details correspondant à la dernière instruction SQL exécutée par cette
session (celle en question) apparaît. Cliquez sur l'onglet Plan pour voir le plan
d'exécution correspondant à l'interrogation.

f) Dans la colonne Operation, vous voyez que cette interrogation effectue un balayage
complet de table (TABLE ACCESS FULL). Puisque vous savez que la condition de
l'interrogation est une comparaison d'égalité sur la clé primaire (EMPLOYEE_ID), vous
décidez d'examiner le statut de l'index de clé primaire.

4. A l'aide d'Enterprise Manager, déterminez le statut de l'index de la table EMPLOYEE sur


EMPLOYEE_ID. Vérifiez s'il s'agit de VALID.

a) Sélectionnez Administration > Schema > Database Objects > Indexes.

b) Sélectionnez Table Name comme valeur Search By.

c) Entrez HR dans le champ Schema Name.

d) Entrez employees dans le champ Object Name.

e) Cliquez sur Go ; la liste de six index apparaît.

f) Cliquez sur l'index nommé EMP_EMP_ID_PK.

g) Cliquez sur le lien d'index et notez que le statut de l'index est UNUSABLE.

Oracle Database 10g : Administration Workshop I B-72


Unauthorized reproduction or distribution prohibitedฺ Copyright© 2009, Oracle and/or its affiliatesฺ
Solutions de l'exercice 13 : Gestion des performances (suite)

5. Maintenant que vous avez vu un index dont le statut n'est pas VALID, vous décidez de
vérifier tous les index. A l'aide de SQL*Plus, connectez-vous en tant qu'utilisateur HR et
recherchez les index de schéma HR dont le statut (STATUS) ne présente pas la valeur VALID.
Pour cela, vous pouvez interroger une vue du dictionnaire de données avec une condition sur
la colonne STATUS.

a) Accédez à la session SQL*Plus où vous êtes encore connecté en tant qu'utilisateur HR,
puis exécutez cette interrogation :
SQL> select index_name, table_name, status
from user_indexes where status <> ‘VALID’;

b) Notez que le résultat répertorie six index, tous sur la table EMPLOYEES.

6. A l'aide d'Enterprise Manager, réorganisez tous les index du schéma HR qui sont marqués
comme UNUSABLE.

a) Dans Enterprise Manager, dans la page affichant l'index EMP_EMP_ID_PK, sélectionnez


Reorganize dans la liste Actions, puis cliquez sur Go.

b) Cliquez sur Add pour ajouter chacun des cinq autres index à l'opération de réorganisation.

c) Dans l'écran Add, choisissez Indexes pour la liste déroulante Type, puis entrez hr dans le
champ Schema.

d) Cliquez sur Search.

Oracle Database 10g : Administration Workshop I B-73


Unauthorized reproduction or distribution prohibitedฺ Copyright© 2009, Oracle and/or its affiliatesฺ
Solutions de l'exercice 13 : Gestion des performances (suite)

e) Sélectionnez les cinq autres index dont le nom commence par "EMP_".

f) Cliquez sur OK.

g) Cliquez sur Next.

h) Conservez tous les paramètres par défaut pour Options, puis cliquez sur Next.

i) Notez qu'aucun problème n'est signalé dans le rapport d'impact (Impact Report), puis
cliquez sur Next.

j) Dans la page Schedule, entrez oracle dans les champs Username et Password, sous
Host Credentials.

k) Cliquez sur Next.

l) Dans la page Review, cliquez sur Submit Job.

Oracle Database 10g : Administration Workshop I B-74


Unauthorized reproduction or distribution prohibitedฺ Copyright© 2009, Oracle and/or its affiliatesฺ
Solutions de l'exercice 13 : Gestion des performances (suite)

m) Après l'apparition de la page de confirmation, cliquez sur le nom du travail pour voir son
statut. Cliquez sur le bouton Reload (actualiser) de votre navigateur jusqu'à ce que le
travail apparaisse comme ayant réussi.

7. Revenez à la session SQL*Plus dans laquelle est connecté l'utilisateur HR, puis exécutez le
script lab_13_07.sql afin d'exécuter le même type d'interrogation. Répétez ensuite la
procédure pour voir si le plan de la dernière instruction SQL exécutée par cette session a
changé.

a) Entrez la commande suivante à l'invite SQL*Plus :


SQL> @lab_13_07.sql

b) Répétez les opérations répertoriées à l'étape 3. Notez que le plan utilise désormais l'index.

c) Quittez la session SQL*Plus.

8. Quelle est la différence entre les plans d'exécution et pourquoi ?

Réponse : L'exécution de l'instruction utilise un balayage d'index unique au lieu d'un balayage
complet de table (full table scan), car l'index est utilisable après la réorganisation des index.

Oracle Database 10g : Administration Workshop I B-75


Unauthorized reproduction or distribution prohibitedฺ Copyright© 2009, Oracle and/or its affiliatesฺ
Solutions de l'exercice 13 : Gestion des performances (suite)

9. Simulez une charge globale sur votre instance en exécutant le script lab_13_09.sql en
tant qu'utilisateur DBA1. Notez la valeur du SID pour la tâche 10.

Réponse possible : 147 (Votre réponse sera très probablement différente.)

L'exécution de ce script prend environ 20 minutes. Exécutez-le donc dans une fenêtre de
terminal distincte et poursuivez cet exercice pendant son exécution.
Remarque : Etant donné que ce script génère une charge relativement élevée en termes de
CPU et d'E/S disque, vous constaterez que le temps de réponse de Database Control est plus
élevé.
$ sqlplus dba1/oracle
SQL> @lab_13_09.sql

a) Dans Enterprise Manager, accédez à la page Performance et examinez les performances


du système.

b) Vous devrez sans doute attendre une minute ou deux pour voir les effets du script de
génération de charge apparaître sur les graphiques.

Attendez de voir le début d'un


pic dans le graphique Average
Active Sessions avant de
continuer.

Question 1 : Dans le graphique Average Active Sessions, quelles sont les deux catégories
principales attendues par les sessions actives ?

Réponse : System I/O et CPU Used

Oracle Database 10g : Administration Workshop I B-76


Unauthorized reproduction or distribution prohibitedฺ Copyright© 2009, Oracle and/or its affiliatesฺ
Solutions de l'exercice 13 : Gestion des performances (suite)

Question 2 : Dans la catégorie d'attentes Configuration, quel est l'un des contributeurs au
temps d'attente ? Cliquez sur Configuration pour voir le graphique.

Réponse : L'un des suivants :

Question 3 : Cliquez sur Back, puis sur Physical Writes dans le graphique Instance Disk I/O.
Déterminez le processus effectuant le plus d'écritures sur le disque.

Réponse : DBW0

c) Cliquez sur Back.

d) Cliquez sur Top Activity dans la région Additional Monitoring Links.

e) Cliquez sur le SQL ID de la première instruction SQL répertoriée dans la région Top SQL.

f) Examinez la première instruction SQL.

Question 4 : Quelle instruction SQL entraîne le plus d'attentes ?

Réponse : delete from sh.sales_copy

10. Fermez la session générant la charge. Utilisez l'ID de session enregistré à l'étape 9. Il doit être
répertorié au sommet de la liste sur le côté droit de la page, sous la région Top Sessions.

a) Cliquez sur le numéro de SID correspondant à l'ID de session enregistré précédemment. Il


figure sous l'en-tête Detail for Selected 5 Minute Interval.

Oracle Database 10g : Administration Workshop I B-77


Unauthorized reproduction or distribution prohibitedฺ Copyright© 2009, Oracle and/or its affiliatesฺ
Solutions de l'exercice 13 : Gestion des performances (suite)

b) Dans la page Session Details, cliquez sur Kill Session, puis sur Yes pour confirmer.
Remarque : Si vous restez suffisamment longtemps dans la page Session Details pour que
quelques régénérations automatiques soient réalisées, vous pouvez voir l'avertissement
suivant, ce qui signifie que vous tentez de régénérer des informations sur une session déjà
fermée. Vous pouvez l'ignorer.

c) Cliquez sur Top Activity dans l'historique de navigation en haut de la page. Notez que les
activités de session dans la base de données ont considérablement diminué.

Oracle Database 10g : Administration Workshop I B-78


Unauthorized reproduction or distribution prohibitedฺ Copyright© 2009, Oracle and/or its affiliatesฺ
Solutions de l'exercice 14 : Concepts relatifs à la sauvegarde et à la récupération

Contexte : La base de données ORCL est prête à passer de la phase de test ou de développement à
la phase de production. Configurez la base de données afin de limiter les risques de défaillance ou
de perte de données.

1. Vérifiez que vous disposez de deux fichiers de contrôle afin de garantir une redondance.
a) Appelez Enterprise Manager en tant qu'utilisateur DBA1 avec le rôle SYSDBA pour la
base de données ORCL.
b) Sélectionnez Administration > Database Administration > Storage > Control Files.

c) Question 1 : Comment pourriez-vous ajouter un autre fichier de contrôle si nécessaire ?


Réponse : L'ajout d'un fichier de contrôle est une opération manuelle. Pour la réaliser,
vous devez :
- Arrêter la base de données
- Utiliser le système d'exploitation pour copier un fichier de contrôle existant vers
l'emplacement souhaité
- Démarrer la base de données à l'aide d'Enterprise Manager. Contrairement à un
démarrage normal, vous utilisez Advanced Options pour sélectionner un mode de
démarrage différent. Sélectionnez "Start the instance" pour conserver l'instance dans
l'état NOMOUNT.
- Editer le paramètre d'initialisation CONTROL_FILES afin de pointer vers le nouveau
fichier de contrôle
- Continuer l'opération de base de données STARTUP jusqu'à ce que la base présente l'état
OPEN

2. Déterminez combien de membres compte chaque groupe de fichiers de journalisation. Prenez


soin de conserver au moins deux membres dans chaque groupe. Dans quel(s) répertoire(s) les
fichiers de journalisation (fichiers redo log) sont-ils stockés ?

Oracle Database 10g : Administration Workshop I B-79


Unauthorized reproduction or distribution prohibitedฺ Copyright© 2009, Oracle and/or its affiliatesฺ
Solutions de l'exercice 14 : Concepts relatifs à la sauvegarde et à la récupération
(suite)
a) Sélectionnez Administration > Database Administration > Storage > Redo Log Groups,
puis notez combien de membres figurent dans la colonne "# of Members". Il doit y en
avoir deux par groupe.

b) Sélectionnez le premier groupe, puis cliquez sur Edit pour voir le nom de fichier des
membres. Notez qu'un membre figure dans des répertoires sous le répertoire oradata,
et que l'autre figure dans la zone de récupération rapide. Cliquez sur le bouton Back (page
précédente) du navigateur.

Remarque : Dans une base de données de production, vous souhaitez vous assurer que les
deux membres résident sur des disques durs distincts, de préférence sur des contrôleurs de
disque distincts, afin de limiter le risque qu'une défaillance matérielle unique ne détruise un
groupe entier.
3. Vous notez que, pour chaque groupe de fichiers de journalisation, la colonne Archived
indique No. Cela signifie que la base de données ne conserve pas de copies des fichiers de
journalisation pour la récupération de la base de données ; en cas de défaillance, vous perdrez
ainsi toutes les données depuis la dernière sauvegarde. Placez la base de données en mode
ARCHIVELOG afin que les fichiers de journalisation soient archivés.

a) Créez le répertoire de destination /u01/app/oracle/archive pour les fichiers de


journalisation.
- Dans une fenêtre XTerm, entrez cd /u01/app/oracle.
- Entrez ensuite mkdir archive.
- Vous pouvez éventuellement entrer ls –l pour afficher le nouveau répertoire et
ses droits d'accès au niveau du système d'exploitation.

Oracle Database 10g : Administration Workshop I B-80


Unauthorized reproduction or distribution prohibitedฺ Copyright© 2009, Oracle and/or its affiliatesฺ
Solutions de l'exercice 14 : Concepts de sauvegarde et de récupération (suite)
b) Dans Enterprise Manager, sélectionnez Maintenance > High Availability >
Backup/Recovery Settings > Recovery Settings.
c) Dans la région Media Recovery, cochez la case ARCHIVELOG Mode.
d) Vérifiez que le champ Log Archive Filename Format contient %t, %s et %r.

4. Configurez des destinations redondantes pour les fichiers de journalisation archivés, l'une
étant la zone de récupération rapide et l'autre le répertoire /u01/app/oracle/archive.

Notez que la base de données est préconfigurée pour enregistrer les fichiers de journalisation
archivés dans la zone de récupération rapide par défaut (Archive Log Destination 10).
Ajoutez une destination supplémentaire, de façon à disposer de copies redondantes des
fichiers de journalisation.

a) Dans la destination Archive Log Destination numéro 1, entrez


/u01/app/oracle/archive/. Le chemin du répertoire doit se terminer par une
barre oblique. Ne renseignez pas le champ Quota.

Remarque : Vous devez créer le répertoire s'il n'existe pas déjà. Vous avez déjà effectué cette
opération à l'étape (3).

Oracle Database 10g : Administration Workshop I B-81


Unauthorized reproduction or distribution prohibitedฺ Copyright© 2009, Oracle and/or its affiliatesฺ
Solutions de l'exercice 14 : Concepts de sauvegarde et de récupération (suite)

b) Cliquez éventuellement sur Show SQL, examinez les instructions, puis cliquez sur
Return.

c) Cliquez sur Apply. Cliquez sur Yes lorsque vous êtes invité à redémarrer la base de
données.

d) Entrez les informations d'identification et de connexion pour redémarrer la base de


données, puis cliquez sur OK.

e) Lorsque vous êtes invité à confirmer, cliquez de nouveau sur Yes.

La base de données étant maintenant en mode ARCHIVELOG, elle archivera en permanence


une copie de chaque fichier de journalisation en ligne avant de le réutiliser pour données de
journalisation supplémentaires.

Remarque : N'oubliez pas que cette opération consomme de l'espace sur le disque et que
vous devez sauvegarder régulièrement les anciens fichiers de journalisation archivés sur un
autre périphérique de stockage.

Oracle Database 10g : Administration Workshop I B-82


Unauthorized reproduction or distribution prohibitedฺ Copyright© 2009, Oracle and/or its affiliatesฺ
Solutions de l'exercice 15 : Procéder à des sauvegardes de la base de données

Contexte : La base de données est prête à passer de la phase de développement et de test à la


phase de production. Assurez-vous qu'elle est configurée de façon à permettre la récupération
sans perte de données.

1. Quelle est la différence entre un jeu de sauvegarde et une copie d'image ?

Réponse : Un jeu de sauvegarde contient les fichiers de données et les fichiers de


journalisation archivés, dans un format propriétaire Oracle. Les fichiers doivent être extraits
pour être utilisés. Les copies d'images sont l'équivalent des copies de fichier du système
d'exploitation et peuvent être utilisées pour restaurer des opérations immédiatement.

2. Quelle est la destination des sauvegardes sur disque réalisées ?

a) Dans Enterprise Manager, sélectionnez Maintenance > High Availability >


Backup/Recovery Settings > Backup Settings. Notez que le message sous Disk Backup
Location indique que la zone de récupération rapide (Flash Recovery Area) est
l'emplacement de sauvegarde sur disque actuel.

3. Testez la réalisation d'une sauvegarde sur disque, sous la forme d'un jeu de sauvegarde, avec
oracle sous Host Credentials.

a) Sélectionnez Backup Set comme type de sauvegarde sur disque (Disk Backup Type).

b) Accédez au bas de la page, et entrez oracle sous Host Credentials Username et sous
Password pour le serveur.

c) Cliquez sur Test Disk Backup.

d) Une fois le test terminé, cliquez sur OK.

Oracle Database 10g : Administration Workshop I B-83


Unauthorized reproduction or distribution prohibitedฺ Copyright© 2009, Oracle and/or its affiliatesฺ
Solutions de l'exercice 15 : Procéder à des sauvegardes de la base de données
(suite)

4. Sauvegardez l'intégralité de la base de données, sans les fichiers de journalisation archivés,


pendant que la base est ouverte pour les utilisateurs. Cette sauvegarde doit être la base d'une
stratégie de sauvegarde incrémentielle.

Question : Quelle condition préalable doit être satisfaite pour la création d'une sauvegarde
valide d'une base de données sans l'arrêter ?

Réponse : La base de données doit être en mode ARCHIVELOG. Les sauvegardes effectuées
base ouverte sans le mode ARCHIVELOG ne peuvent pas être utilisées pour la récupération.

a) Sélectionnez Maintenance > High Availability > Backup/Recovery > Schedule Backup.

b) Sélectionnez Whole Database comme objet à sauvegarder.

c) Entrez oracle sous Host Credentials Username et sous Password pour le serveur.

d) Cliquez sur Schedule Customized Backup.

e) Sélectionnez Full Backup sous Backup Type, puis cochez la case Use as the base of an
incremental backup strategy.

f) Sélectionnez Online Backup sous Backup Mode.

g) Dans la région Advanced, désélectionnez la case Also backup all archived logs on disk,
puis cliquez sur Next pour continuer.

Oracle Database 10g : Administration Workshop I B-84


Unauthorized reproduction or distribution prohibitedฺ Copyright© 2009, Oracle and/or its affiliatesฺ
Solutions de l'exercice 15 : Procéder à des sauvegardes de la base de données
(suite)

h) Sélectionnez Disk comme emplacement de sauvegarde (notez que l'emplacement Disk


Backup Location de l'étape [2] est conservé). Cliquez sur Next pour continuer.

i) Acceptez toutes les valeurs par défaut dans la page Schedule, puis cliquez sur Next pour
continuer.

j) Cliquez sur Submit Job pour procéder à la sauvegarde base ouverte.

Oracle Database 10g : Administration Workshop I B-85


Unauthorized reproduction or distribution prohibitedฺ Copyright© 2009, Oracle and/or its affiliatesฺ
Solutions de l'exercice 15 : Procéder à des sauvegardes de la base de données
(suite)

k) Cliquez sur View Job afin de surveiller le statut du travail de sauvegarde. L'exécution de
cette sauvegarde prend environ 5 minutes.

5. Planifiez des sauvegardes incrémentielles sur disque, base ouverte, pendant la nuit pour
l'intégralité de la base de données, sans les fichiers de journalisation archivés. Planifiez-les
pour 23h00. La planification doit être applicable indéfiniment.

a) Dans Enterprise Manager, sélectionnez Maintenance > High Availability >


Backup/Recovery > Schedule Backup.

b) Sélectionnez Whole Database comme objet à sauvegarder.

c) Entrez oracle sous Host Credentials Username et sous Password pour le serveur,
puis cliquez sur Schedule Customized Backup.

d) Sélectionnez Incremental Backup (niveau 1) pour Backup Type.

e) Sélectionnez Online Backup sous Backup Mode.

f) Dans la région Advanced, désélectionnez la case Also backup all archived logs on disk,
puis cliquez sur Next pour continuer.

g) Sélectionnez Disk comme emplacement de sauvegarde, puis cliquez sur Next pour
continuer.

Oracle Database 10g : Administration Workshop I B-86


Unauthorized reproduction or distribution prohibitedฺ Copyright© 2009, Oracle and/or its affiliatesฺ
Solutions de l'exercice 15 : Procéder à des sauvegardes de la base de données
(suite)

h) Affectez au champ Job Name la valeur Nightly_Backup et acceptez la valeur par


défaut du champ Job Description.

i) Sélectionnez Later dans la région Start. Acceptez la date du jour et utilisez les listes
déroulantes et les boutons d'option afin de sélectionner 11:00:00 sous Time.

j) Dans la zone Repeat, sélectionnez Interval et Frequency 1 Days.

k) Sélectionnez Indefinite dans la région Repeat Until, puis cliquez sur Next.

l) Cliquez sur Submit Job, puis sur OK.

m) Accédez à Maintenance > Related Links > Jobs pour voir le travail planifié dans la liste
Job Activity.

Oracle Database 10g : Administration Workshop I B-87


Unauthorized reproduction or distribution prohibitedฺ Copyright© 2009, Oracle and/or its affiliatesฺ
Solutions de l'exercice 16 : Procéder à une récupération de la base de données

Contexte : De nombreuses défaillances de la base de données Oracle semblent provenir d'une


défaillance physique (disque ou contrôleur). Récupérez la base de données dans divers scénarios
de défaillance physique. Des fichiers de script SQL sont fournis dans le répertoire
/home/oracle/labs. Si nécessaire, utilisez l'annexe C pour Linux et l'annexe D pour la
syntaxe SQL. Sur votre système, les noms de fichier du système d'exploitation peuvent être
différents de ceux indiqués ici.

1. Récupérez la base de données suite à la perte d'un fichier de contrôle.

a) En tant qu'utilisateur DBA1, exécutez le script lab_16_01_a.sql pour préparer


certaines procédures à appeler dans le reste de cet exercice.
@$HOME/labs/lab_16_01_a.sql

b) Exécutez maintenant le script lab_16_01_b.sql. Ce script supprime l'un des fichiers


de contrôle.
@$HOME/labs/lab_16_01_b.sql

c) Le support technique commence à recevoir des appels indiquant que la base de données
semble hors service. Résolvez le problème et procédez si nécessaire à une récupération.
Utilisez la page Database d'Enterprise Manager pour tenter de démarrer la base de
données et utilisez SQL*Plus si nécessaire.

- Dans Enterprise Manager, accédez à la page Database. L'outil signale que la base de
données est hors service et vous propose de la redémarrer. Tentez de le faire en cliquant
sur Startup. Vous devrez sans doute attendre une minute ou deux pour que la page
apparaisse comme décrit. Si le message Connection Refused apparaît, ignorez-le ; la
connexion sera finalement établie.

- Entrez les informations d'identification et de connexion (credentials) à l'hôte oracle


sous Username et sous Password, puis cliquez sur OK.

- Lorsque vous êtes invité à confirmer le démarrage de la base de données, cliquez sur Yes.

Oracle Database 10g : Administration Workshop I B-88


Unauthorized reproduction or distribution prohibitedฺ Copyright© 2009, Oracle and/or its affiliatesฺ
Solutions de l'exercice 16 : Procéder à une récupération de la base de données
(suite)

d) Le démarrage de l'instance échoue avec Enterprise Manager et vous ne pouvez obtenir


aucune autre information expliquant cet échec. Utilisez donc les outils en mode ligne de
commande.

- Connectez-vous à l'instance avec SQL*Plus en tant que sysdba et examinez le statut


actuel de l'instance.
sqlplus / as sysdba
select status from v$instance;

- Le statut de l'instance est STARTED, ce qui signifie que la base de données est dans
l'état NOMOUNT. Tentez de monter la base de données à l'aide de la commande
suivante :

SQL> alter database mount;

e) L'instance ne peut pas accéder à la phase de montage, car l'un des fichiers de contrôle est
introuvable. Examinez les 10 dernières lignes du fichier d'alertes afin de voir quel fichier
de contrôle pose problème.

SQL> host tail -10 $ORACLE_BASE/admin/orcl/bdump/aler*

Sortie :

SQL> host tail -10 $ORACLE_BASE/admin/orcl/bdump/aler*


ORA-205 signalled during: ALTER DATABASE MOUNT...
Sun Oct 30 13:35:01 2005
alter database mount
Sun Oct 30 13:35:01 2005
ORA-00202: control file:
'/u01/app/oracle/flash_recovery_area/ORCL/controlfile/o1_mf_1p4sbncs_.ctl'
ORA-27037: unable to obtain file status
Linux Error: 2: No such file or directory
Additional information: 3
Sun Oct 30 13:35:01 2005
ORA-205 signalled during: alter database mount...

Oracle Database 10g : Administration Workshop I B-89


Unauthorized reproduction or distribution prohibitedฺ Copyright© 2009, Oracle and/or its affiliatesฺ
Solutions de l'exercice 16 : Procéder à une récupération de la base de données
(suite)

f) Le fichier de contrôle de la zone de récupération rapide est manquant. Restaurez le fichier


de contrôle manquant en copiant le fichier de contrôle existant, puis montez et ouvrez la
base de données.
SQL> host
$ cd /u01/app/oracle/oradata/ORCL/controlfile
$ ls -l
total 6908
-rw-r----- 1 oracle oinstall 7061504 Oct 30 13:32 o1_mf_1p4sbn1o_.ctl
$ cp o1_mf_1p4sbn1o_.ctl
/u01/app/oracle/flash_recovery_area/ORCL/controlfile/o1_mf_1p4sbncs_.ctl
$ exit

SQL> alter database mount;

SQL> alter database open;

g) Pourquoi avez-vous dû utiliser deux commandes pour passer l'instance de l'état NOMOUNT
à l'état OPEN ?

Réponse : Parce que la commande ALTER DATABASE ne vous permet de modifier qu'un
seul niveau d'état par commande

h) Pourquoi avez-vous utilisé des commandes du système d'exploitation pour restaurer le


fichier de contrôle, plutôt que d'utiliser Oracle Recovery Manager ?

Réponse : Parce que tous les fichiers de contrôle sont identiques. Tant que l'un des fichiers de
contrôle est intact, il peut être utilisé pour restaurer les autres.

2. Récupérez la base de données suite à la perte d'un membre de groupe de fichiers de


journalisation. Exécutez le script lab_16_02.sql pour supprimer l'un des fichiers de
journalisation. Consultez l'erreur dans le fichier d'alertes et procédez à une récupération.

a) Exécutez le script lab_16_02.sql. Ce script supprime l'un des fichiers de


journalisation.
@$HOME/labs/lab_16_02.sql

Oracle Database 10g : Administration Workshop I B-90


Unauthorized reproduction or distribution prohibitedฺ Copyright© 2009, Oracle and/or its affiliatesฺ
Solutions de l'exercice 16 : Procéder à une récupération de la base de données
(suite)

b) La base de données continue à fonctionner normalement et aucun utilisateur ne se plaint.


Mais, au cours d'une vérification de routine du fichier d'alertes, à la recherche d'erreurs,
vous remarquez le message suivant :
SQL> host tail -20 $ORACLE_BASE/admin/orcl/bdump/aler*
Thread 1 cannot allocate new log, sequence 74
Checkpoint not complete
Current log# 3 seq# 73 mem# 0:
/u01/app/oracle/oradata/ORCL/onlinelog/o1_mf_3_1p4sc1gv_.log
Current log# 3 seq# 73 mem# 1:
/u01/app/oracle/flash_recovery_area/ORCL/onlinelog/o1_mf_3_1p4sc498_.log
Sun Oct 30 13:53:23 2005
Errors in file /u01/app/oracle/admin/orcl/bdump/orcl_arc1_14870.trc:
ORA-00313: open failed for members of log group 1 of thread 1
ORA-00312: online log 1 thread 1:
'/u01/app/oracle/oradata/ORCL/onlinelog/o1_mf_1_1p4sbq1m_.log'
ORA-27037: unable to obtain file status
Linux Error: 2: No such file or directory

- Notez l'erreur concernant le fichier de journalisation (fichier redo log) manquant :

c) Recherchez et résolvez le problème.

- A l'aide de commandes du système d'exploitation, vérifiez qu'il y a un problème


concernant le fichier de journalisation marqué INVALID.
SQL> host ls -l /u01/app/oracle/oradata/ORCL/onlinelog
total 102520
-rw-r----- 1 oracle oinstall 52429312 Oct 30 13:53
o1_mf_2_1p4sbvtt_.log
-rw-r----- 1 oracle oinstall 52429312 Oct 30 13:53
o1_mf_3_1p4sc1gv_.log

Vous voyez que le fichier mentionné dans le fichier d'alertes est manquant. Il existe
seulement deux fichiers, alors qu'il devrait y en avoir trois.

d) Quittez SQL*Plus et copiez l'autre membre du groupe de fichiers de journalisation afin de


remplacer le fichier manquant (vous devez le remplacer par le nom de fichier approprié).
Veillez à copier le fichier portant le bon numéro. Notez le chiffre (septième caractère)
dans le nom de fichier. Dans cet exemple, il s'agit du fichier un, mais le vôtre pourrait être
le fichier un, deux ou trois.
SQL> quit
$ cp
/u01/app/oracle/flash_recovery_area/ORCL/onlinelog/o1_mf_1_1p4sbs8b_.log
/u01/app/oracle/oradata/ORCL/onlinelog/o1_mf_1_1p4sbq1m_.log

Oracle Database 10g : Administration Workshop I B-91


Unauthorized reproduction or distribution prohibitedฺ Copyright© 2009, Oracle and/or its affiliatesฺ
Solutions de l'exercice 16 : Procéder à une récupération de la base de données
(suite)

e) Question : Pourquoi Enterprise Manager ne génère-t-il pas une alerte critique due à
un fichier de journalisation manquant ?

Réponse : Parce qu'un membre manquant unique ne constitue pas un problème critique et
n'affecte pas le fonctionnement de la base de données. Tant qu'il reste au moins un membre
opérationnel par groupe de fichiers de journalisation, le fonctionnement de la base de données
n'est pas affecté.

3. Récupérez la base de données suite à la perte d'un fichier de données d'application.

a) Démarrez une session SQL*Plus en tant qu'utilisateur DBA1 et exécutez le script


lab_16_03.sql. Ce script supprime l'un des fichiers de données d'application.
$ sqlplus dba1/oracle @$HOME/labs/lab_16_03.sql

b) Le support technique a reçu un appel d'un utilisateur qui se plaint de ne pas pouvoir
accéder à la table COUNTRIES du schéma HR de l'application. Comptez les lignes de la
table pour voir s'il y a un problème.

SQL> select count(*) from HR.COUNTRIES;


select count(*) from HR.COUNTRIES
*
ERROR at line 1:
ORA-01116: error in opening database file 5
ORA-01110: data file 5:
'/u01/app/oracle/oradata/ORCL/datafile/o1_mf_example_1p4sd3y2_.dbf'
ORA-27041: unable to open file
Linux Error: 2: No such file or directory
Additional information: 3

c) Résolvez le problème et procédez si nécessaire à une récupération. Le message d'erreur


suggère que le fichier de données du tablespace EXAMPLES est corrompu ou manquant. A
l'aide de commandes du système d'exploitation, déterminez le problème concernant le fichier.
SQL> host ls
/u01/app/oracle/oradata/ORCL/datafile/o1_mf_example_1p4sd3y2_.dbf
ls: /u01/app/oracle/oradata/ORCL/datafile/o1_mf_example_1p4sd3y2_.dbf:
No such file or directory

d) Récupérez le fichier de données manquant jusqu'à l'heure actuelle (indiquez son nom).
- Dans Enterprise Manager, sélectionnez Maintenance > High Availability >
Backup/Recovery > Perform Recovery.
- Sélectionnez Datafiles dans la liste déroulante Object Type.
- Dans la région Object Level Recovery, sélectionnez Recover to current time sous
Operation Type.

Oracle Database 10g : Administration Workshop I B-92


Unauthorized reproduction or distribution prohibitedฺ Copyright© 2009, Oracle and/or its affiliatesฺ
Solutions de l'exercice 16 : Procéder à une récupération de la base de données
(suite)
- Entrez les informations d'identification et de connexion (credentials) à l'hôte oracle
sous Username et sous Password, puis cliquez sur Perform Object Level Recovery.
- Dans la page Datafiles, sélectionnez le fichier en question.

- Cliquez sur Next.


- Etant donné que le problème concerne simplement un fichier supprimé et non un disque
dur défaillant, il n'est pas nécessaire de procéder à une restauration du fichier dans un
autre emplacement. Sélectionnez No. Restore the files to the default location, puis
cliquez sur Next.
- Cliquez sur Submit. (L'opération prend une ou deux minutes.)

e) Lorsque le message Operation Succeeded apparaît, vérifiez que le fichier de données


restauré est en ligne.

- Dans Enterprise Manager, sélectionnez Administration > Database Administration >


Storage > Datafiles.

f) Vérifiez que la table COUNTRIES est à présent accessible.


SQL> select count(*) from HR.COUNTRIES;

COUNT(*)
----------
25

Oracle Database 10g : Administration Workshop I B-93


Unauthorized reproduction or distribution prohibitedฺ Copyright© 2009, Oracle and/or its affiliatesฺ
Solutions de l'exercice 16 : Procéder à une récupération de la base de données
(suite)

4. Récupérez la base de données suite à la perte d'un fichier de données système.

a) Pourquoi la récupération suite à la perte d'un fichier de données système ou d'un fichier
de données appartenant à un tablespace d'annulation est-elle différente de la récupération
d'un fichier de données d'application ?

Réponse : Parce que la récupération des fichiers de données système ou d'annulation doit être
effectuée base fermée, tandis que la récupération d'un fichier de données d'application peut
être effectuée base ouverte, celle-ci étant disponible pour les utilisateurs.

b) En tant que SYSDBA, exécutez le script lab_16_04.sql. Ce script supprime le fichier


de données système.

c) Dans Enterprise Manager, consultez la page d'accueil Database. La base de données est
arrêtée ; vous cliquez donc sur Startup pour essayer de l'ouvrir. Si vous voyez un
message indiquant que la connexion a été refusée, fermez-le, puis entrez à nouveau l'URL
de la page d'accueil d'EM dans le navigateur.

- Entrez les informations d'identification et de connexion (credentials) à l'hôte oracle


sous Username et sous Password, entrez DBA1 et oracle pour les informations
d'identification et de connexion à la base de données, puis cliquez sur OK.

- Cliquez sur Yes.

Oracle Database 10g : Administration Workshop I B-94


Unauthorized reproduction or distribution prohibitedฺ Copyright© 2009, Oracle and/or its affiliatesฺ
Solutions de l'exercice 16 : Procéder à une récupération de la base de données
(suite)
d) Cette commande échoue et la base de données reste dans l'état MOUNT, car un fichier de
données est manquant dans le tablespace SYSTEM.

e) Cliquez sur Perform Recovery.


- Si vous y êtes invité, entrez les informations d'identification et de connexion à l'hôte
(oracle/oracle) et à la base de données (dba1/oracle AS SYSDBA), puis
cliquez sur Continue.
- Dans la région Object Level Recovery, sélectionnez Datafiles sous Object Type.
- Sélectionnez Recover to current time sous Operation Type.
- Si elles ne sont pas définies, indiquez les informations d'identification et de connexion
à l'hôte, puis cliquez sur Perform Object Level Recovery.
- Sélectionnez le fichier de données correspondant au tablespace SYSTEM, puis cliquez
sur Next.
- Etant donné que le problème concerne simplement un fichier supprimé et non un
disque dur défaillant, il n'est pas nécessaire de procéder à une restauration dans un
autre emplacement. Sélectionnez No. Restore the files to the default location, puis
cliquez sur Next.
- Cliquez sur Submit. L'opération prend trois ou quatre minutes.
f) Lorsque le message Operation Succeeded apparaît, cliquez sur Open Database.
g) Après l'apparition du message de réussite, cliquez sur OK, puis vérifiez que la base de
données est ouverte et fonctionne normalement : connectez-vous à EM en tant que
DBA1/oracle, avec le rôle SYSDBA, et consultez la page d'accueil Database.

Oracle Database 10g : Administration Workshop I B-95


Unauthorized reproduction or distribution prohibitedฺ Copyright© 2009, Oracle and/or its affiliatesฺ
Solutions de l'exercice 17 : Procéder à un flashback de la base de données

Contexte : Vous décidez d'acquérir une expérience pratique concernant certaines des
fonctionnalités Flashback. Pour éviter un impact sur les autres utilisateurs, vous copierez d'abord
la table DEPARTMENTS du schéma HR vers DEPARTMENTS2.

1. Connectez-vous à SQL*Plus en tant qu'utilisateur DBA1 et créez une table


HR.DEPARTMENTS2 basée sur la table HR.DEPARTMENTS.

a) Connectez-vous à SQL*Plus en tant que dba1/oracle.


$ sqlplus dba1/oracle

b) Entrez la commande suivante pour créer la copie de la table :


SQL> create table hr.departments2 as select * from hr.departments;

c) Comptez les lignes de la table DEPARTMENTS2. Il doit y en avoir 27.

2. Supprimez la table HR.DEPARTMENTS2, puis vérifiez qu'elle a bien été supprimée.

3. Utilisez la commande FLASHBACK TABLE pour restaurer la table. Comptez les lignes de la
table DEPARTMENTS2.

Oracle Database 10g : Administration Workshop I B-96


Unauthorized reproduction or distribution prohibitedฺ Copyright© 2009, Oracle and/or its affiliatesฺ
Solutions de l'exercice 17 : Procéder à un flashback de la base de données (suite)

4. Exécutez le script lab_17_04.sql pour insérer trois lignes dans la table


HR.DEPARTMENTS2 à l'aide de trois transactions distinctes. Dans la colonne
DEPARTMENT_ID, les nouvelles lignes présentent les valeurs 280, 290 et 300.
SQL> @lab_17_04.sql

5. Utilisez Enterprise Manager pour procéder à un flashback jusqu'à la version de la table comportant
uniquement la première des trois lignes (avec DEPARTMENT_ID = 280). Evaluez d'abord les
modifications apportées aux lignes afin de décider d'un point dans le temps. Limitez votre analyse
aux nouvelles lignes ajoutées, c'est-à-dire pour lesquelles department_id >= 280. Si vous
recevez une erreur lors du flashback, vous pouvez être amené à activer le déplacement de lignes
(row movement) sur la table. Passez à l'étape suivante.
a) Dans Enterprise Manager, sélectionnez Maintenance > High Availability >
Backup/Recovery > Perform Recovery.
b) Sélectionnez Tables dans la liste déroulante Object Type, puis sélectionnez Flashback
Existing Tables sous Operation Type. Cliquez sur Perform Object Level Recovery.

c) Sélectionnez Evaluate row changes and transactions to decide on a point in time, puis
entrez le nom entièrement qualifié HR.DEPARTMENTS2 de la table dans le champ Table
et cliquez sur Next.

Oracle Database 10g : Administration Workshop I B-97


Unauthorized reproduction or distribution prohibitedฺ Copyright© 2009, Oracle and/or its affiliatesฺ
Solutions de l'exercice 17 : Procéder à un flashback de la base de données (suite)

d) Sélectionnez DEPARTMENT_ID sous Available Columns, puis cliquez sur le bouton


Move pour le déplacer sous Selected Columns. Sous Step 2, entrez une clause WHERE
qui sélectionnera les lignes ajoutées. Par exemple, vous avez précédemment ajouté des
lignes présentant les valeurs 280, 290 et 300 dans la colonne DEPARTMENT_ID ; la
clause "WHERE department_id >= 280" convient donc.

e) Cliquez sur Next pour continuer.

f) Vous pouvez maintenant examiner les lignes sous Flashback Versions Query Result.

g) Sous Flashback Versions Query Result, sélectionnez la transaction du milieu de la liste


à laquelle appliquer un flashback. Cliquez sur Next pour continuer.

Oracle Database 10g : Administration Workshop I B-98


Unauthorized reproduction or distribution prohibitedฺ Copyright© 2009, Oracle and/or its affiliatesฺ
Solutions de l'exercice 17 : Procéder à un flashback de la base de données (suite)

h) Dans la page suivante, vous êtes invité à inclure les tables liées à ou dépendantes de la
table sur laquelle vous procédez à un flashback. Puisqu'il n'y en a aucune, cliquez sur
Next pour continuer.

i) Examinez l'instruction SQL que vous êtes sur le point d'exécuter. Cliquez sur Show SQL,
affichez l'instruction SQL, cliquez sur OK, puis sur Submit.

6. Dans la page suivante, vous déterminez que l'opération a échoué car le déplacement de lignes
n'est pas activé pour la table. D'après le cours, le déplacement de lignes doit être activé pour
cette fonctionnalité.

a) Notez cette erreur :

b) Pour activer le déplacement de lignes pour cette table, sélectionnez Administration >
Schema > Database Objects > Tables.

c) Entrez HR dans le champ Schema et DEPARTMENTS2 dans le champ Object Name, puis
cliquez sur Go.

Oracle Database 10g : Administration Workshop I B-99


Unauthorized reproduction or distribution prohibitedฺ Copyright© 2009, Oracle and/or its affiliatesฺ
Solutions de l'exercice 17 : Procéder à un flashback de la base de données (suite)

d) Une table est affichée dans la région Results et est sélectionnée par défaut. Cliquez sur
Edit.

La page Edit Table apparaît.

e) Cliquez sur l'onglet Options.

f) Dans la liste déroulante Enable Row Movement, sélectionnez Yes.

g) Cliquez sur Show SQL, puis sur Return.

h) Cliquez sur Apply pour appliquer la modification.

Une fois la modification de la table confirmée, vous pouvez effectuer l'opération Flashback.

Répétez l'étape 5 pour effectuer une opération Flashback Versions Query sur la table. Le
déplacement de lignes ayant été activé, cette fois l'opération doit réussir.

Oracle Database 10g : Administration Workshop I B-100


Unauthorized reproduction or distribution prohibitedฺ Copyright© 2009, Oracle and/or its affiliatesฺ
Solutions de l'exercice 17 : Procéder à un flashback de la base de données (suite)

i) Dans SQL*Plus, comptez les lignes de la table HR.DEPARTMENTS2 pour confirmer


l'opération Flashback. Notez qu'il n'y a maintenant qu'une seule ligne supplémentaire, pas
trois. Affichez ensuite les lignes pour lesquelles DEPARTMENT_ID >= 280. Notez
qu'il ne reste que l'une des trois d'origine.

Oracle Database 10g : Administration Workshop I B-101


Unauthorized reproduction or distribution prohibitedฺ Copyright© 2009, Oracle and/or its affiliatesฺ
Solutions de l'exercice 18 : Déplacer des données

Contexte : Vous avez récemment reçu un certain nombre de questions concernant le schéma HR.
Pour les analyser sans interférer dans les activités quotidiennes, vous décidez d'utiliser l'assistant
Data Pump Wizard pour exporter le schéma HR vers un fichier. Lorsque vous effectuez l'export,
vous n'êtes pas certain de la base de données dans laquelle vous importerez ce schéma.

Vous découvrez finalement qu'ORCL est la seule base de données pour laquelle la direction
approuve un import. Vous procédez donc à l'import avec l'assistant Data Pump Wizard, en
remettant en correspondance le schéma HR avec un nouveau schéma HR_TEST dans le
tablespace HR_TEST. Pour respecter les recommandations, vous décidez également de créer un
utilisateur DP, DBA exécutant des travaux Data Pump. Par souci de commodité, dans le cours, la
création de l'utilisateur DP est incluse dans le script lab_18_01.sql. Les scripts SQL figurent
dans le répertoire /home/oracle/labs. Toutefois, il manque une étape.

Vous recevez ensuite deux demandes de chargement de données pour lesquelles vous décidez
d'utiliser SQL*Loader.

1. Consultez le script lab_18_01.sql, qui crée le tablespace HR_TEST, le rôle


HR_TEST_ROLE, et les utilisateurs HR_TEST et DP.
a) Cliquez deux fois sur l'icône du répertoire d'origine Oracle Home sur le Bureau, deux
fois sur labs, puis deux fois sur lab_18_01.sql pour examiner ce script.
b) Notez les mots de passe de ces utilisateurs.
Mot de passe de HR_TEST : hr_4test
Mot de passe de DP : dp_4test
c) Quelle opération supplémentaire devez-vous réaliser pour autoriser l'utilisateur DP à
accéder à Enterprise Manager en tant qu'administrateur ?

Vous devez vous connecter à Enterprise Manager en tant qu'utilisateur SYS avec le rôle
SYDBA et attribuer à l'utilisateur DP le rôle d'administrateur EM (EM Administrator) (comme
vous l'avez appris dans le chapitre "Gérer l'instance Oracle").

d) Fermez la fenêtre lab_18_01.sql.

2. Exécutez le script lab_18_02.sh. Réalisez ensuite l'opération nécessaire pour permettre à


l'utilisateur DP d'endosser le rôle d'administrateur EM.
a) Cliquez deux fois sur l'icône XTerm sur le Bureau, puis accédez au répertoire
/home/oracle/labs en saisissant cd labs.
b) Entrez ./lab_18_02.sh pour créer le tablespace HR_TEST, le rôle
HR_TEST_ROLE, et les utilisateurs HR_TEST et DP.
c) Connectez-vous à Enterprise Manager en tant qu'utilisateur SYS avec le rôle SYSDBA.

Oracle Database 10g : Administration Workshop I B-102


Unauthorized reproduction or distribution prohibitedฺ Copyright© 2009, Oracle and/or its affiliatesฺ
Solutions de l'exercice 18 : Déplacer des données (suite)

d) Attribuez à l'utilisateur DP le rôle d'administrateur EM (EM Administrator) (comme vous


l'avez appris dans le chapitre "Gérer l'instance Oracle"). (Sélectionnez Setup > Create >
Entrez Name : DP, Password : dp_4test, Super Administrator, sélectionné > Cliquez
sur Finish > Finish > Logout.)

3. Connectez-vous à Enterprise Manager en tant qu'utilisateur DP avec le rôle Normal et


exportez le schéma HR.
a) Appelez Enterprise Manager en tant qu'utilisateur DP avec le rôle Normal pour la base
de données ORCL. La valeur du paramètre Connect As doit être Normal.

S'il s'agit de la première connexion de l'utilisateur DP, cliquez sur I agree pour accepter
l'accord de licence.
b) Sélectionnez Maintenance > Data Movement > Move Row Data > Export to Export
Files.
c) Sélectionnez Schemas, entrez oracle sous Username et sous Password, sélectionnez
Save as Preferred Credential, puis cliquez sur Continue.
d) Dans la page Export: Schemas, cliquez sur Add, sélectionnez le schéma HR, puis cliquez
sur le bouton Select.

e) Cliquez sur Next.

Oracle Database 10g : Administration Workshop I B-103


Unauthorized reproduction or distribution prohibitedฺ Copyright© 2009, Oracle and/or its affiliatesฺ
Solutions de l'exercice 18 : Déplacer des données (suite)
f) Dans la page "Export: Options", sélectionnez DATA_PUMP_DIR dans la liste déroulante
Directory Objects, puis entrez hrexp.log sous Log File.
g) Examinez les options avancées (Advanced Options) sans les modifier, puis cliquez sur
Next.
h) Dans la page "Export: Files", sélectionnez DATA_PUMP_DIR dans la liste déroulante
Directory Object, entrez HREXP%U.DMP sous File Name, puis cliquez sur Next.
i) Dans la page "Export: Schedule", entrez hrexp sous Job Name et Export HR
schema sous Description, acceptez la valeur Immediate du champ Job Start Time, puis
cliquez sur Next.
j) Dans la page "Export: Review", cliquez sur Show PL/SQL et examinez l'instruction
PL/SQL que l'assistant Export Wizard vous a aidé à créer.

k) Cliquez sur Submit Job.

Un message de traitement apparaît, suivi d'un message de réussite. Si ce n'est pas le cas,
résolvez les éventuelles erreurs.
l) Lorsque la page Job Activity Confirmation apparaît, cliquez sur le nom du travail
HREXP, puis surveillez la progression du travail en cliquant sur le bouton Reload
(actualiser) du navigateur.

Remarque : Attendez non seulement la création du travail, mais également la fin de son
exécution. (Cela peut prendre deux minutes.)
4. En tant qu'utilisateur DP, réimportez le schéma HR exporté dans la base de données ORCL, en
le remettant en correspondance avec le schéma HR_TEST précédemment créé.

Oracle Database 10g : Administration Workshop I B-104


Unauthorized reproduction or distribution prohibitedฺ Copyright© 2009, Oracle and/or its affiliatesฺ
Solutions de l'exercice 18 : Déplacer des données (suite)

a) Appelez Enterprise Manager en tant qu'utilisateur DP avec le rôle Normal pour la base
de données ORCL.

b) Sélectionnez Maintenance > Data Movement > Move Row Data > Import from Export
Files.

c) Dans la page "Import: Files", sélectionnez DATA_PUMP_DIR dans la liste déroulante


Directory Object, puis entrez HREXP%U.DMP sous File Name.

d) Sélectionnez Schemas sous Import Type.

e) Confirmez oracle sous Host Credentials, puis cliquez sur Continue.

A ce stade, le fichier d'export est lu pour vérification de son contenu. Attendez la fin de cette
opération.
f) Dans la page "Import: Schemas", cliquez sur Add, sélectionnez HR, puis cliquez
sur Select.
g) Cliquez sur Next.
h) Dans la page "Import: Re-Mapping", cliquez sur Add Another Row sous Re-Map
Schemas. Sélectionnez ensuite HR_TEST sous Destination Schema.
i) Cliquez sur Add Another Row sous Re-Map Tablespaces, entrez HR_TEST sous
Destination Tablespace.

j) Cliquez sur Next.

Oracle Database 10g : Administration Workshop I B-105


Unauthorized reproduction or distribution prohibitedฺ Copyright© 2009, Oracle and/or its affiliatesฺ
Solutions de l'exercice 18 : Déplacer des données (suite)

k) Dans la page "Import: Options", sélectionnez DATA_PUMP_DIR dans la liste déroulante


Directory Object, entrez hrimport.log sous Log File, examinez les options
avancées sans modifier leurs valeurs par défaut, puis cliquez sur Next.

l) Dans la page "Import: Schedule", entrez hrimp sous Job Name et Import HR
schema for test purposes sous Description.

m) Sélectionnez Later sous Start et entrez l'heure actuelle additionnée de 2 à 5 minutes


(pour vous laisser le temps d'effectuer les opérations suivantes) :

- Cliquez sur Next.

- Dans la page "Import: Review", examinez l'instruction PL/SQL créée par l'assistant
Data Pump Wizard, puis cliquez sur Submit Job.

- Après la confirmation de la création du travail, notez son nom (par exemple, HRIMP),
et accédez à Maintenance > Data Movement > Move Row Data > Monitor Export
and Import Jobs.

- Cliquez sur le dernier travail (par exemple, HRIMP).

- Dans la page "Monitor Data Pump job", cliquez sur le bouton Reload (actualiser) de
votre navigateur lorsqu'il est l'heure d'exécuter le travail.

Oracle Database 10g : Administration Workshop I B-106


Unauthorized reproduction or distribution prohibitedฺ Copyright© 2009, Oracle and/or its affiliatesฺ
Solutions de l'exercice 18 : Déplacer des données (suite)

- Facultatif, car cela requiert une action rapide : Cliquez sur Change Job State.

- Facultatif (suite) : Cliquez sur Suspend, puis sur Resume pour interrompre le travail et
pour le reprendre.

n) Finalement, vous souhaitez voir que 100 % du travail a été exécuté sans erreur.

o) Cliquez sur OK.

p) Vérifiez la réussite de l'import en consultant le fichier journal.


$ cat </u01/app/oracle/product/10.2.0/db_1/rdbms/log/hrimport.log

q) A l'aide de SQL*Plus, connectez-vous à la base de données en tant qu'utilisateur


HR_TEST.
$ sqlplus hr_test/hr_4test

r) Pour vérification de l'import, sélectionnez des données dans des tables du schéma
hr_test.
SQL> select * from jobs;

Oracle Database 10g : Administration Workshop I B-107


Unauthorized reproduction or distribution prohibitedฺ Copyright© 2009, Oracle and/or its affiliatesฺ
Solutions de l'exercice 18 : Déplacer des données (suite)

5. En tant qu'utilisateur DP, chargez les données dans la table PRODUCT_MASTER à l'aide de
SQL*Loader via Enterprise Manager Database Control.

a) Appelez Enterprise Manager en tant qu'utilisateur DP avec le rôle Normal pour la base
de données ORCL.

b) Sélectionnez Maintenance > Data Movement > Move Row Data > Load Data from
User Files.

c) Cliquez sur Use Existing Control File.

d) Si vous ne l'avez pas encore fait, entrez oracle sous Username et sous Password,
cliquez sur Save as Preferred Credential, puis sur Continue.

e) Dans la page "Load Data: Control File", entrez


/home/oracle/labs/lab_18_05.ctl comme nom et chemin du fichier de
contrôle, ou utilisez l'icône représentant une torche pour sélectionner ce fichier de
contrôle. Cliquez sur Next.

f) Dans la page "Load Data: Data File", cliquez sur Provide the full path and name on the
database server machine et entrez /home/oracle/labs/lab_18_05.dat
comme nom et chemin du fichier de données, ou utilisez l'icône représentant une torche
pour sélectionner ce fichier de données. Cliquez sur Next.

g) Dans la page "Load Data: Load Method", acceptez Conventional Path, puis cliquez sur
Next.

h) Dans la page "Load Data: Options", acceptez toutes les valeurs par défaut, mais entrez
/home/oracle/labs/lab_18_05.log comme nom et chemin du fichier journal.

i) Examinez les options avancées sans les modifier, puis cliquez sur Next.

Oracle Database 10g : Administration Workshop I B-108


Unauthorized reproduction or distribution prohibitedฺ Copyright© 2009, Oracle and/or its affiliatesฺ
Solutions de l'exercice 18 : Déplacer des données (suite)
j) Dans la page "Load Data: Schedule", entrez lab_18_05 sous Job Name et Load
data into the PRODUCT_MASTER table sous Description. Faites démarrer le
travail immédiatement, puis cliquez sur Next.

k) Dans la page "Load Data: Review", examinez les paramètres et informations de


chargement, puis cliquez sur Submit Job.
l) Confirmez les résultats en consultant le fichier lab_18_05.log dans le répertoire
/home/oracle/labs.
6. En tant qu'utilisateur INVENTORY, chargez les données dans la table PRODUCT_ON_HAND à
l'aide de la ligne de commande SQL*Loader.
a) Appelez une fenêtre de terminal et accédez au répertoire /home/oracle/labs.
b) Entrez la commande SQL*Loader suivante (en continu, sans appuyer sur la touche
[Entrée] avant d'atteindre la fin de la commande) : sqlldr
userid=inventory/verysecure control=lab_18_06.ctl log=lab-
_18_06.log data=lab_18_06.dat.
sqlldr userid=inventory/verysecure control=lab_18_06.ctl
log=lab_18_06.log data=lab_18_06.dat

SQL*Loader: Release 10.2.0.1.0 - Production on Tue Aug 02 22:24:44


2005

Copyright © 1982, 2005, Oracle. All rights reserved.

Commit point reached – logical record count 64


Commit point reached – logical record count 82
Commit point reached – logical record count 83

Oracle Database 10g : Administration Workshop I B-109


Unauthorized reproduction or distribution prohibitedฺ Copyright© 2009, Oracle and/or its affiliatesฺ
Solutions de l'exercice 18 : Déplacer des données (suite)
c) Confirmez les résultats en consultant le fichier lab_18_06.log dans le répertoire
/home/oracle/labs.

Félicitations !
Vous avez effectué tous les exercices concernant le cours
Oracle Database 10g : Administration Workshop I

Oracle Database 10g : Administration Workshop I B-110


Unauthorized reproduction or distribution prohibitedฺ Copyright© 2009, Oracle and/or its affiliatesฺ
___________________

Annexe C
Commandes de base
de Linux et vi
___________________

Unauthorized reproduction or distribution prohibitedฺ Copyright© 2009, Oracle and/or its affiliatesฺ
Commandes vi

Visual Interpreter/Editor (vi) est l'éditeur de texte le plus couramment utilisé pour l'environnement UNIX.
Bien que presque tout le monde se plaigne de sa syntaxe de commande peu maniable, il reste néanmoins
le seul éditeur quasi systématiquement inclus avec chaque version du système d'exploitation UNIX et
Linux. Voici une liste non exhaustive des commandes vi disponibles.

L'éditeur vi offre deux modes : le mode ligne de commande (tout ce qui est tapé est considéré comme une
commande d'édition) et le mode de saisie (tout ce qui est tapé est considéré comme faisant partie du
fichier édité). Pour accéder au mode de saisie, tapez a, A, i, I, o, O, c, C, s, S, r ou R. Pour revenir au
mode ligne de commande, utilisez la touche <Echap>. Pour accéder à l'éditeur vi à partir de SQL*Plus,
entrez la commande suivante :
SQL>define _editor=vi
Pour éditer un fichier à partir de l'invite de SQL*Plus, tapez edit <filename> (appuyez sur Entrée) ; à
partir de l'invite de commande Linux, tapez vi <filename> (appuyez sur Entrée).

Pour DEPLACER le curseur :


h - vers la gauche j - vers le bas k - vers le haut l - vers la droite

w - un mot en avant b - un mot en arrière e - fin du mot en cours

W, B ou E - identique à la version minuscule, mais ignore la ponctuation

0 (zéro) - début de la ligne en cours $ - fin de la ligne en cours

G - dernière ligne du fichier H - première ligne de l'écran

L - dernière ligne de l'écran M - ligne médiane de l'écran

/<chaîne> - recherche avant de l'occurrence suivante de <chaîne>

?<chaîne> - recherche arrière de l'occurrence suivante de <chaîne>

n - répéter la recherche précédente N - répéter la recherche précédente


dans la direction opposée

<ctrl> f - page suivante <ctrl> b - page précédente

Pour ANNULER des modifications :


u - annule la modification la plus récente. U - annule la suppression de texte la plus récente.

:e! - réédite le fichier en cours sans enregistrer les modifications apportées depuis la dernière modification.

Pour ENTRER du nouveau texte :


a - ajouter du texte après la position actuelle du curseur.

A - ajouter du texte à la fin d'une ligne (saute jusqu'à la fin de la ligne et commence l'ajout).

c - changer d'objet. C - passer de la position actuelle


du curseur à la fin de la ligne.

i - insérer du texte avant la position actuelle du curseur. I - insérer du texte au début d'une ligne.

Oracle Database 10g : Administration Workshop I C-2

Unauthorized reproduction or distribution prohibitedฺ Copyright© 2009, Oracle and/or its affiliatesฺ
o - insérer une ligne vide SOUS la position actuelle du curseur.
O - insérer une ligne vide AU-DESSUS de la position actuelle du curseur.
r - remplacer le caractère à la position actuelle du curseur. R - remplacer tous les caractères jusqu'à ce que
l'utilisateur appuie sur <Echap>.
s - remplacer le caractère sous le curseur par du texte.
:s/A/B/opt remplace la chaîne A par la chaîne B. %s/A/B/opt effectue un remplacement global.

Les options sont les suivantes : g (change toutes les occurrences c (confirmation avant chaque
de la ligne en cours) changement)
p (affiche les lignes modifiées) S - remplace la ligne entière
jusqu'à la fin
. <point> - répète la dernière n. <entier><point> répète n fois la
modification dernière modification
Pour quitter le mode de saisie, appuyez sur <Echap>.

Pour SUPPRIMER du texte existant :

x - supprime le caractère situé immédiatement sous l'emplacement actuel du curseur.

dd - supprime la ligne entière où se trouve le curseur.

dnd (où n est un entier) supprime n lignes à partir de la position actuelle du curseur.

dw - supprime le mot en cours. D - supprime jusqu'à la fin de la ligne en cours.

J - supprime le retour chariot à la fin de la ligne en cours, pour joindre cette ligne et la suivante.

<entier> J - joint le texte de <entier> lignes.

COPIER, COUPER et COLLER : vi utilise une mémoire tampon unique, dans laquelle est stocké le dernier texte
modifié ou supprimé. Ce texte peut être manipulé à l'aide des commandes suivantes :

Y - extraire une copie de la ligne en cours y <entier> - extraire une copie des <entier> lignes suivantes
yw - extraire une copie du mot en cours yb - extraire une copie du mot précédent
p - placer le contenu de la mémoire tampon P - placer le contenu de la mémoire
après le curseur tampon avant le curseur
Reportez-vous également aux commandes s et S sous la section de saisie.

Pour ENREGISTRER les modifications dans un fichier du système d'exploitation :

zz - met fin au mode d'édition. :w nom de fichier - enregistre les modifications


:wq - écrit toutes les modification dans le fichier indiqué.
s et quitte le mode d'édition.

Pour QUITTER sans enregistrer les modifications :


ZZ - met fin au mode d'édition. :q! - ferme le fichier sans enregistrer les modifications.

Oracle Database 10g : Administration Workshop I C-3

Unauthorized reproduction or distribution prohibitedฺ Copyright© 2009, Oracle and/or its affiliatesฺ
Commandes Linux de base

Cette annexe a pour seul objectif de servir de référence rapide pendant le cours. Pour plus
d'informations sur ces commandes, reportez-vous aux pages du manuel, à la documentation
Linux ou aux autres ouvrages de référence sur les commandes Linux.
Fichiers et Commandes Linux Description/Commentaires
répertoires
Manuel sur la man <commande> Rechercher cette <commande> dans le
commande manuel.
man –k <chaîne> Afficher toutes les entrées du manuel
contenant cette <chaîne>.
man man Afficher la page du manuel concernant man.
Informations sur la info <commande> Afficher les informations sur cette
commande commande. La commande info info affiche un
tutoriel du système de documentation info.
Envoyer sur la sortie cat <fichier> Concaténer et afficher (envoyer le fichier
standard nommé vers l'écran du terminal).
Répertorier les cat /etc/password
utilisateurs
Changer de cd <directory> Passer du répertoire en cours au répertoire
répertoire indiqué.
La commande cd sans paramètre accède au
répertoire $HOME.
Copier un fichier cp <fichier_source> Copier un fichier source vers un fichier de
<fichier_destination> destination.

Afficher un fichier less <fichier> Afficher un fichier page par page. Il s'agit
d'une version GNU de more ou pg.
Afficher un fichier more <fichier> Afficher un fichier page par page. Version
BSD.
Afficher le contenu ls <répertoire> Options : –l listing long, -R récursif, -a
d'un répertoire afficher les fichiers cachés, -t trier par heure,
-r tri inversé, le répertoire par défaut est le
répertoire en cours.
Créer un répertoire mkdir <répertoire> Créer un répertoire, par défaut dans le
répertoire en cours, le chemin complet peut
être indiqué.
Déplacer ou mv <old_file> Changer le nom d'un fichier ou le déplacer
renommer un fichier <new_file> vers un autre répertoire.
Liste des processus ps Afficher la liste des processus.
ps -ef Afficher tous les processus du système avec
un listing complet. De nombreuses options
existent ; voir page man.

Oracle Database 10g : Administration Workshop I C-4

Unauthorized reproduction or distribution prohibitedฺ Copyright© 2009, Oracle and/or its affiliatesฺ
Afficher le pwd Afficher le répertoire en cours sur stdout.
répertoire en cours
Supprimer ou rm <fichier> La suppression d'un fichier sous Linux est
effacer un fichier définitive. Les options –r récursif et –f forcer
(y compris les sous-répertoires) sont très
dangereuses. La commande rm est souvent
utilisée avec rm –i. L'option –i demande
confirmation ("Are you sure ?").
Créer un fichier vide touch <fichier> Créer un fichier.
Nom de l'ordinateur. hostname Renvoyer le nom de l'ordinateur.
Adresse IP de host <nom_ordinateur> Interroger le serveur DNS (Domain Name
l'ordinateur Server) et renvoyer l'adresse IP du nom de
l'ordinateur.
Shell distant rsh <hôte> <commande> Exécuter une <commande> sur <hôte>. Rsh
n'est pas sûr ; utilisez plutôt ssh.
Shell distant ssh <hôte> Shell sécurisé, avec fonctionnalités pour
remplacer rsh, rcp, ftp et telnet.
Shell distant telnet <host> Démarrer une session de terminal sur
<hôte>. Telnet n'est pas sûr ; utilisez plutôt
ssh.
Rechercher un grep <option> Rechercher une expression régulière définie
<modèle> <fichier>
modèle dans un par <modèle> dans un <fichier> ou un flux
fichier et afficher la ligne contenant le modèle.
L'option –i (non-distinction
majuscules/minuscules) est courante.
grep peut accepter l'entrée à partir d'un
fichier ou stdin via un caractère | comme
dans :
netstat –a| grep ESTABLISHED
Exécuter un script . <fichier_script> Dans le shell bash, la commande "." force
l'exécution du script dans le shell. Le
comportement normal consiste à exécuter le
script dans un shell enfant.
Interpréteur awk Langage de macro pour reformater ou
interpréter la sortie. Pour chaque ligne
d'entrée, diverses actions peuvent être
effectuées. Egalement appelé nawk (new
awk).
Trier un fichier sort Trier un fichier, avec l'entrée de stdin ou un
nom de fichier comme argument ;
nombreuses options pour trier selon une
colonne, un champ, etc. Voir page man.
Editeur de ligne de sed Sed est un éditeur de ligne de commande,
commande avec de nombreuses commandes et options,
idéal pour l'édition à partir d'un script shell.

Oracle Database 10g : Administration Workshop I C-5

Unauthorized reproduction or distribution prohibitedฺ Copyright© 2009, Oracle and/or its affiliatesฺ
Visual Editor vi <fichier> Editeur basé sur le terminal, disponible sur
chaque système Unix ; Linux offre vim, un
éditeur vi amélioré, qui est un superensemble
de vi.
Editeur Gnu emacs <fichier> Editeur GPL avec des fonctionnalités
personnalisables étendues disponibles sur la
plupart des distributions UNIX et Linux.
Editeur WSIWIG gedit <fichier> Editeur plein écran, nécessitant X.
Disponible sous Gnome.
WSIWIG kate <fichier> Editeur plein écran, nécessitant X.
Disponible sous KDE.
Sortie de terminal stdout stdout (sortie standard) n'est pas une
commande mais un concept ; la plupart des
commandes Linux écrivent sur stdout par
défaut, sauf redirection.
Entrée de terminal stdin stdin (entrée standard) n'est pas une
(clavier) commande mais un concept ; la plupart des
commandes Linux lisent à partir de stdin par
défaut, sauf redirection.
Alias alias <commande> Procéder à un remplacement lorsqu'un
<alias>
utilisateur tape <commande>, remplacer et
exécuter <alias>, "rm" et "rm –i" sont des
alias courants. Ces alias sont définis dans le
fichier .bashrc.
Afficher les set Afficher toutes les variables actuellement
variables de shell définies dans le shell.
Afficher les printenv ou env Afficher toutes les variables
variables d'environnement ; une variable
d'environnement d'environnement a été "exportée" de façon à
être héritée par les processus enfant.
Masque de création umask –S Définir les permissions par défaut pour tous
de fichier u=rwx,g=rx,o=rx les fichiers créés par ce shell ou ses enfants.
L'option –S utilise la notation symbolique ;
la notation numérique est obsolète.
Horloge xclock Un client X qui affiche une horloge à l'écran.
Souvent utilisé pour tester le système X
windows.
Contrôle d'accès X xhost Afficher le contrôle d'accès actuellement en
xhost +<Xclient> place.
Ajouter un Xclient autorisé à accéder à
l'affichage local ; si aucun <Xclient> n'est
indiqué, tous sont autorisés.

Oracle Database 10g : Administration Workshop I C-6

Unauthorized reproduction or distribution prohibitedฺ Copyright© 2009, Oracle and/or its affiliatesฺ
Administration Commandes Linux Description/Commentaires
système
Système de / Répertoire racine de l'arborescence des
fichiers racine répertoires système.
Répertoire /home Il s'agit généralement du répertoire dans
d'origine lequel sont placés tous les répertoires
d'origine des utilisateurs. Par exemple :
/home/oracle.
Répertoire Tmp /tmp Zone de stockage temporaire. Ne placez rien
dans ce répertoire que vous souhaitez
conserver. SA utilise souvent une tâche
programmée (Cron Job) pour supprimer tout
périodiquement.
Répertoire /boot Petite partition contenant les images de
d'amorçage noyau et les instructions de chargement
d'amorçage.
Répertoire des /var/log Emplacement de la plupart des fichiers
journaux journaux du système.
Echantillons de /etc/inittab Les fichiers de configuration sont localisés
fichiers de par application. Tout fichier de configuration
configuration modifié après l'installation doit être inclus
dans la sauvegarde.
Fichiers de mots /etc/passwd Le fichier /etc/passwd contient des
de passe /etc/shadow
informations utilisateur et doit pouvoir être
lu par d'autres ; même avec des mots de
passe cryptés, cela peut constituer un
problème de sécurité. Le fichier
/etc/shadow contient les mots de passe
cryptés et n'est lisible que par root.
Fichier de /etc/group Le fichier /etc/groups définit les
groupes groupes d'un serveur et les utilisateurs
membres du groupe ; le groupe principal
d'un utilisateur est défini dans le fichier
/etc/passwd.
Fichier de /etc/X11/XF86Config Fichier qui définit les paramètres du serveur
configuration X X pour la carte vidéo, l'écran, la souris et le
clavier. Généralement configuré à l'aide d'un
outil fourni par l'éditeur, tel que sax2.
Planifier crontab -e Utilisez cette commande pour éditer le
l'exécution fichier crontab, afin de créer la spécification
périodique devant être utilisée par le démon cron.
d'une
commande

Oracle Database 10g : Administration Workshop I C-7

Unauthorized reproduction or distribution prohibitedฺ Copyright© 2009, Oracle and/or its affiliatesฺ
Planifier /etc/anacrontab Editez le fichier afin de configurer
l'exécution d'un l'exécution d'un script selon une fréquence
script selon une particulière (voir man anacrontab pour plus
fréquence d'informations).
particulière
Planifier at <options> HEURE Exécuter un travail indiqué par <options> à
l'exécution une HEURE définie.
unique d'une
commande
Planifier une batch <options> <HEURE> Exécuter une commande lorsque la charge
commande moyenne tombe en deçà de 0,8,
éventuellement après une HEURE définie.
Monter un mount <opt> <per> Monter un système de fichiers sur le
système de <point_montage> périphérique <per> à <point_montage> avec
fichiers les options définies par <opt>.
Démonter un umount <per> Démonter le système de fichiers ou le
umount <point_montage>
système de périphérique.
fichiers
Nombre 65535
maximum d'ID
utilisateur
Récupérer le {lilo} Procédure permettant de récupérer le mot de
control-x
mot de passe passe root s'il est perdu. Un accès physique à
linux S
root passwd root l'ordinateur et à la console système est
nécessaire. Commencez par redémarrer
l'ordinateur, puis pendant l'amorçage LILO,
maintenez enfoncées les touches [Ctrl] + [x]
afin d'obtenir une invite et ordonnez à LILO
{grub}
c d'amorcer linux avec runlevel S.
kernel vmlinuz-2.4.9-
13 single La deuxième procédure utilise le programme
ro root=/dev/hda8 d'installation GRUB.
initrd /initrd-2.4.9-
13.img
boot
passwd root
Créer un nouvel useradd L'option –D seule affiche les valeurs par
utilisateur défaut.
–D avec d'autres options modifie les options
par défaut ; sans l'option –D, un groupe
principal est défini (par exemple –g).
Supprimer un userdel Supprimer un utilisateur et éventuellement
utilisateur tous les fichiers appartenant à l'utilisateur.
Modifier un usermod Modifier les informations /etc/password.
compte
utilisateur

Oracle Database 10g : Administration Workshop I C-8

Unauthorized reproduction or distribution prohibitedฺ Copyright© 2009, Oracle and/or its affiliatesฺ
Créer un groupadd –g définit l'ID de groupe (par défaut, il s'agit
nouveau groupe de la première valeur disponible au-delà de
500).
Supprimer un groupdel Supprimer un groupe du système. Il n'est pas
groupe possible de supprimer un groupe principal
d'un utilisateur. Les fichiers appartenant au
groupe supprimé doivent être changés
manuellement avec chown.
Modifier les init <niveau_exécution> La commande init entraîne l'évaluation
niveaux des scripts rcN.d, pour le changement de
d'exécution niveau d'exécution. init 6 force un
redémarrage.
Synchroniser sync Forcer le cache de tampons et le cache de
les disques page à écrire tous les tampons "dirty" sur le
disque. Utilisé juste avant un redémarrage
afin d'éviter la corruption des disques.
Arrêter le shutdown <mode> <retard> Effectuer un arrêt flexible du système, arrêter
système Linux les processus, exécuter tous les scripts d'arrêt
et synchroniser les disques. Les modes sont
–r (redémarrage) et –h (interruption). Le
délai est un paramètre obligatoire (valeur en
secondes ou "now"). Une option permet
également d'afficher un message
d'avertissement d'arrêt.
Journaux dmesg Afficher les messages d'amorçage. Ce
d'erreurs journal est circulaire et des erreurs système
peuvent remplacer les informations
d'amorçage après un certain temps.
Configuration /etc/sysconfig/ Ce répertoire contient les scripts exécutés
IP réseau network-scripts/ dans le cadre de la séquence d'amorçage par
rc.sysinit.
Adresses IP des /etc/hosts Liste d'hôtes dont l'ordinateur a
hôtes connaissance. Doit inclure au minimum le
nom de l'ordinateur local et l'IP de bouclage.
Commutateur /etc/nsswitch.conf
de service de
noms
Paramètres sysctl -a | grep net Afficher tous les paramètres réseau définis
réseau pour le noyau.
Démon de routed
routage
Configuration ifconfig -a Afficher tous les périphériques réseau
des cartes actuellement configurés.
réseau

Oracle Database 10g : Administration Workshop I C-9

Unauthorized reproduction or distribution prohibitedฺ Copyright© 2009, Oracle and/or its affiliatesฺ
Adresse IP modprobe ip_alias
secondaire ifconfig eth0:1 IP
Invite de /etc/issue Message que l'utilisateur voit lorsqu'il
connexion exécute l'invite de commande.
Liaison au /sbin/ypbind Rechercher et lier à un serveur NIS pour la
service YP/NIS résolution de noms et d'autres services.
Informations modinfo <options> Afficher des informations sur les modules du
sur le module <module> noyau : –l affiche la licence, –p les
paramètres et –d la description.
Répertorier les lsmod Afficher les modules actuellement chargés.
modules
Charger le insmod Charger un module chargeable.
module
Décharger un rmmod Décharger un module chargeable.
module
Installer un rpm -ivh package Installer (–i), en mode verbose (–v), avec
logiciel marques de progression (–hiérarchie).
Désinstaller des rpm -e package Supprimer le package (–e) ; la désinstallation
logiciels n'a pas lieu s'il existe des dépendances.
Répertorier les rpm -qa Interroger (–q), tout (–a), répertorier tous les
logiciels packages installés.
installés
Vérifier les rpm -V package Comparer les fichiers installés aux
logiciels informations de la base de données rpm.
installés
Répertorier tous rpm -ql package Répertorier tous les fichiers faisant partie
les fichiers d'un package.
Propriétaire du rpm -qf fichier Répertorier le package avec le nom de fichier
package complet.
Modèle uname -m Afficher le niveau de la CPU (par exemple
d'ordinateur i686).
Niveau du uname -r Afficher la version du noyau.
système
d'exploitation
Niveau runlevel Afficher le niveau d'exécution précédent et
d'exécution actuel.
Paramètres de sysctl -a Afficher les valeurs de tous les paramètres de
noyau noyau pouvant être définis.
Nombre sysctl fs.file-max Affiche le nombre maximum de descripteurs de
maximum de fichier par processus.
descripteurs de
fichier

Oracle Database 10g : Administration Workshop I C-10

Unauthorized reproduction or distribution prohibitedฺ Copyright© 2009, Oracle and/or its affiliatesฺ
Valeurs des /etc/sysctl.conf Paramètres de noyau ; peuvent être
paramètres de réinitialisés au démarrage via leur définition
noyau dans ce fichier.
Modifier les echo <valeur> > Ecrire la nouvelle valeur d'un paramètre de
paramètres de </proc/<fichier> noyau dans le système de fichiers /proc.
noyau
echo 2147483648 Définir la taille maximale d'un segment de
>/proc/sys/kernel/shmmax mémoire partagée.

Mémoire sysctl kernel.shmmax Afficher le paramètre shmmax.


partagée
Modifier les sysctl –w Modifier un paramètre de noyau ; l'option –p
paramètres de <paramètre>=<valeur> lit le paramètre à partir d'un fichier et le
noyau définit. Le fichier par défaut est
/etc/sysctl.conf.
Définir des ulimit <option> <valeur> Définir des limites sur un shell et les
limites de processus démarrés par le shell. Les
processus utilisateurs peuvent rendre les limites plus
restrictives ; en général, seul root peut faire
cela. Certaines options nécessitent le
privilège root. Options : –u définit le nombre
de processus, –n le nombre de pointeurs de
fichier ; nombreux autres paramètres (voir
man bash).
Afficher les ulimit Sans options, ulimit affiche les limites
limites des actuelles.
processus
Communication ipcs <option> Options : –m utilisation actuelle de la
interprocessus mémoire partagée ; –s utilisation de
(mémoire sémaphores ; –a affiche tout.
partagée et
sémaphores)
Supprimer un ipcrm shm <shmid> Libérer le segment de mémoire partagée
segment de identifié par <shmid>. Cette opération est
mémoire très dangereuse. Vous pouvez endommager
partagée une base de données qui utilise le segment
libéré.

Oracle Database 10g : Administration Workshop I C-11

Unauthorized reproduction or distribution prohibitedฺ Copyright© 2009, Oracle and/or its affiliatesฺ
Performances Commandes Linux Description/Commentaires
du système
Surveillance des top Afficher les statistiques en temps réel du
performances système d'exploitation et des processus.
Activité du sar –<options> Options : –q affiche la file d'attente CPU, –u
système <intervalle> <nombre> l'utilisation de la CPU, –d l'activité des
périphériques, –n l'activité des périphériques
réseau, etc. (voir page man). L'intervalle est
exprimé en secondes.
Statistiques de vmstat <intervalle> L'intervalle est exprimé en secondes.
la mémoire <nombre>
virtuelle
Statistiques de cat /proc/meminfo Afficher l'utilisation instantanée de la
la mémoire mémoire virtuelle.
virtuelle
Statistiques du cat /proc/slabinfo Statistiques d'allocation slab du noyau :
cache de noyau objets de cache fréquemment alloués, tels
que inode, dentries et mémoires tampon E/S
asynchrones.
Statistiques iostat <option> Options : –d activité des périphériques, –c
relatives aux <intervalle> <nombre> activité de la CPU, –x statistiques étendues
E/S d'activité des disques. L'intervalle est
exprimé en secondes.
Statistiques mpstat –P <cpu> <nombre> Renvoie les statistiques CPU d'un processeur
multiprocesseur <intervalle> particulier ou de toutes les CPU d'un système
SMP.
RAM physique 64 Go (valeur théorique) Mémoire RAM physique maximale pour le
noyau (Red Hat Enterprise Linux AS 21 ne
prend en charge que 16 Go).
Dispositif de swapon -s Affiche les périphériques actuellement en
swap cours d'utilisation pour le swap. Le
périphérique de swap est désigné de manière
arbitraire lors de l'installation. Il peut être
changé ou un périphérique peut être ajouté.
Plusieurs périphériques de swap peuvent être
créés ; la taille de swap doit être au minimum
égale à la mémoire physique.
Afficher la taille free Afficher l'utilisation actuelle de la mémoire
de swap et de l'espace de swap.
Activer le swap swapon -a Activer le swap.
Blocs de disque df -k Valeur en ko ; utilisez –m pour les valeurs en
libres Mo.

Oracle Database 10g : Administration Workshop I C-12

Unauthorized reproduction or distribution prohibitedฺ Copyright© 2009, Oracle and/or its affiliatesฺ
Répertorier les cat /proc/devices Répertorier les périphériques connus du
périphériques système par numéro de version majeure et
mineure.
Informations cat Afficher les informations sur les disques
sur les disques /proc/scsi/scsi0/sda/ SCSI.
model

cat Afficher les informations sur les disques


/proc/ide/ide0/hda/model IDE.
Afficher les netstat <options> Imprimer un large éventail de statistiques
statistiques réseau (voir man netstat).
réseau
Visualiseur xosview Affichage X des statistiques récentes du
graphique des système d'exploitation.
statistiques
système

Oracle Database 10g : Administration Workshop I C-13

Unauthorized reproduction or distribution prohibitedฺ Copyright© 2009, Oracle and/or its affiliatesฺ
Informations Commandes Linux Description/Commentaires
diverses sur le
système
NFS exporté /etc/exports Fichier de base de données non pris en
charge sur NFS.
Répertoires /var/lib/nfs/xtab
montés sur
client NFS
Taille maximale 2 To avec taille de bloc Avec ext3 et ext2, autres variables.
du système de 4 ko (sur noyau 32)
fichiers
Taille maximale 2 Go {taille de bloc La base de données Oracle peut créer des
des fichiers de 512 octets} fichiers jusqu'à 64 Go avec une taille de bloc
de base de données de 16 ko.
La taille des
fichiers ne peut Le noyau 32 bits limite les périphériques de
pas dépasser 2 To {taille de bloc fichiers et de blocs à 2 To.
celle du système de 4 ko}
de fichiers.
Taille de bloc dumpe2fs <périphérique> Transfère les propriétés du système de
du système de fichiers vers stdout.
fichiers
Table du /etc/fstab Monte ces systèmes de fichiers au
système de démarrage.
fichiers
Types de ext3
système de
fichiers du reiserfs
journal
Libellé de fdisk -l fdisk n'est pas disponible sur toutes les
disque distributions.
Etendre le resize2fs L'extension d'un système de fichiers
système de resize_reiserfs s'applique uniquement à certains types de
fichiers système de fichiers.
Sauvegarde tar cvf /dev/rst0 / Créer une sauvegarde de la racine/du
système de fichiers.
Restaurer tar xvf /dev/rst0 Restaurer la racine/le système de fichiers.
Préparer les /sbin/lilo Doit être exécuté après toute modification de
volumes /etc/lilo.conf afin de propager les
d'amorçage modifications vers le programme de
chargement d'amorçage.
Script de /etc/rc.d/rc
démarrage

Oracle Database 10g : Administration Workshop I C-14

Unauthorized reproduction or distribution prohibitedฺ Copyright© 2009, Oracle and/or its affiliatesฺ
Noyau /boot/vmlinuz
Bits noyau getconf WORD_BIT Appel POSIX afin d'obtenir des informations
sur le noyau. Il existe de nombreuses autres
variables en plus de WORD_BIT.
Amorçage {lilo} Utiliser la fonctionnalité LILO.
utilisateur control-x
linux S
unique
{grub}
c Utiliser le programme d'installation GRUB.
kernel vmlinuz-2.4.9-
13 single
ro root=/dev/hda8
initrd /initrd-2.4.9-
13.img
boot
Gestion des /etc/sysconfig/clock
fuseaux horaires
Répertoire SW /var/lib/rpm Répertoire dans lequel est conservée la base
de données rpm.
Périphériques /dev Ce répertoire contient tous les fichiers de
périphérique.
CPU cat /proc/cpuinfo Affiche les informations statiques sur la
CPU.
Disque entier /dev/sda Nom du périphérique.
CDROM /dev/cdrom Généralement monté sur /mnt/cdrom.
Type de fichier iso9660
CD-ROM
Lecteur de /dev/fd0 Généralement monté sur /mnt/floppy.
disquettes
Informations /proc Le système de fichiers /proc est un système
système de fichiers basé sur la mémoire, qui permet
l'accès aux paramètres et statistiques de
noyau.
Compiler et lier make –f <fichier> Utilisez un fichier make <fichier> pour
un exécutable <commande> déterminer quelles parties d'un grand
programme doivent être recompilées, et
exécuter les commandes requises pour
compiler, lier et préparer l'exécutable en vue
de son utilisation.

Oracle Database 10g : Administration Workshop I C-15

Unauthorized reproduction or distribution prohibitedฺ Copyright© 2009, Oracle and/or its affiliatesฺ
LVM Linux (UnitedLinux) Description/Commentaires
LVM Gestionnaire de Ce package n'est pas fourni par Red Hat
volumes logiques Enterprise Linux AS 2.1 et ne peut pas
être ajouté sans affecter le noyau. La
prise en charge du noyau est fournie dans
United Linux.
Concepts LVM extents logiques Un volume logique est constitué d'extents
(ensembles de blocs contigus) logiques.
volume logique Ensemble d'extents logiques provenant
d'un groupe de volumes et présenté au
système d'exploitation en tant que volume
de disque. Ces extents peuvent être
répartis sur plusieurs disques.
groupe de volumes Ensemble de partitions de disque
physique créées par fdisk ou similaire,
initialisées avec pvcreate, puis
regroupées en un volume physique avec
vgcreate.
Afficher un groupe de vgdisplay -v
volumes
Modifier un volume pvchange
physique
Préparer un disque pvcreate
physique
Afficher un volume pvdisplay
physique
Supprimer un disque vgreduce
d'un groupe de
volumes
Déplacer des volumes pvmove
logiques vers un autre
volume physique
Créer un groupe de vgcreate
volumes
Supprimer un groupe vgremove
de volumes
Disponibilité des vgchange
groupes de volumes
Restaurer un groupe vgcfgrestore
de volumes
Exporter un groupe de vgexport
volumes

Oracle Database 10g : Administration Workshop I C-16

Unauthorized reproduction or distribution prohibitedฺ Copyright© 2009, Oracle and/or its affiliatesฺ
Importer un groupe de vgimport
volumes
Afficher un groupe de vgscan
volumes
Modifier les lvchange
caractéristiques d'un
volume logique
Afficher un volume lvdisplay
logique
Créer un volume lvcreate
logique
Etendre un volume lvextend
logique
Réduire un volume lvreduce
logique
Supprimer un volume lvremove
logique
Créer des volumes lvcreate -i 3 -I 64
répartis

Oracle Database 10g : Administration Workshop I C-17

Unauthorized reproduction or distribution prohibitedฺ Copyright© 2009, Oracle and/or its affiliatesฺ
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2009, Oracle and/or its affiliatesฺ
__________________________
Annexe D
Syntaxe des instructions SQL
__________________________

Unauthorized reproduction or distribution prohibitedฺ Copyright© 2009, Oracle and/or its affiliatesฺ
Instructions SQL
Cet extrait du manuel Oracle Database SQL Quick Reference présente la syntaxe des instructions
SQL Oracle. Ce sont les instructions SQL qui permettent aux programmes et aux utilisateurs
d'accéder aux données d'une base Oracle.
Le tableau 1 illustre chaque instruction SQL et la syntaxe associée. Le tableau 2 illustre la
syntaxe des sous-clauses du tableau 1.
Reportez-vous également au manuel Oracle Database SQL Reference pour des informations
détaillées sur les instructions SQL Oracle.

Tableau 1 : Syntaxe des instructions SQL

Instruction SQL Syntaxe


ALTER CLUSTER ALTER CLUSTER [ schema. ]cluster
{ physical_attributes_clause
| SIZE size_clause
| allocate_extent_clause
| deallocate_unused_clause
| { CACHE | NOCACHE }
}
[ physical_attributes_clause
| SIZE size_clause
| allocate_extent_clause
| deallocate_unused_clause
| { CACHE | NOCACHE }
]...
[ parallel_clause ] ;

ALTER DATABASE ALTER DATABASE [ database ]


{ startup_clauses
| recovery_clauses
| database_file_clauses
| logfile_clauses
| controlfile_clauses
| standby_database_clauses
| default_settings_clauses
| redo_thread_clauses
| security_clause
} ;

ALTER DIMENSION ALTER DIMENSION [ schema. ]dimension


{ ADD
{ level_clause
| hierarchy_clause
| attribute_clause
| extended_attribute_clause
}
[ ADD

Oracle Database 10g : Administration Workshop I D-2

Unauthorized reproduction or distribution prohibitedฺ Copyright© 2009, Oracle and/or its affiliatesฺ
Instruction SQL Syntaxe
{ level_clause
| hierarchy_clause
| attribute_clause
| extended_attribute_clause
}
]...
| DROP
{ LEVEL level
[ RESTRICT | CASCADE ]
| HIERARCHY hierarchy
| ATTRIBUTE attribute
[ LEVEL level [ COLUMN column
[, COLUMN column ]... ]
}
[ DROP
{ LEVEL level
[ RESTRICT | CASCADE ]
| HIERARCHY hierarchy
| ATTRIBUTE attribute
[ LEVEL level [ COLUMN column
[, COLUMN column ]... ]
}
]...
| COMPILE
} ;

ALTER DISKGROUP ALTER DISKGROUP


{ disk_clauses | diskgroup_clauses }
[ { disk_clauses | diskgroup_clauses } ]... ;

ALTER FUNCTION ALTER FUNCTION [ schema. ]function


COMPILE [ DEBUG ]
[ compiler_parameters_clause
[ compiler_parameters_clause ] ... ]
[ REUSE SETTINGS ] ;

ALTER INDEX ALTER INDEX [ schema. ]index


{ { deallocate_unused_clause
| allocate_extent_clause
| shrink_clause
| parallel_clause
| physical_attributes_clause
| logging_clause
}
[ deallocate_unused_clause
| allocate_extent_clause
| shrink_clause
| parallel_clause
| physical_attributes_clause
| logging_clause
]...
| rebuild_clause

Oracle Database 10g : Administration Workshop I D-3

Unauthorized reproduction or distribution prohibitedฺ Copyright© 2009, Oracle and/or its affiliatesฺ
Instruction SQL Syntaxe
| PARAMETERS ('ODCI_parameters')
| { ENABLE | DISABLE }
| UNUSABLE
| RENAME TO new_name
| COALESCE
| { MONITORING | NOMONITORING } USAGE
| UPDATE BLOCK REFERENCES
| alter_index_partitioning
} ;

ALTER INDEXTYPE ALTER INDEXTYPE [ schema. ]indextype


{ { ADD | DROP }
[ schema. ]operator (parameter_types)
[, { ADD | DROP }
[ schema. ]operator (parameter_types)
]...
[ using_type_clause ]
| COMPILE
} ;

ALTER JAVA ALTER JAVA


{ SOURCE | CLASS } [ schema. ]object_name
[ RESOLVER
( ( match_string [, ] { schema_name | - } )
[ ( match_string [, ] { schema_name | - } )
]...
)
]
{ { COMPILE | RESOLVE }
| invoker_rights_clause
} ;

ALTER MATERIALIZED VIEW ALTER MATERIALIZED VIEW


[ schema. ](materialized_view)
[ physical_attributes_clause
| table_compression
| LOB_storage_clause
[, LOB_storage_clause ]...
| modify_LOB_storage_clause
[, modify_LOB_storage_clause ]...
| alter_table_partitioning
| parallel_clause
| logging_clause
| allocate_extent_clause
| shrink_clause
| { CACHE | NOCACHE }
]
[ alter_iot_clauses ]
[ USING INDEX physical_attributes_clause ]
[ MODIFY scoped_table_ref_constraint
| alter_mv_refresh
]

Oracle Database 10g : Administration Workshop I D-4

Unauthorized reproduction or distribution prohibitedฺ Copyright© 2009, Oracle and/or its affiliatesฺ
Instruction SQL Syntaxe
[ { ENABLE | DISABLE } QUERY REWRITE
| COMPILE
| CONSIDER FRESH
] ;

ALTER MATERIALIZED VIEW ALTER MATERIALIZED VIEW LOG [ FORCE ]


LOG ON [ schema. ]table
[ physical_attributes_clause
| alter_table_partitioning
| parallel_clause
| logging_clause
| allocate_extent_clause
| shrink_clause
| { CACHE | NOCACHE }
]
[ ADD
{ { OBJECT ID
| PRIMARY KEY
| ROWID
| SEQUENCE
}
[ (column [, column ]...) ]
| (column [, column ]... )
}
[, { { OBJECT ID
| PRIMARY KEY
| ROWID
| SEQUENCE
}
[ (column [, column ]...) ]
| (column [, column ]...)
}
]...
[ new_values_clause ]
] ;

ALTER OPERATOR ALTER OPERATOR [ schema. ]operator


{ add_binding_clause
| drop_binding_clause
| COMPILE
} ;

ALTER OUTLINE ALTER OUTLINE


[ PUBLIC | PRIVATE ] outline
{ REBUILD
| RENAME TO new_outline_name
| CHANGE CATEGORY TO new_category_name
| { ENABLE | DISABLE }
}
[ REBUILD
| RENAME TO new_outline_name
| CHANGE CATEGORY TO new_category_name

Oracle Database 10g : Administration Workshop I D-5

Unauthorized reproduction or distribution prohibitedฺ Copyright© 2009, Oracle and/or its affiliatesฺ
Instruction SQL Syntaxe
| { ENABLE | DISABLE }
]... ;

ALTER PACKAGE ALTER PACKAGE [ schema. ]package


COMPILE [ DEBUG ]
[ PACKAGE | SPECIFICATION | BODY ]
[ compiler_parameters_clause
[ compiler_parameters_clause ] ... ]
[ REUSE SETTINGS ] ;

ALTER PROCEDURE ALTER PROCEDURE [ schema. ]procedure


COMPILE [ DEBUG ]
[ compiler_parameters_clause
[ compiler_parameters_clause ] ... ]
[ REUSE SETTINGS ] ;

ALTER PROFILE ALTER PROFILE profile LIMIT


{ resource_parameters | password_parameters }
[ resource_parameters | password_parameters
]... ;

ALTER RESOURCE COST ALTER RESOURCE COST


{ CPU_PER_SESSION
| CONNECT_TIME
| LOGICAL_READS_PER_SESSION
| PRIVATE_SGA
}
integer
[ { CPU_PER_SESSION
| CONNECT_TIME
| LOGICAL_READS_PER_SESSION
| PRIVATE_SGA
}
integer
] ... ;

ALTER ROLE ALTER ROLE role


{ NOT IDENTIFIED
| IDENTIFIED
{ BY password
| USING [ schema. ]package
| EXTERNALLY
| GLOBALLY
}
} ;

ALTER ROLEBACK SEGMENT ALTER ROLLBACK SEGMENT rollback_segment


{ ONLINE
| OFFLINE
| storage_clause

Oracle Database 10g : Administration Workshop I D-6

Unauthorized reproduction or distribution prohibitedฺ Copyright© 2009, Oracle and/or its affiliatesฺ
Instruction SQL Syntaxe
| SHRINK [ TO integer [ K | M ] ]
};

ALTER SEQUENCE ALTER SEQUENCE [ schema. ]sequence


{ INCREMENT BY integer
| { MAXVALUE integer | NOMAXVALUE }
| { MINVALUE integer | NOMINVALUE }
| { CYCLE | NOCYCLE }
| { CACHE integer | NOCACHE }
| { ORDER | NOORDER }
}
[ INCREMENT BY integer
| { MAXVALUE integer | NOMAXVALUE }
| { MINVALUE integer | NOMINVALUE }
| { CYCLE | NOCYCLE }
| { CACHE integer | NOCACHE }
| { ORDER | NOORDER }
]... ;

ALTER SESSION ALTER SESSION


{ ADVISE { COMMIT | ROLLBACK | NOTHING }
| CLOSE DATABASE LINK dblink
| { ENABLE | DISABLE } COMMIT IN PROCEDURE
| { ENABLE | DISABLE } GUARD
| { ENABLE | DISABLE | FORCE } PARALLEL
{ DML | DDL | QUERY } [ PARALLEL integer ]
| { ENABLE RESUMABLE
[ TIMEOUT integer ] [ NAME string ]
| DISABLE RESUMABLE
}
| alter_session_set_clause
} ;

ALTER SYSTEM ALTER SYSTEM


{ archive_log_clause
| checkpoint_clause
| check_datafiles_clause
| DUMP ACTIVE SESSION HISTORY [ MINUTES integer ]
| distributed_recov_clauses
| restricted_session_clauses
| FLUSH { SHARED_POOL | BUFFER_CACHE }
| end_session_clauses
| SWITCH LOGFILE
| { SUSPEND | RESUME }
| quiesce_clauses
| shutdown_dispatcher_clause
| REGISTER
| SET alter_system_set_clause
[ alter_system_set_clause ]...
| RESET alter_system_reset_clause
[ alter_system_reset_clause ]...
} ;

Oracle Database 10g : Administration Workshop I D-7

Unauthorized reproduction or distribution prohibitedฺ Copyright© 2009, Oracle and/or its affiliatesฺ
Instruction SQL Syntaxe
ALTER TABLE ALTER TABLE [ schema. ]table
[ alter_table_properties
| column_clauses
| constraint_clauses
| alter_table_partitioning
| alter_external_table_clauses
| move_table_clause
]
[ enable_disable_clause
| { ENABLE | DISABLE }
{ TABLE LOCK | ALL TRIGGERS }
[ enable_disable_clause
| { ENABLE | DISABLE }
{ TABLE LOCK | ALL TRIGGERS }
]...
] ;

ALTER TABLESPACE ALTER TABLESPACE tablespace


{ DEFAULT
[ table_compression ] storage_clause
| MINIMUM EXTENT integer [ K | M ]
| RESIZE size_clause
| COALESCE
| RENAME TO new_tablespace_name
| { BEGIN | END } BACKUP
| datafile_tempfile_clauses
| tablespace_logging_clauses
| tablespace_group_clause
| tablespace_state_clauses
| autoextend_clause
| flashback_mode_clause
| tablespace_retention_clause
} ;

ALTER TRIGGER ALTER TRIGGER [ schema. ]trigger


{ ENABLE
| DISABLE
| RENAME TO new_name
| COMPILE [ DEBUG ]
[ compiler_parameters_clause
[ compiler_parameters_clause ] ... ]
[ REUSE SETTINGS ]
} ;

ALTER TYPE ALTER TYPE [ schema. ]type


{ compile_type_clause
| replace_type_clause
| { alter_method_spec
| alter_attribute_definition
| alter_collection_clauses
| [ NOT ] { INSTANTIABLE | FINAL }
}

Oracle Database 10g : Administration Workshop I D-8

Unauthorized reproduction or distribution prohibitedฺ Copyright© 2009, Oracle and/or its affiliatesฺ
Instruction SQL Syntaxe
[ dependent_handling_clause ]
} ;

ALTER USER ALTER USER


{ user
{ IDENTIFIED
{ BY password [ REPLACE old_password ]
| EXTERNALLY
| GLOBALLY AS ’external_name’
}
| DEFAULT TABLESPACE tablespace
| TEMPORARY TABLESPACE
{ tablespace | tablespace_group_name }
| QUOTA { integer [ K | M ]
| UNLIMITED
} ON tablespace
[ QUOTA { integer [ K | M ]
| UNLIMITED
} ON tablespace
]...
| PROFILE profile
| DEFAULT ROLE { role [, role ]...
| ALL [ EXCEPT
role [, role ]... ]
| NONE
}
| PASSWORD EXPIRE
| ACCOUNT { LOCK | UNLOCK }
}
(continued)

(cont.) ALTER USER [ { IDENTIFIED


{ BY password [ REPLACE old_password ]
| EXTERNALLY
| GLOBALLY AS ’external_name’
}
| DEFAULT TABLESPACE tablespace
| TEMPORARY TABLESPACE
{ tablespace | tablespace_group_name }
| QUOTA { integer [ K | M ]
| UNLIMITED
} ON tablespace
[ QUOTA { integer [ K | M ]
| UNLIMITED
} ON tablespace
]...
| PROFILE profile
| DEFAULT ROLE { role [, role ]...
| ALL [ EXCEPT
role [, role ]... ]
| NONE
}
| PASSWORD EXPIRE

Oracle Database 10g : Administration Workshop I D-9

Unauthorized reproduction or distribution prohibitedฺ Copyright© 2009, Oracle and/or its affiliatesฺ
Instruction SQL Syntaxe
| ACCOUNT { LOCK | UNLOCK }
}
]...
| user [, user ]... proxy_clause ;

ALTER VIEW ALTER VIEW [ schema. ]view


{ ADD out_of_line_constraint
| MODIFY CONSTRAINT constraint
{ RELY | NORELY }
| DROP { CONSTRAINT constraint
| PRIMARY KEY
| UNIQUE (column [, column ]...)
}
| COMPILE
} ;

ANALYZE ANALYZE
{ TABLE [ schema. ]table
[ PARTITION (partition)
| SUBPARTITION (subpartition)
]
| INDEX [ schema. ]index
[ PARTITION (partition)
| SUBPARTITION (subpartition)
]
| CLUSTER [ schema. ]cluster
}
{ validation_clauses
| LIST CHAINED ROWS [ into_clause ]
| DELETE [ SYSTEM ] STATISTICS
| compute_statistics_clause
| estimate_statistics_clause
} ;

ASSOCIATE STATISTICS ASSOCIATE STATISTICS WITH


{ column_association | function_association } ;

AUDIT AUDIT
{ sql_statement_clause | schema_object_clause }
[ BY { SESSION | ACCESS } ]
[ WHENEVER [ NOT ] SUCCESSFUL ] ;

CALL CALL
{ routine_clause
| object_access_expression
}
[ INTO :host_variable
[ [ INDICATOR ] :indicator_variable ] ] ;

Oracle Database 10g : Administration Workshop I D-10

Unauthorized reproduction or distribution prohibitedฺ Copyright© 2009, Oracle and/or its affiliatesฺ
Instruction SQL Syntaxe
COMMENT COMMENT ON
{TABLE [ schema. ]
{ table | view }
| COLOMN [ schema. ]
{ table | view | materialized_view. } colomn
| OPERATOR [ schema. ] operator
| INDEXTYPE [ schema. ] indextype
| MATERIALIZED VIEW materialized_view
}
IS 'text'

COMMIT COMMIT [ WORK ]


[ COMMENT 'text'
| FORCE 'text' [, integer ]
] ;

CREATE CLUSTER CREATE CLUSTER [ schema. ]cluster


(column datatype [ SORT ]
[, column datatype [ SORT ] ]...
)
[ { physical_attributes_clause
| SIZE size_clause
| TABLESPACE tablespace
| { INDEX
| [ SINGLE TABLE ]
HASHKEYS integer [ HASH IS expr ]
}
}
[ physical_attributes_clause
| SIZE size_clause
| TABLESPACE tablespace
| { INDEX
| [ SINGLE TABLE ]
HASHKEYS integer [ HASH IS expr ]
}
]...
]
[ parallel_clause ]
[ NOROWDEPENDENCIES | ROWDEPENDENCIES ]
[ CACHE | NOCACHE ] ;

CREATE CONTEXT CREATE [ OR REPLACE ] CONTEXT namespace


USING [ schema. ] package
[ INITIALIZED { EXTERNALLY | GLOBALLY }
| ACCESSED GLOBALLY
] ;

CREATE CONTROLFILE CREATE CONTROLFILE


[ REUSE ]
[ SET ]
DATABASE database

Oracle Database 10g : Administration Workshop I D-11

Unauthorized reproduction or distribution prohibitedฺ Copyright© 2009, Oracle and/or its affiliatesฺ
Instruction SQL Syntaxe
[ logfile_clause ]
{ RESETLOGS | NORESETLOGS }
[ DATAFILE file_specification
[, file_specification ]... ]
[ { MAXLOGFILES integer
| MAXLOGMEMBERS integer
| MAXLOGHISTORY integer
| MAXDATAFILES integer
| MAXINSTANCES integer
| { ARCHIVELOG | NOARCHIVELOG }
| FORCE LOGGING
}
[ MAXLOGFILES integer
| MAXLOGMEMBERS integer
| MAXLOGHISTORY integer
| MAXDATAFILES integer
| MAXINSTANCES integer
| { ARCHIVELOG | NOARCHIVELOG }
| FORCE LOGGING
]...
]
[ character_set_clause ] ;

CREATE DATABASE CREATE DATABASE [ database ]


{ USER SYS IDENTIFIED BY password
| USER SYSTEM IDENTIFIED BY password
| CONTROLFILE REUSE
| MAXDATAFILES integer
| MAXINSTANCES integer
| CHARACTER SET charset
| NATIONAL CHARACTER SET charset
| SET DEFAULT
{ BIGFILE | SMALLFILE } TABLESPACE
| database_logging_clauses
| tablespace_clauses
| set_time_zone_clause
}... ;

CREATE DATABASE LINK CREATE [ SHARED ] [ PUBLIC ] DATABASE LINK dblink


[ CONNECT TO
{ CURRENT_USER
| user IDENTIFIED BY password
[ dblink_authentication ]
}
| dblink_authentication
]
[ USING 'connect_string' ] ;

CREATE DIMENSION CREATE DIMENSION [ schema. ]dimension


level_clause
[ level_clause ]...
{ hierarchy_clause

Oracle Database 10g : Administration Workshop I D-12

Unauthorized reproduction or distribution prohibitedฺ Copyright© 2009, Oracle and/or its affiliatesฺ
Instruction SQL Syntaxe
| attribute_clause
| extended_attribute_clause
}
[ hierarchy_clause
| attribute_clause
| extended_attribute_clause
]... ;

CREATE DIRECTORY CREATE [ OR REPLACE ] DIRECTORY directory


AS 'path_name' ;

CREATE DISKGROUP CREATE DISKGROUP diskgroup_name


[ { HIGH | NORMAL | EXTERNAL } REDUNDANCY ]
[ FAILGROUP failgroup_name ]
DISK qualified_disk_clause
[, qualified_disk_clause ]...
[ [ FAILGROUP failgroup_name ]
DISK qualified_disk_clause
[, qualified_disk_clause ]...
]... ;

CREATE FUNCTION CREATE [ OR REPLACE ] FUNCTION [ schema. ]function


[ (argument [ IN | OUT | IN OUT ]
[ NOCOPY ] datatype
[, argument [ IN | OUT | IN OUT ]
[ NOCOPY ] datatype
]...
)
]
RETURN datatype
[ { invoker_rights_clause
| DETERMINISTIC
| parallel_enable_clause
}
[ invoker_rights_clause
| DETERMINISTIC
| parallel_enable_clause
]...
]
{ { AGGREGATE | PIPELINED }
USING [ schema. ]implementation_type
| [ PIPELINED ]
{ IS | AS }
{ pl/sql_function_body | call_spec }
} ;

CREATE INDEX CREATE [ UNIQUE | BITMAP ] INDEX [ schema. ]index


ON { cluster_index_clause
| table_index_clause
| bitmap_join_index_clause
} ;

Oracle Database 10g : Administration Workshop I D-13

Unauthorized reproduction or distribution prohibitedฺ Copyright© 2009, Oracle and/or its affiliatesฺ
Instruction SQL Syntaxe
CREATE INDEXTYPE CREATE [ OR REPLACE ] INDEXTYPE
[ schema. ]indextype FOR
[ schema. ]operator (paramater_type
[, paramater_type ]...)
[, [ schema. ]operator (paramater_type
[, paramater_type ]...)
]...
using_type_clause ;

CREATE JAVA CREATE [ OR REPLACE ]


[ AND { RESOLVE | COMPILE } ]
[ NOFORCE ]
JAVA { { SOURCE | RESOURCE }
NAMED [ schema. ]primary_name
| CLASS [ SCHEMA schema ]
}
[ invoker_rights_clause ]
[ RESOLVER
((match_string [,] { schema_name | - })
[ (match_string [,] { schema_name | - }) ]...
)
]
{ USING { BFILE (directory_object_name ,
server_file_name)
| { CLOB | BLOB | BFILE }
subquery
| 'key_for_BLOB'
}
| AS source_text
} ;

CREATE LIBRARY CREATE [ OR REPLACE ] LIBRARY [ schema. ]libname


{ IS | AS } 'filename' [ AGENT 'agent_dblink' ] ;

CREATE MATERIALIZED VIEW CREATE MATERIALIZED VIEW


[ schema. ]materialized_view
[ OF [ schema. ]object_type ]
[ (scoped_table_ref_constraint) ]
{ ON PREBUILT TABLE
[ { WITH | WITHOUT } REDUCED PRECISION ]
| physical_properties materialized_view_props
}
[ USING INDEX
[ physical_attributes_clause
| TABLESPACE tablespace
]
[ physical_attributes_clause
| TABLESPACE tablespace
]...
| USING NO INDEX
]
[ create_mv_refresh ]

Oracle Database 10g : Administration Workshop I D-14

Unauthorized reproduction or distribution prohibitedฺ Copyright© 2009, Oracle and/or its affiliatesฺ
Instruction SQL Syntaxe
[ FOR UPDATE ]
[ { DISABLE | ENABLE }
QUERY REWRITE
]
AS subquery ;

CREATE MATERIALIZED VIEW CREATE MATERIALIZED VIEW LOG


LOG ON [ schema. ] table
[ physical_attributes_clause
| TABLESPACE tablespace
| logging_clause
| { CACHE | NOCACHE }
[ physical_attributes_clause
| TABLESPACE tablespace
| logging_clause
| { CACHE | NOCACHE }
]...
]
[ parallel_clause ]
[ table_partitioning_clauses ]
[ WITH { OBJECT ID
| PRIMARY KEY
| ROWID
| SEQUENCE
| (column [, column ]...)
}
[, { OBJECT ID
| PRIMARY KEY
| ROWID
| SEQUENCE
| (column [, column ]...)
}
]...
[ new_values_clause ]
] ;

CREATE OPERATOR CREATE [ OR REPLACE ] OPERATOR


[ schema. ] operator binding_clause ;

CREATE OUTLINE CREATE [ OR REPLACE ]


[ PUBLIC | PRIVATE ] OUTLINE [ outline ]
[ FROM [ PUBLIC | PRIVATE ] source_outline ]
[ FOR CATEGORY category ]
[ ON statement ] ;

CREATE PACKAGE CREATE [ OR REPLACE ] PACKAGE [ schema. ]package


[ invoker_rights_clause ]
{ IS | AS } pl/sql_package_spec ;

CREATE PACKAGE BODY CREATE [ OR REPLACE ] PACKAGE BODY


[ schema. ]package
{ IS | AS } pl/sql_package_body ;

Oracle Database 10g : Administration Workshop I D-15

Unauthorized reproduction or distribution prohibitedฺ Copyright© 2009, Oracle and/or its affiliatesฺ
Instruction SQL Syntaxe
CREATE PFILE CREATE PFILE [= 'pfile_name' ]
FROM SPFILE [= 'spfile_name'] ;

CREATE PROCEDURE CREATE [ OR REPLACE ] PROCEDURE [ schema. ]procedure


[ (argument [ IN | OUT | IN OUT ]
[ NOCOPY ]
datatype
[, argument [ IN | OUT | IN OUT ]
[ NOCOPY ]
datatype
]...
)
]
[ invoker_rights_clause ]
{ IS | AS }
{ pl/sql_subprogram_body | call_spec } ;

CREATE PROFILE CREATE PROFILE profile


LIMIT { resource_parameters
| password_parameters
}
[ resource_parameters
| password_parameters
]... ;

CREATE ROLE CREATE ROLE role


[ NOT IDENTIFIED
| IDENTIFIED { BY password
| USING [ schema. ] package
| EXTERNALLY
| GLOBALLY
}
] ;

CREATE ROLEBACK SEGMENT CREATE [ PUBLIC ] ROLLBACK SEGMENT rollback_segment


[ { TABLESPACE tablespace | storage_clause }
[ TABLESPACE tablespace | storage_clause ]...
];

CREATE SCHEMA CREATE SCHEMA AUTHORIZATION schema


{ create_table_statement
| create_view_statement
| grant_statement
}
[ create_table_statement
| create_view_statement
| grant_statement
]... ;

Oracle Database 10g : Administration Workshop I D-16

Unauthorized reproduction or distribution prohibitedฺ Copyright© 2009, Oracle and/or its affiliatesฺ
Instruction SQL Syntaxe
CREATE SEQUENCE CREATE SEQUENCE [ schema. ]sequence
[ { INCREMENT BY | START WITH } integer
| { MAXVALUE integer | NOMAXVALUE }
| { MINVALUE integer | NOMINVALUE }
| { CYCLE | NOCYCLE }
| { CACHE integer | NOCACHE }
| { ORDER | NOORDER }
]
[ { INCREMENT BY | START WITH } integer
| { MAXVALUE integer | NOMAXVALUE }
| { MINVALUE integer | NOMINVALUE }
| { CYCLE | NOCYCLE }
| { CACHE integer | NOCACHE }
| { ORDER | NOORDER }
]... ;

CREATE SPFILE CREATE SPFILE [= 'spfile_name' ]


FROM PFILE [= 'pfile_name' ] ;

CREATE SYNONYM CREATE [ OR REPLACE ] [ PUBLIC ] SYNONYM


[ schema. ]synonym
FOR [ schema. ]object [ @ dblink ] ;

CREATE TABLE { relational_table | object_table | XMLType_table }

CREATE TABLESPACE CREATE


[ BIGFILE | SMALLFILE ]
{ permanent_tablespace_clause
| temporary_tablespace_clause
| undo_tablespace_clause
} ;

CREATE TRIGGER CREATE [ OR REPLACE ] TRIGGER [ schema. ]trigger


{ BEFORE | AFTER | INSTEAD OF }
{ dml_event_clause
| { ddl_event [ OR ddl_event ]...
| database_event [ OR database_event ]...
}
ON { [ schema. ]SCHEMA
| DATABASE
}
}
[ WHEN (condition) ]
{ pl/sql_block | call_procedure_statement } ;

CREATE TYPE { create_incomplete_type


| create_object_type
| create_varray_type
| create_nested_table_type
}

Oracle Database 10g : Administration Workshop I D-17

Unauthorized reproduction or distribution prohibitedฺ Copyright© 2009, Oracle and/or its affiliatesฺ
Instruction SQL Syntaxe
CREATE TYPE BODY CREATE [ OR REPLACE ] TYPE BODY [ schema. ]type_name
{ IS | AS }
{ subprogram_declaration
| map_order_func_declaration
}
[; { subprogram_declaration
| map_order_func_declaration
}
]...
END ;

CREATE USER CREATE USER user


IDENTIFIED { BY password
| EXTERNALLY
| GLOBALLY AS 'external_name'
}
[ DEFAULT TABLESPACE tablespace
| TEMPORARY TABLESPACE
{ tablespace | tablespace_group_name }
| QUOTA { integer [ K | M ]
| UNLIMITED
}
ON tablespace
[ QUOTA { integer [ K | M ]
| UNLIMITED
}
ON tablespace
]...
| PROFILE profile
| PASSWORD EXPIRE
| ACCOUNT { LOCK | UNLOCK }
[ DEFAULT TABLESPACE tablespace
| TEMPORARY TABLESPACE
{ tablespace | tablespace_group_name }
| QUOTA { integer [ K | M ]
| UNLIMITED
}
ON tablespace
[ QUOTA { integer [ K | M ]
| UNLIMITED
}
ON tablespace
]...
| PROFILE profile
| PASSWORD EXPIRE
| ACCOUNT { LOCK | UNLOCK }
]...
] ;

CREATE VIEW CREATE [ OR REPLACE ] [ [ NO ] FORCE ] VIEW


[ schema. ]view
[ (alias [ inline_constraint
[ inline_constraint ]... ]

Oracle Database 10g : Administration Workshop I D-18

Unauthorized reproduction or distribution prohibitedฺ Copyright© 2009, Oracle and/or its affiliatesฺ
Instruction SQL Syntaxe
| out_of_line_constraint
[, alias [ inline_constraint
[ inline_constraint ]... ]
| out_of_line_constraint
]...
)
| object_view_clause
| XMLType_view_clause
]
AS subquery [ subquery_restriction_clause ] ;

DELETE DELETE [ hint ]


[ FROM ]
{ dml_table_expression_clause
| ONLY (dml_table_expression_clause)
}
[ t_alias ]
[ where_clause ]
[ returning_clause ] ;

DISASSOCIATE STATISTICS DISASSOCIATE STATISTICS FROM


{ COLUMNS [ schema. ]table.column
[, [ schema. ]table.column ]...
| FUNCTIONS [ schema. ]function
[, [ schema. ]function ]...
| PACKAGES [ schema. ]package
[, [ schema. ]package ]...
| TYPES [ schema. ]type
[, [ schema. ]type ]...
| INDEXES [ schema. ]index
[, [ schema. ]index ]...
| INDEXTYPES [ schema. ]indextype
[, [ schema. ]indextype ]...
}
[ FORCE ] ;

DROP CLUSTER DROP CLUSTER [ schema. ]cluster


[ INCLUDING TABLES [ CASCADE CONSTRAINTS ] ] ;

DROP CONTEXT DROP CONTEXT namespace ;

DROP DATABASE DROP DATABASE ;

DROP DATABASE LINK DROP [ PUBLIC ] DATABASE LINK dblink ;

DROP DIMENSION DROP DIMENSION [ schema. ]dimension ;

DROP DIRECTORY DROP DIRECTORY directory_name ;

Oracle Database 10g : Administration Workshop I D-19

Unauthorized reproduction or distribution prohibitedฺ Copyright© 2009, Oracle and/or its affiliatesฺ
Instruction SQL Syntaxe
DROP DISKGROUP DROP DISKGROUP diskgroup_name
[ { INCLUDING | EXCLUDING }
CONTENTS
] ;

DROP FUNCTION DROP FUNCTION [ schema. ]function_name ;

DROP INDEX DROP INDEX [ schema. ]index [ FORCE ] ;

DROP INDEXTYPE DROP INDEXTYPE [ schema. ]indextype [ FORCE ] ;

DROP JAVA DROP JAVA


{ SOURCE | CLASS | RESOURCE }
[ schema. ]object_name ;

DROP LIBRARY DROP LIBRARY library_name ;

DROP MATERIALIZED VIEW DROP MATERIALIZED VIEW


[ schema. ]materialized_view
[ PRESERVE TABLE ] ;

DROP MATERIALIZED VIEW DROP MATERIALIZED VIEW LOG


LOG ON [ schema. ]table ;

DROP OPERATOR DROP OPERATOR [ schema. ]operator [ FORCE ] ;

DROP OUTLINE DROP OUTLINE outline ;

DROP PACKAGE DROP PACKAGE [ BODY ] [ schema. ]package ;

DROP PROCEDURE DROP PROCEDURE [ schema. ]procedure ;

DROP PROFILE DROP PROFILE profile [ CASCADE ] ;

DROP ROLE DROP ROLE role ;

DROP ROLLBACK SEGMENT DROP ROLLBACK SEGMENT rollback_segment ;

DROP SEQUENCE DROP SEQUENCE [ schema. ]sequence_name ;

DROP SYNONYM DROP [ PUBLIC ] SYNONYM [ schema. ]synonym


[ FORCE ] ;

Oracle Database 10g : Administration Workshop I D-20

Unauthorized reproduction or distribution prohibitedฺ Copyright© 2009, Oracle and/or its affiliatesฺ
Instruction SQL Syntaxe
DROP TABLE DROP TABLE [ schema. ]table
[ CASCADE CONSTRAINTS ]
[ PURGE ] ;

DROP TABLESPACE DROP TABLESPACE tablespace


[ INCLUDING CONTENTS [ AND DATAFILES ]
[ CASCADE CONSTRAINTS ]
] ;

DROP TRIGGER DROP TRIGGER [ schema. ]trigger ;

DROP TYPE DROP TYPE [ schema. ]type_name


[ FORCE | VALIDATE ] ;

DROP TYPE BODY DROP TYPE BODY [ schema. ]type_name ;

DROP USER DROP USER user [ CASCADE ] ;

DROP VIEW DROP VIEW [ schema. ] view


[ CASCADE CONSTRAINTS ] ;

EXPLAIN PLAN EXPLAIN PLAN


[ SET STATEMENT_ID = 'text' ]
[ INTO [ schema. ]table [ @ dblink ] ]
FOR statement ;

FLASHBACK DATABASE FLASHBACK [ STANDBY ] DATABASE [ database ]


{ TO { SCN | TIMESTAMP } expr
| TO BEFORE { SCN | TIMESTAMP } expr
};

FLASHBACK TABLE FLASHBACK TABLE


[ schema. ]table
[, [ schema. ]table ]...
TO { { SCN | TIMESTAMP } expr
[ { ENABLE | DISABLE } TRIGGERS ]
| BEFORE DROP [ RENAME TO table ]
} ;

GRANT GRANT { grant_system_privileges


| grant_object_privileges
} ;

INSERT INSERT [ hint ]


{ single_table_insert | multi_table_insert } ;

Oracle Database 10g : Administration Workshop I D-21

Unauthorized reproduction or distribution prohibitedฺ Copyright© 2009, Oracle and/or its affiliatesฺ
Instruction SQL Syntaxe
LOCK TABLE LOCK TABLE
[ schema. ] { table | view }
[ { PARTITION (partition)
| SUBPARTITION (subpartition)
}
| @ dblink
]
[, [ schema. ] { table | view }
[ { PARTITION (partition)
| SUBPARTITION (subpartition)
}
| @ dblink
]
]...
IN lockmode MODE

MERGE MERGE [ hint ]


INTO [ schema. ]table [ t_alias ]
USING [ schema. ] { table | view | subquery }
[ t_alias ]
ON ( condition )
[ merge_update_clause ]
[ merge_insert_clause ] ;

NOAUDIT NOAUDIT
{ sql_statement_clause
[, sql_statement_clause ]...
| schema_object_clause
[, schema_object_clause ]...
}
[ WHENEVER [ NOT ] SUCCESSFUL ] ;

PURGE PURGE
{ { TABLE table
| INDEX index
}
| { RECYCLEBIN | DBA_RECYCLEBIN }
| TABLESPACE tablespace
[ USER user ]
} ;
DO NOT IMPORT AS INSET problem importing file, locks
up Fr
RENAME RENAME old_name
TO new_name ;

REVOKE REVOKE { revoke_system_privileges


| revoke_object_privileges
} ;

Oracle Database 10g : Administration Workshop I D-22

Unauthorized reproduction or distribution prohibitedฺ Copyright© 2009, Oracle and/or its affiliatesฺ
Instruction SQL Syntaxe
ROLLBACK ROLLBACK [ WORK ]

SAVEPOINT SAVEPOINT savepoint ;

SELECT subquery [ for_update_clause ] ;

SET CONSTRAINT[S] SET { CONSTRAINT | CONSTRAINTS }


{ constraint [, constraint ]...
| ALL
}
{ IMMEDIATE | DEFERRED } ;

SET ROLE SET ROLE


{ role [ IDENTIFIED BY password ]
[, role [ IDENTIFIED BY password ] ]...
| ALL [ EXCEPT role [, role ]... ]
| NONE
} ;

SET TRANSACTION SET TRANSACTION


{ { READ { ONLY | WRITE }
| ISOLATION LEVEL
{ SERIALIZABLE | READ COMMITTED }
| USE ROLLBACK SEGMENT rollback_segment
}
[ NAME 'text' ]
| NAME 'text'
} ;

TRUNCATE TRUNCATE
{ TABLE [ schema. ]table
[ { PRESERVE | PURGE } MATERIALIZED VIEW LOG ]
| CLUSTER [ schema. ]cluster
}
[ { DROP | REUSE } STORAGE ] ;

UPDATE UPDATE [ hint ]


{ dml_table_expression_clause
| ONLY (dml_table_expression_clause)
}
[ t_alias ]
update_set_clause
[ where_clause ]
[ returning_clause ] ;

Oracle Database 10g : Administration Workshop I D-23

Unauthorized reproduction or distribution prohibitedฺ Copyright© 2009, Oracle and/or its affiliatesฺ
Tableau 2 : Syntaxe des sous-clauses

Sous-clause Syntaxe
activate_standby_db_clause ACTIVATE
[ PHYSICAL | LOGICAL ]
STANDBY DATABASE
[ SKIP [ STANDBY LOGFILE ] ]

add_binding_clause ADD BINDING


(parameter_type
[, parameter_type ]...)
RETURN (return_type)
[ implementation_clause ]
using_function_clause

add_column_clause ADD
( column datatype
[ DEFAULT expr ]
[ { inline_constraint
[ inline_constraint ]...
| inline_ref_constraint
}
]
[, column datatype
[ DEFAULT expr ]
[ { inline_constraint
[ inline_constraint ]...
| inline_ref_constraint
}
]
]...
)
[ column_properties ]

add_disk_clause ADD
[ FAILGROUP failgroup_name ]
DISK qualified_disk_clause
[, qualified_disk_clause ]...
[ [ FAILGROUP failgroup_name ]
DISK qualified_disk_clause
[, qualified_disk_clause ]...
]...

add_hash_index_partition ADD PARTITION


[ partition_name ]
[ TABLESPACE tablespace_name ]
[ parallel_clause ]

add_hash_partition_clause ADD PARTITION [ partition ]


partitioning_storage_clause
[ update_index_clauses ]
[ parallel_clause ]

Oracle Database 10g : Administration Workshop I D-24

Unauthorized reproduction or distribution prohibitedฺ Copyright© 2009, Oracle and/or its affiliatesฺ
Sous-clause Syntaxe
add_hash_subpartition ADD subpartition_spec
[ update_index_clauses ]
[ parallel_clause ]

add_list_partition_clause ADD PARTITION [ partition ]


list_values_clause
[ table_partition_description ]
[ update_index_clauses ]

add_list_subpartition ADD subpartition_spec


[ update_index_clauses ]

add_logfile_clauses ADD [ STANDBY ] LOGFILE


{ [ INSTANCE 'instance_name' | THREAD integer
]
[ GROUP integer ] redo_log_file_spec
[, [ GROUP integer ] redo_log_file_spec
]...
| MEMBER 'filename' [ REUSE ]
[, 'filename' [ REUSE ] ]...
TO logfile_descriptor
[, logfile_descriptor ]...
}

add_overflow_clause ADD OVERFLOW [ segment_attributes_clause ]


[ (PARTITION [ segment_attributes_clause ]
[, PARTITION [ segment_attributes_clause ]
]...
)
]

add_range_partition_clause ADD PARTITION [ partition ]


range_values_clause
[ table_partition_description ]
[ update_index_clauses ]

add_table_partition { add_range_partition_clause
| add_hash_partition_clause
| add_list_partition_clause
}

alias_file_name +diskgroup_name [ (template_name) ] /alias_name

allocate_extent_clause ALLOCATE EXTENT


[ ( { SIZE size_clause
| DATAFILE 'filename'
| INSTANCE integer
}

Oracle Database 10g : Administration Workshop I D-25

Unauthorized reproduction or distribution prohibitedฺ Copyright© 2009, Oracle and/or its affiliatesฺ
Sous-clause Syntaxe
[ SIZE size_clause
| DATAFILE 'filename'
| INSTANCE integer
]...
)
]

alter_attribute_definition { { ADD | MODIFY } ATTRIBUTE


{ attribute [ datatype ]
| ( attribute datatype
[, attribute datatype ]...
)
}
| DROP ATTRIBUTE
{ attribute
| ( attribute [, attribute ]... )
}
}

alter_collection_clauses MODIFY { LIMIT integer


| ELEMENT TYPE datatype
}

alter_datafile_clause DATAFILE
{ 'filename' | filenumber }
[, 'filename' | filenumber ]...
}
{ ONLINE
| OFFLINE [ FOR DROP ]
| RESIZE size_clause
| autoextend_clause
| END BACKUP
}

alter_external_table_clauses { add_column_clause
| modify_column_clauses
| drop_column_clause
| parallel_clause
| external_data_properties
| REJECT LIMIT { integer | UNLIMITED }
| PROJECT COLUMN { ALL | REFERENCED }
}
[ add_column_clause
| modify_column_clauses
| drop_column_clause
| parallel_clause
| external_data_properties
| REJECT LIMIT { integer | UNLIMITED }
| PROJECT COLUMN { ALL | REFERENCED }
]...

Oracle Database 10g : Administration Workshop I D-26

Unauthorized reproduction or distribution prohibitedฺ Copyright© 2009, Oracle and/or its affiliatesฺ
Sous-clause Syntaxe
alter_index_partitioning { modify_index_default_attrs
| add_hash_index_partition
| modify_index_partition
| rename_index_partition
| drop_index_partition
| split_index_partition
| coalesce_index_partition
| modify_index_subpartition
}

alter_iot_clauses { index_org_table_clause
| alter_overflow_clause
| alter_mapping_table_clauses
| COALESCE
}

alter_mapping_table_clauses MAPPING TABLE


{ UPDATE BLOCK REFERENCES
| allocate_extent_clause
| deallocate_unused_clause
}

alter_method_spec { ADD | DROP }


{ map_order_function_spec
| subprogram_spec
}
[ { ADD | DROP }
{ map_order_function_spec
| subprogram_spec
}
]...

alter_mv_refresh REFRESH
{ { FAST | COMPLETE | FORCE }
| ON { DEMAND | COMMIT }
| { START WITH | NEXT } date
| WITH PRIMARY KEY
| USING
{ DEFAULT MASTER ROLLBACK SEGMENT
| MASTER ROLLBACK SEGMENT
rollback_segment
}
| USING { ENFORCED | TRUSTED } CONSTRAINTS
}

alter_overflow_clause { OVERFLOW
{ allocate_extent_clause
| deallocate_unused_clause
}
[ allocate_extent_clause
| deallocate_unused_clause

Oracle Database 10g : Administration Workshop I D-27

Unauthorized reproduction or distribution prohibitedฺ Copyright© 2009, Oracle and/or its affiliatesฺ
Sous-clause Syntaxe
]...
| add_overflow_clause
}

alter_session_set_clause SET parameter_name = parameter_value


[ parameter_name = parameter_value ]...

alter_system_reset_clause parameter_name
[ SCOPE = { MEMORY | SPFILE | BOTH } ]
SID = 'sid'

alter_system_set_clause parameter_name =
parameter_value [, parameter_value ]...
[ COMMENT 'text' ]
[ DEFERRED ]
[ SCOPE = { MEMORY | SPFILE | BOTH } ]
[ SID = { 'sid' | * } ]

alter_table_partitioning { modify_table_default_attrs
| set_subpartition_template
| modify_table_partition
| modify_table_subpartition
| move_table_partition
| move_table_subpartition
| add_table_partition
| coalesce_table_partition
| drop_table_partition
| drop_table_subpartition
| rename_partition_subpart
| truncate_partition_subpart
| split_table_partition
| split_table_subpartition
| merge_table_partitions
| merge_table_subpartitions
| exchange_partition_subpart
}

alter_table_properties { { physical_attributes_clause
| logging_clause
| table_compression
| supplemental_table_logging
| allocate_extent_clause
| deallocate_unused_clause
| shrink_clause
| { CACHE | NOCACHE }
| upgrade_table_clause
| records_per_block_clause
| parallel_clause
| row_movement_clause
}
[ physical_attributes_clause

Oracle Database 10g : Administration Workshop I D-28

Unauthorized reproduction or distribution prohibitedฺ Copyright© 2009, Oracle and/or its affiliatesฺ
Sous-clause Syntaxe
| logging_clause
| table_compression
| supplemental_table_logging
| allocate_extent_clause
| deallocate_unused_clause
| shrink_clause
| { CACHE | NOCACHE }
| upgrade_table_clause
| records_per_block_clause
| parallel_clause
| row_movement_clause
]...
| RENAME TO new_table_name
}
[ alter_iot_clauses ]

alter_tempfile_clause TEMPFILE
{ 'filename' [, 'filename' ]...
| filenumber [, filenumber ]...
}
{ RESIZE size_clause
| autoextend_clause
| DROP [ INCLUDING DATAFILES ]
| ONLINE
| OFFLINE
}

alter_varray_col_properties MODIFY VARRAY varray_item


( modify_LOB_parameters )

analytic_clause [ query_partition_clause ]
[ order_by_clause [ windowing_clause ] ]

archive_log_clause ARCHIVE LOG


[ INSTANCE 'instance_name' | THREAD integer
]
{ { SEQUENCE integer
| CHANGE integer
| CURRENT [ NOSWITCH ]
| GROUP integer
| LOGFILE 'filename'
[ USING BACKUP CONTROLFILE ]
| NEXT
| ALL
| START
}
[ TO 'location' ]
| STOP
}

Oracle Database 10g : Administration Workshop I D-29

Unauthorized reproduction or distribution prohibitedฺ Copyright© 2009, Oracle and/or its affiliatesฺ
Sous-clause Syntaxe
array_DML_clause [ WITH | WITHOUT ]
ARRAY DML
[ ([ schema. ]type
[, [ schema. ]varray_type ])
[, ([ schema. ]type
[, [ schema. ]varray_type ])...
]

attribute_clause ATTRIBUTE level DETERMINES


{ dependent_column
| ( dependent_column
[, dependent_column ]... )
}

auditing_by_clause BY { proxy [, proxy ]...


| user [, user ]...
}

auditing_on_clause ON { [ schema. ]object


| DIRECTORY directory_name
| DEFAULT
}

autoextend_clause AUTOEXTEND
{ OFF
| ON [ NEXT size_clause ]
[ maxsize_clause ]
}

binding_clause BINDING
(parameter_type [, parameter_type ]...)
RETURN return_type
[ implementation_clause ]
using_function_clause
[, (parameter_type [, parameter_type ]...)
RETURN return_type
[ implementation_clause ]
using_function_clause
]...

bitmap_join_index_clause [ schema.]table
( [ [ schema. ]table. | t_alias. ]column
[ ASC | DESC ]
[, [ [ schema. ]table. | t_alias. ]column
[ ASC | DESC ]
]...
)
FROM [ schema. ]table [ t_alias ]
[, [ schema. ]table [ t_alias ]
]...

Oracle Database 10g : Administration Workshop I D-30

Unauthorized reproduction or distribution prohibitedฺ Copyright© 2009, Oracle and/or its affiliatesฺ
Sous-clause Syntaxe
WHERE condition
[ local_partitioned_index ]
index_attributes

build_clause BUILD { IMMEDIATE | DEFERRED }

C_declaration C [ NAME name ]


LIBRARY lib_name
[ AGENT IN (argument[, argument ]...) ]
[ WITH CONTEXT ]
[ PARAMETERS (parameter[, parameter ]...) ]

call_spec LANGUAGE { Java_declaration | C_declaration }

cancel_clause CANCEL [ IMMEDIATE ] [ WAIT | NOWAIT ]

cell_assignment measure_column [ { { condition


| expr
| single_column_for_loop
}
[, { condition
| expr
| single_column_for_loop
}
]...
| multi_column_for_loop
}
]

Note: The outer square brackets are part of the


syntax.
In this case, they do not indicate
optionality.

cell_reference_options [ { IGNORE | KEEP } NAV ]


[ UNIQUE { DIMENSION | SINGLE REFERENCE } ]

character_set_clause CHARACTER SET character_set

check_datafiles_clause CHECK DATAFILES [ GLOBAL | LOCAL ]

check_diskgroup_clauses CHECK
{ ALL
| DISK
disk_name
[, disk_name ]...
| DISKS IN FAILGROUP
failgroup_name

Oracle Database 10g : Administration Workshop I D-31

Unauthorized reproduction or distribution prohibitedฺ Copyright© 2009, Oracle and/or its affiliatesฺ
Sous-clause Syntaxe
[, failgroup_name ]...
| FILE
filename
[, filename ]...
}
[ CHECK
{ ALL
| DISK
disk_name
[, disk_name ]...
| DISKS IN FAILGROUP
failgroup_name
[, failgroup_name ]...
| FILE
filename
[, filename ]...
}
]...
[ REPAIR | NOREPAIR ]

checkpoint_clause CHECKPOINT [ GLOBAL | LOCAL ]

cluster_index_clause CLUSTER [ schema. ] cluster index_attributes

coalesce_index_partition COALESCE PARTITION


[ parallel_clause ]

coalesce_table_partition COALESCE PARTITION


[ update_index_clauses ]
[ parallel_clause ]

column_association COLUMNS [ schema. ]table.column


[, [ schema. ]table.column ]...
using_statistics_type

column_clauses { { add_column_clause
| modify_column_clause
| drop_column_clause
}
[ add_column_clause
| modify_column_clause
| drop_column_clause
]...
| rename_column_clause
| modify_collection_retrieval
[ modify_collection_retrieval ]...
| modify_LOB_storage_clause
| alter_varray_col_properties
}

Oracle Database 10g : Administration Workshop I D-32

Unauthorized reproduction or distribution prohibitedฺ Copyright© 2009, Oracle and/or its affiliatesฺ
Sous-clause Syntaxe
column_properties { object_type_col_properties
| nested_table_col_properties
| { varray_col_properties | LOB_storage_clause }
[ (LOB_partition_storage
[, LOB_partition_storage ]...
)
]
| XMLType_column_properties
}
[ { object_type_col_properties
| nested_table_col_properties
| { varray_col_properties |
LOB_storage_clause }
[ (LOB_partition_storage
[, LOB_partition_storage ]...
)
]
| XMLType_column_properties
}
]...

commit_switchover_clause { PREPARE | COMMIT } TO SWITCHOVER


[ TO { { PHYSICAL | LOGICAL } PRIMARY
| PHYSICAL STANDBY
[ { WITH | WITHOUT } SESSION SHUTDOWN
{ WAIT | NOWAIT }
]
| LOGICAL STANDBY
}
| CANCEL
]

compile_type_clause COMPILE
[ DEBUG ]
[ SPECIFICATION | BODY ]
[ compiler_parameters_clause
[ compiler_parameters_clause ] ... ]
[ REUSE SETTINGS ]

compiler_parameters_clause parameter_name = parameter_value

composite_partitioning PARTITION BY RANGE ( column_list )


[ subpartition_by_list | subpartition_by_hash
]
( PARTITION [ partition ]
range_values_clause
table_partition_description
[, PARTITION [ partition ]
range_values_clause
table_partition_description ] ...
)

Oracle Database 10g : Administration Workshop I D-33

Unauthorized reproduction or distribution prohibitedฺ Copyright© 2009, Oracle and/or its affiliatesฺ
Sous-clause Syntaxe
compute_statistics_clause COMPUTE [ SYSTEM ] STATISTICS [ for_clause ]

conditional_insert_clause [ ALL | FIRST ]


WHEN condition
THEN insert_into_clause
[ values_clause ]
[ error_logging_clause ]
[ insert_into_clause
[ values_clause ]
[ error_logging_clause ]
]...
[ WHEN condition
THEN insert_into_clause
[ values_clause ]
[ error_logging_clause ]
[ insert_into_clause
[ values_clause ]
[ error_logging_clause ]
]...
]...
[ ELSE insert_into_clause
[ values_clause ]
[ error_logging_clause ]
[ insert_into_clause
[ values_clause ]
[ error_logging_clause ]
]...
]

constraint { inline_constraint
| out_of_line_constraint
| inline_ref_constraint
| out_of_line_ref_constraint
}

constraint_clauses { ADD { out_of_line_constraint


[ out_of_line_constraint ]...
| out_of_line_REF_constraint
}
| MODIFY { CONSTRAINT constraint
| PRIMARY KEY
| UNIQUE (column [, column ]...)
}
constraint_state
| RENAME CONSTRAINT old_name TO new_name
| drop_constraint_clause
}

constraint_state [ [ [ NOT ] DEFERRABLE ]


[ INITIALLY { IMMEDIATE | DEFERRED } ]
| [ INITIALLY { IMMEDIATE | DEFERRED } ]

Oracle Database 10g : Administration Workshop I D-34

Unauthorized reproduction or distribution prohibitedฺ Copyright© 2009, Oracle and/or its affiliatesฺ
Sous-clause Syntaxe
[ [ NOT ] DEFERRABLE ]
]
[ RELY | NORELY ]
[ using_index_clause ]
[ ENABLE | DISABLE ]
[ VALIDATE | NOVALIDATE ]
[ exceptions_clause ]

constructor_declaration [ FINAL ]
[ INSTANTIABLE ]
CONSTRUCTOR FUNCTION datatype
[ [ SELF IN OUT datatype, ]
parameter datatype
[, parameter datatype ]...
]
RETURN SELF AS RESULT
{ IS | AS } { pl/sql_block | call_spec }

constructor_spec [ FINAL ]
[ INSTANTIABLE ]
CONSTRUCTOR FUNCTION datatype
[ ([ SELF IN OUT datatype, ]
parameter datatype
[, parameter datatype ]...
)
]
RETURN SELF AS RESULT
[ { IS | AS } call_spec ]

context_clause [ WITH INDEX CONTEXT,


SCAN CONTEXT implementation_type
[ COMPUTE ANCILLARY DATA ]
]
[ WITH COLUMN CONTEXT ]

controlfile_clauses { CREATE [ LOGICAL | PHYSICAL ]


STANDBY CONTROLFILE AS
'filename' [ REUSE ]
| BACKUP CONTROLFILE TO
{ 'filename' [ REUSE ]
| trace_file_clause
}
}

create_datafile_clause CREATE DATAFILE


{ 'filename' | filenumber }
[, 'filename' | filenumber ]...
}
[ AS { file_specification
[, file_specification ]...
| NEW
}
]

Oracle Database 10g : Administration Workshop I D-35

Unauthorized reproduction or distribution prohibitedฺ Copyright© 2009, Oracle and/or its affiliatesฺ
Sous-clause Syntaxe
create_incomplete_type CREATE [ OR REPLACE ]
TYPE [ schema. ]type_name ;

create_mv_refresh { REFRESH
{ { FAST | COMPLETE | FORCE }
| ON { DEMAND | COMMIT }
| { START WITH | NEXT } date
| WITH { PRIMARY KEY | ROWID }
| USING
{ DEFAULT [ MASTER | LOCAL ]
ROLLBACK SEGMENT
| [ MASTER | LOCAL ]
ROLLBACK SEGMENT rollback_segment
}
[ DEFAULT [ MASTER | LOCAL ]
ROLLBACK SEGMENT
| [ MASTER | LOCAL ]
ROLLBACK SEGMENT rollback_segment
]...
| USING
{ ENFORCED | TRUSTED }
CONSTRAINTS
}
[ { FAST | COMPLETE | FORCE }
| ON { DEMAND | COMMIT }
| { START WITH | NEXT } date
| WITH { PRIMARY KEY | ROWID }
| USING
{ DEFAULT [ MASTER | LOCAL ]
ROLLBACK SEGMENT
| [ MASTER | LOCAL ]
ROLLBACK SEGMENT rollback_segment
}
[ DEFAULT [ MASTER | LOCAL ]
ROLLBACK SEGMENT
| [ MASTER | LOCAL ]
ROLLBACK SEGMENT
rollback_segment
]...
| USING
{ ENFORCED | TRUSTED }
CONSTRAINTS
]...
| NEVER REFRESH
}

create_nested_table_type CREATE [ OR REPLACE ]


TYPE [ schema. ]type_name
[ OID 'object_identifier' ]
{ IS | AS } TABLE OF datatype ;

Oracle Database 10g : Administration Workshop I D-36

Unauthorized reproduction or distribution prohibitedฺ Copyright© 2009, Oracle and/or its affiliatesฺ
Sous-clause Syntaxe
create_object_type CREATE [ OR REPLACE ]
TYPE [ schema. ]type_name
[ OID 'object_identifier' ]
[ invoker_rights_clause ]
{ { IS | AS } OBJECT
| UNDER [schema.]supertype
}
[ sqlj_object_type ]
[ ( attribute datatype
[ sqlj_object_type_attr ]
[, attribute datatype
[ sqlj_object_type_attr ]...
[, element_spec
[, element_spec ]...
]
)
]
[ [ NOT ] FINAL ]
[ [ NOT ] INSTANTIABLE ] ;

create_varray_type CREATE [ OR REPLACE ]


TYPE [ schema. ]type_name
[ OID 'object_identifier' ]
{ IS | AS } { VARRAY | VARYING ARRAY }
(limit) OF datatype ;

database_file_clauses { RENAME FILE


'filename' [, 'filename' ]...
TO 'filename'
| create_datafile_clause
| alter_datafile_clause
| alter_tempfile_clause
}

database_logging_clauses { LOGFILE
[ GROUP integer ] file_specification
[, [ GROUP integer ] file_specification
]...
| MAXLOGFILES integer
| MAXLOGMEMBERS integer
| MAXLOGHISTORY integer
| { ARCHIVELOG | NOARCHIVELOG }
| FORCE LOGGING
}

datafile_tempfile_clauses { ADD { DATAFILE | TEMPFILE }


[ file_specification
[, file_specification ]...
]
| RENAME DATAFILE 'filename' [, 'filename' ]...
TO

Oracle Database 10g : Administration Workshop I D-37

Unauthorized reproduction or distribution prohibitedฺ Copyright© 2009, Oracle and/or its affiliatesฺ
Sous-clause Syntaxe
'filename' [, 'filename' ]...
| { DATAFILE | TEMPFILE } { ONLINE | OFFLINE }
}

datafile_tempfile_spec [ 'filename' ]
[ SIZE size_clause ]
[ REUSE ]
[ autoextend_clause ]

dblink database[.domain [.domain ]... ]


[ @ connect_descriptor ]

dblink_authentication AUTHENTICATED BY user


IDENTIFIED BY password

deallocate_unused_clause DEALLOCATE UNUSED


[ KEEP size_clause ]

default_cost_clause DEFAULT COST (cpu_cost, io_cost, network_cost)

default_selectivity_clause DEFAULT SELECTIVITY default_selectivity

default_tablespace DEFAULT TABLESPACE tablespace


[ DATAFILE datafile_tempfile_spec ]
extent_management_clause

default_settings_clauses { SET DEFAULT


{ BIGFILE | SMALLFILE } TABLESPACE
| DEFAULT TABLESPACE tablespace
| DEFAULT TEMPORARY TABLESPACE
{ tablespace | tablespace_group_name }
| RENAME GLOBAL_NAME TO
database.domain [.domain ]...
| { ENABLE BLOCK CHANGE TRACKING
[ USING FILE 'filename' [ REUSE ] ]
| DISABLE BLOCK CHANGE TRACKING
}
| flashback_mode_clause
| set_time_zone_clause
}

default_temp_tablespace [ BIGFILE | SMALLFILE ]


DEFAULT TEMPORARY TABLESPACE tablespace
[ TEMPFILE file_specification
[, file_specification ]...
]
extent_management_clause

Oracle Database 10g : Administration Workshop I D-38

Unauthorized reproduction or distribution prohibitedฺ Copyright© 2009, Oracle and/or its affiliatesฺ
Sous-clause Syntaxe
dependent_handling_clause { INVALIDATE
| CASCADE [ { [ NOT ] INCLUDING TABLE DATA
| CONVERT TO SUBSTITUTABLE
}
]
[ [FORCE ] exceptions_clause ]
}

dimension_join_clause JOIN KEY


{ child_key_column
| (child_key_column [, child_key_column ]...)
}
REFERENCES parent_level
[ JOIN KEY
{ child_key_column
| (child_key_column [, child_key_column
]...)
}
REFERENCES parent_level
]...

disk_clauses { diskgroup_name
{ add_disk_clause
| drop_disk_clauses
| resize_disk_clauses
}
| { diskgroup_name | ALL }
undrop_disk_clause
}

diskgroup_alias_clauses { ADD ALIAS


alias_name FOR filename
[, alias_name FOR filename ]...
| DROP ALIAS
alias_name
[, alias_name ]...
| RENAME ALIAS
old_alias_name TO new_alias_name
[, old_alias_name TO new_alias_name ]...
}

diskgroup_availability { MOUNT
| DISMOUNT [ FORCE | NOFORCE ]
}

diskgroup_clauses { diskgroup_name
{ rebalance_diskgroup_clause
| check_diskgroup_clauses
| diskgroup_template_clauses
| diskgroup_directory_clauses
| diskgroup_alias_clauses

Oracle Database 10g : Administration Workshop I D-39

Unauthorized reproduction or distribution prohibitedฺ Copyright© 2009, Oracle and/or its affiliatesฺ
Sous-clause Syntaxe
| drop_diskgroup_file_clause
}
| { diskgroup_name | ALL }
diskgroup_availability
}

diskgroup_directory_clauses { ADD DIRECTORY


filename
[, filename ]...
| DROP DIRECTORY
filename [ FORCE | NOFORCE ]
[, filename [ FORCE | NOFORCE ] ]...
| RENAME DIRECTORY
old_dir_name TO new_dir_name
[, old_dir_name TO new_dir_name ]...
}

diskgroup_file_spec [ ' { fully_qualified_file_name


| numeric_file_name
| incorporate_file_name
| alias_file_name
}
'
]
[ SIZE size_clause ]
[ REUSE ]
[ autoextend_clause ]

diskgroup_template_clauses { { ADD | ALTER } TEMPLATE


qualified_template_clause
[, qualified_template_clause ]...
| DROP TEMPLATE
template_name
[, template_name ]...
}

distributed_recov_clauses { ENABLE | DISABLE } DISTRIBUTED RECOVERY

dml_event_clause { DELETE | INSERT | UPDATE


[ OF column [, column ]... ]
}
[ OR { DELETE | INSERT | UPDATE
[ OF column [, column]... ]
}
]...
ON { [ schema. ]table
| [ NESTED TABLE nested_table_column OF ]
[ schema. ] view
}
[ referencing_clause ]
[ FOR EACH ROW ]

Oracle Database 10g : Administration Workshop I D-40

Unauthorized reproduction or distribution prohibitedฺ Copyright© 2009, Oracle and/or its affiliatesฺ
Sous-clause Syntaxe
dml_table_expression_clause { [ schema. ]
{ table
[ { PARTITION (partition)
| SUBPARTITION (subpartition)
}
| @ dblink
]
| { view | materialized view } [ @ dblink ]
}
| ( subquery [ subquery_restriction_clause ] )
| table_collection_expression
}

domain_index_clause INDEXTYPE IS indextype


[ parallel_clause ]
[ PARAMETERS ('ODCI_parameters') ]

drop_binding_clause DROP BINDING


(parameter_type
[, parameter_type ]...)
[ FORCE ]

drop_column_clause { SET UNUSED { COLUMN column


| (column [, column ]...)
}
[ { CASCADE CONSTRAINTS | INVALIDATE }
[ CASCADE CONSTRAINTS | INVALIDATE ]...
]
| DROP { COLUMN column
| (column [, column ]...)
}
[ { CASCADE CONSTRAINTS | INVALIDATE }
[ CASCADE CONSTRAINTS | INVALIDATE ]...
]
[ CHECKPOINT integer ]
| DROP { UNUSED COLUMNS
| COLUMNS CONTINUE
}
[ CHECKPOINT integer ]
}

drop_constraint_clause DROP
{ { PRIMARY KEY
| UNIQUE (column [, column ]...)
}
[ CASCADE ]
[ { KEEP | DROP } INDEX ]
| CONSTRAINT constraint
[ CASCADE ]
}

Oracle Database 10g : Administration Workshop I D-41

Unauthorized reproduction or distribution prohibitedฺ Copyright© 2009, Oracle and/or its affiliatesฺ
Sous-clause Syntaxe
drop_disk_clauses DROP
{ DISK
disk_name [ FORCE | NOFORCE ]
[, disk_name [ FORCE | NOFORCE ] ]...
| DISKS IN FAILGROUP
failgroup_name [ FORCE | NOFORCE ]
[, failgroup_name [ FORCE | NOFORCE ] ]...
}

drop_diskgroup_file_clause DROP FILE


filename
[, filename ]...

drop_index_partition DROP PARTITION partition_name

drop_logfile_clauses DROP [ STANDBY ] LOGFILE


{ logfile_descriptor
[, logfile_descriptor ]...
| MEMBER 'filename'
[, 'filename' ]...
}

drop_table_partition DROP PARTITION partition


[ update_index_clauses [ parallel_clause ] ]

drop_table_subpartition DROP SUBPARTITION subpartition


[ update_index_clauses [ parallel_clause ] ]

element_spec [ inheritance_clauses ]
{ subprogram_spec
| constructor_spec
| map_order_function_spec
}
[ subprogram_clause
| constructor_spec
| map_order_function_spec
]...
[, pragma_clause ]

else_clause ELSE else_expr

enable_disable_clause { ENABLE | DISABLE }


[ VALIDATE | NOVALIDATE ]
{ UNIQUE (column [, column ]...)
| PRIMARY KEY
| CONSTRAINT constraint
}
[ using_index_clause ]

Oracle Database 10g : Administration Workshop I D-42

Unauthorized reproduction or distribution prohibitedฺ Copyright© 2009, Oracle and/or its affiliatesฺ
Sous-clause Syntaxe
[ exceptions_clause ]
[ CASCADE ]
[ { KEEP | DROP } INDEX ]

end_session_clauses { DISCONNECT SESSION 'integer1, integer2'


[ POST_TRANSACTION ]
| KILL SESSION 'integer1, integer2'
}
[ IMMEDIATE ]

estimate_statistics_clause ESTIMATE [ SYSTEM ] STATISTICS [ for_clause ]


[ SAMPLE integer { ROWS | PERCENT } ]

exceptions_clause EXCEPTIONS INTO [ schema. ]table

exchange_partition_subpart EXCHANGE { PARTITION partition


| SUBPARTITION subpartition
}
WITH TABLE table
[ { INCLUDING | EXCLUDING } INDEXES ]
[ { WITH | WITHOUT } VALIDATION ]
[ exceptions_clause ]
[ update_index_clauses [ parallel_clause ] ]

expr { simple_expression
| compound_expression
| case_expression
| cursor_expression
| datetime_expression
| function_expression
| interval_expression
| object_access_expression
| scalar_subquery_expression
| model_expression
| type_constructor_expression
| variable_expression
}

expression_list { expr [, expr ]...


| (expr [, expr ]...)
}

extended_attribute_clause ATTRIBUTE attribute


LEVEL level
DETERMINES { dependent_column
| (dependent_column
[, dependent_column ]...
)
[ LEVEL level

Oracle Database 10g : Administration Workshop I D-43

Unauthorized reproduction or distribution prohibitedฺ Copyright© 2009, Oracle and/or its affiliatesฺ
Sous-clause Syntaxe
DETERMINES { dependent_column
| (dependent_column
[, dependent_column ]...
)
]...

extent_management_clause EXTENT MANAGEMENT


{ DICTIONARY
| LOCAL
[ AUTOALLOCATE
| UNIFORM
[ SIZE size_clause ]
]
}

external_data_properties DEFAULT DIRECTORY directory


[ ACCESS PARAMETERS
{ (opaque_format_spec)
| USING CLOB subquery
}
]
LOCATION
([ directory: ] 'location_specifier'
[, [ directory: ] 'location_specifier'
]...
)

external_table_clause ([ TYPE access_driver_type ]


external_data_properties
)
[ REJECT LIMIT { integer | UNLIMITED } ]

file_specification { datafile_tempfile_spec
| diskgroup_file_spec
| redo_log_file_spec
}

finish_clause [ DISCONNECT [ FROM SESSION ] ]


[ parallel_clause ]
FINISH
[ SKIP [ STANDBY LOGFILE ] ]
[ WAIT | NOWAIT ]

flashback_mode_clause FLASHBACK { ON | OFF }

flashback_query_clause [ VERSIONS BETWEEN


{ SCN | TIMESTAMP }
{ expr | MINVALUE } AND
{ expr | MAXVALUE }

Oracle Database 10g : Administration Workshop I D-44

Unauthorized reproduction or distribution prohibitedฺ Copyright© 2009, Oracle and/or its affiliatesฺ
Sous-clause Syntaxe
]
AS OF { SCN | TIMESTAMP } expr

for_clause FOR
{ TABLE
| ALL [ INDEXED ] COLUMNS [ SIZE integer ]
| COLUMNS [ SIZE integer ]
{ column | attribute } [ SIZE integer ]
[ { column | attribute }
[ SIZE integer ]
]...
| ALL [ LOCAL ] INDEXES
}
[ FOR
{ TABLE
| ALL [ INDEXED ] COLUMNS
[ SIZE integer ]
| COLUMNS [ SIZE integer ]
{ column | attribute } [ SIZE integer ]
[ { column | attribute }
[ SIZE integer ]
]...
| ALL [ LOCAL ] INDEXES
}
]...

for_update_clause FOR UPDATE


[ OF [ [ schema. ]
{ table | view } . ]column
[, [ [ schema. ]
{ table | view } . ]column
]...
]
[ NOWAIT | WAIT integer ]

full_database_recovery [ STANDBY ] DATABASE


[ { UNTIL { CANCEL
| TIME date
| CHANGE integer
}
| USING BACKUP CONTROLFILE
}
[ UNTIL { CANCEL
| TIME date
| CHANGE integer
}
| USING BACKUP CONTROLFILE
]...
]

Oracle Database 10g : Administration Workshop I D-45

Unauthorized reproduction or distribution prohibitedฺ Copyright© 2009, Oracle and/or its affiliatesฺ
Sous-clause Syntaxe
fully_qualified_file_name +diskgroup_name/db_name/file_type/
file_type_tag.filenumber.incarnation_number

function_association { FUNCTIONS
[ schema. ]function [, [ schema. ]function
]...
| PACKAGES
[ schema. ]package [, [ schema. ]package
]...
| TYPES
[ schema. ]type [, [ schema. ]type ]...
| INDEXES
[ schema. ]index [, [ schema. ]index ]...
| INDEXTYPES
[ schema. ]indextype [, [ schema.
]indextype ]...
}
{ using_statistics_type
| { default_cost_clause
[, default_selectivity_clause ]
| default_selectivity_clause
[, default_cost_clause ]
}
}

function_declaration FUNCTION name


(parameter datatype[, parameter datatype
]...)
RETURN datatype
{ IS | AS } { pl/sql_block | call_spec }

function_spec FUNCTION name


(parameter datatype [, parameter datatype
]...)
return_clause

general_recovery RECOVER
[ AUTOMATIC ]
[ FROM 'location' ]
{ { full_database_recovery
| partial_database_recovery
| LOGFILE 'filename'
}
[ { TEST
| ALLOW integer CORRUPTION
| parallel_clause
}
[ TEST
| ALLOW integer CORRUPTION
| parallel_clause
]...

Oracle Database 10g : Administration Workshop I D-46

Unauthorized reproduction or distribution prohibitedฺ Copyright© 2009, Oracle and/or its affiliatesฺ
Sous-clause Syntaxe
]
| CONTINUE [ DEFAULT ]
| CANCEL
}

global_partitioned_index GLOBAL PARTITION BY


{ RANGE
(column_list)
(index_partitioning_clause)
| HASH
(column_list)
{ individual_hash_partitions
| hash_partitions_by_quantity
}
}

grant_object_privileges { object_privilege | ALL [ PRIVILEGES ] }


[ (column [, column ]...) ]
[, { object_privilege | ALL [ PRIVILEGES ] }
[ (column [, column ]...) ]
]...
on_object_clause
TO grantee_clause
[ WITH HIERARCHY OPTION ]
[ WITH GRANT OPTION ]

grant_system_privileges { system_privilege
| role
| ALL PRIVILEGES
}
[, { system_privilege
| role
| ALL PRIVILEGES
}
]...
TO grantee_clause
[ IDENTIFIED BY password ]
[ WITH ADMIN OPTION ]

grantee_clause { user | role | PUBLIC }


[, { user | role | PUBLIC } ]...

group_by_clause GROUP BY
{ expr
| rollup_cube_clause
| grouping_sets_clause
}
[, { expr
| rollup_cube_clause
| grouping_sets_clause
}

Oracle Database 10g : Administration Workshop I D-47

Unauthorized reproduction or distribution prohibitedฺ Copyright© 2009, Oracle and/or its affiliatesฺ
Sous-clause Syntaxe
]...
[ HAVING condition ]

grouping_expression_list expression_list [, expression_list ]...

grouping_sets_clause GROUPING SETS


({ rollup_cube_clause | grouping_expression_list
})

hash_partitioning PARTITION BY HASH


(column [, column ] ...)
{ individual_hash_partitions
| hash_partitions_by_quantity
}

hash_partitions_by_quantity PARTITIONS hash_partition_quantity


[ STORE IN
(tablespace [, tablespace ]...) ]
[ OVERFLOW STORE IN
(tablespace [, tablespace ]...) ]

hierarchical_query_clause [ START WITH condition ]


CONNECT BY [ NOCYCLE ] condition

hierarchy_clause HIERARCHY hierarchy


(child_level CHILD OF parent_level
[ CHILD OF parent_level ]...
[ dimension_join_clause ]
)

implementation_clause { ANCILLARY TO
primary_operator (parameter_type
[, parameter_type ]...)
[, primary_operator ( parameter_type
[, parameter_type
]...)
]...
| context_clause
}

incomplete_file_name +diskgroup_name [ (template_name) ]

index_attributes [ { physical_attributes_clause
| logging_clause
| ONLINE
| COMPUTE STATISTICS
| TABLESPACE { tablespace | DEFAULT }
| key_compression

Oracle Database 10g : Administration Workshop I D-48

Unauthorized reproduction or distribution prohibitedฺ Copyright© 2009, Oracle and/or its affiliatesฺ
Sous-clause Syntaxe
| { SORT | NOSORT }
| REVERSE
| parallel_clause
}
[ physical_attributes_clause
| logging_clause
| ONLINE
| COMPUTE STATISTICS
| TABLESPACE { tablespace | DEFAULT }
| key_compression
| { SORT | NOSORT }
| REVERSE
| parallel_clause
]...
]

index_expr { column | column_expression }

index_org_overflow_clause [ INCLUDING column_name ]


OVERFLOW
[ segment_attributes_clause ]

index_org_table_clause [ { mapping_table_clause
| PCTTHRESHOLD integer
| key_compression
}
[ mapping_table_clause
| PCTTHRESHOLD integer
| key_compression
]...
]
[ index_org_overflow_clause ]

index_partition_description PARTITION
[ partition
[ { segment_attributes_clause
| key_compression
}
[ segment_attributes_clause
| key_compression
]...
]
]

index_partitioning_clause PARTITION [ partition ]


VALUES LESS THAN (value[, value... ])
[ segment_attributes_clause ]

index_properties [ { { global_partitioned_index
| local_partitioned_index

Oracle Database 10g : Administration Workshop I D-49

Unauthorized reproduction or distribution prohibitedฺ Copyright© 2009, Oracle and/or its affiliatesฺ
Sous-clause Syntaxe
}
| index_attributes
}
[ { { global_partitioned_index
| local_partitioned_index
}
| index_attributes
}
]...
| domain_index_clause
]

index_subpartition_clause { STORE IN (tablespace[, tablespace ]...)


| (SUBPARTITION
[ subpartition [ TABLESPACE tablespace ] ]
[, SUBPARTITION
[ subpartition [ TABLESPACE tablespace
] ]
]...
)
}

individual_hash_partitions (PARTITION
[ partition partitioning_storage_clause ]
[, PARTITION
[ partition partitioning_storage_clause
]
]...
)

inheritance_clauses [ NOT ] { OVERRIDING | FINAL | INSTANTIABLE }


[ [ NOT ] { OVERRIDING | FINAL | INSTANTIABLE
} ]...

inline_constraint [ CONSTRAINT constraint_name ]


{ [ NOT ] NULL
| UNIQUE
| PRIMARY KEY
| references_clause
| CHECK (condition)
}
[ constraint_state ]

inline_ref_constraint { SCOPE IS [ schema. ] scope_table


| WITH ROWID
| [ CONSTRAINT constraint_name ]
references_clause
[ constraint_state ]
}

Oracle Database 10g : Administration Workshop I D-50

Unauthorized reproduction or distribution prohibitedฺ Copyright© 2009, Oracle and/or its affiliatesฺ
Sous-clause Syntaxe
inner_cross_join_clause table_reference
{ [ INNER ] JOIN table_reference
{ ON condition
| USING (column [, column ]...)
}
| { CROSS
| NATURAL [ INNER ]
}
JOIN table_reference
}

insert_into_clause INTO dml_table_expression_clause [ t_alias ]


[ (column [, column ]...) ]

integer [ + | - ] digit [ digit ]...

interval_day_to_second INTERVAL
'{ integer | integer time_expr | time_expr }'
{ { DAY | HOUR | MINUTE }
[ (leading_precision) ]
| SECOND
[ (leading_precision
[, fractional_seconds_precision ]
)
]
}
[ TO { DAY | HOUR | MINUTE | SECOND
[ (fractional_seconds_precision) ]
}
]

interval_year_to_month INTERVAL 'integer [- integer ]'


{ YEAR | MONTH } [ (precision) ]
[ TO { YEAR | MONTH } ]

into_clause INTO [ schema. ] table

invoker_rights_clause AUTHID { CURRENT_USER | DEFINER }

Java_declaration JAVA NAME 'string'

join_clause { inner_cross_join_clause | outer_join_clause }

key_compression { COMPRESS [ integer ]


| NOCOMPRESS
}

Oracle Database 10g : Administration Workshop I D-51

Unauthorized reproduction or distribution prohibitedฺ Copyright© 2009, Oracle and/or its affiliatesฺ
Sous-clause Syntaxe
level_clause LEVEL level IS
{ level_table.level_column
| (level_table.level_column
[, level_table.level_column ]...
)
}

list_partitioning PARTITION BY LIST (column)


(PARTITION [ partition ]
list_values_clause
table_partition_description
[, PARTITION [ partition ]
list_values_clause
table_partition_description
]...
)

list_values_clause VALUES ({ value | NULL


[, { value | NULL }...)
| DEFAULT
)

LOB_parameters { TABLESPACE tablespace


| { ENABLE | DISABLE } STORAGE IN ROW
| storage_clause
| CHUNK integer
| PCTVERSION integer
| RETENTION
| FREEPOOLS integer
| { CACHE
| { NOCACHE | CACHE READS } [ logging_clause ]
}
}
[ TABLESPACE tablespace
| { ENABLE | DISABLE } STORAGE IN ROW
| storage_clause
| CHUNK integer
| PCTVERSION integer
| RETENTION
| FREEPOOLS integer
| { CACHE
| { NOCACHE | CACHE READS } [ logging_clause
]
}
]...

LOB_partition_storage PARTITION partition


{ LOB_storage_clause | varray_col_properties }
[ LOB_storage_clause | varray_col_properties
]...
[ (SUBPARTITION subpartition

Oracle Database 10g : Administration Workshop I D-52

Unauthorized reproduction or distribution prohibitedฺ Copyright© 2009, Oracle and/or its affiliatesฺ
Sous-clause Syntaxe
{ LOB_storage_clause | varray_col_properties
}
[ LOB_storage_clause
| varray_col_properties
]...
)
]

LOB_storage_clause LOB
{ (LOB_item [, LOB_item ]...)
STORE AS (LOB_parameters)
| (LOB_item)
STORE AS
{ LOB_segname (LOB_parameters)
| LOB_segname
| (LOB_parameters)
}
}

local_partitioned_index LOCAL
[ on_range_partitioned_table
| on_list_partitioned_table
| on_hash_partitioned_table
| on_comp_partitioned_table
]

logfile_clause LOGFILE
[ GROUP integer ] file_specification
[, [ GROUP integer ] file_specification ]...

logfile_clauses { { ARCHIVELOG [ MANUAL ]


| NOARCHIVELOG
}
| [ NO ] FORCE LOGGING
| RENAME FILE 'filename'
[, 'filename' ]...
TO 'filename'
| CLEAR
[ UNARCHIVED ]
LOGFILE logfile_descriptor
[, logfile_descriptor ]...
[ UNRECOVERABLE DATAFILE ]
| add_logfile_clauses
| drop_logfile_clauses
| supplemental_db_logging
}

logfile_descriptor { GROUP integer


| ('filename' [, 'filename' ]...)
| 'filename'
}

Oracle Database 10g : Administration Workshop I D-53

Unauthorized reproduction or distribution prohibitedฺ Copyright© 2009, Oracle and/or its affiliatesฺ
Sous-clause Syntaxe
logging_clause { LOGGING | NOLOGGING }

main_model [ MAIN main_model_name ]


model_column_clauses
[ cell_reference_options ]
model_rules_clause

managed_standby_recovery RECOVER MANAGED STANDBY DATABASE


[ recover_clause | cancel_clause |
finish_clause ]

map_order_func_declaration { MAP | ORDER } MEMBER function_declaration

map_order_function_spec { MAP | ORDER } MEMBER function_spec

mapping_table_clauses { MAPPING TABLE | NOMAPPING }

materialized_view_props [ column_properties ]
[ table_partitioning_clauses ]
[ CACHE | NOCACHE ]
[ parallel_clause ]
[ build_clause ]

maximize_standby_db_clause SET STANDBY DATABASE TO MAXIMIZE


{ PROTECTION | AVAILABILITY | PERFORMANCE }

maxsize_clause MAXSIZE { UNLIMITED | size_clause }

merge_insert_clause WHEN NOT MATCHED THEN


INSERT [ (column [, column ]...) ]
VALUES ({ expr [, expr ]... | DEFAULT })
[ where_clause ]

merge_table_partitions MERGE PARTITIONS partition_1, partition_2


[ INTO partition_spec ]
[ update_index_clauses ]
[ parallel_clause ]

merge_table_subpartitions MERGE SUBPARTITIONS subpart_1, subpart_2


[ INTO subpartition_spec ]
[ update_index_clauses ]
[ parallel_clause ]

merge_update_clause WHEN MATCHED THEN


UPDATE SET column = { expr | DEFAULT }

Oracle Database 10g : Administration Workshop I D-54

Unauthorized reproduction or distribution prohibitedฺ Copyright© 2009, Oracle and/or its affiliatesฺ
Sous-clause Syntaxe
[, column = { expr | DEFAULT } ]...
[ where_clause ]
[ DELETE where_clause ]

model_clause MODEL
[ cell_reference_options ]
[ return_rows_clause ]
[ reference_model ]
[ reference_model ]...
main_model

model_column expr [ [ AS ] c_alias ]

model_column_clauses [ query_partition_clause [ c_alias ] ]


DIMENSION BY (model_column
[, model_column ]...)
MEASURES (model_column
[, model_column ]...)

model_rules_clause RULES
[ UPSERT | UPDATE ]
[ { AUTOMATIC | SEQUENTIAL } ORDER ]
[ ITERATE (number) [ UNTIL (condition) ] ]
([ UPDATE | UPSERT ]
cell_assignment [ order_by_clause ] = expr
[ [ UPDATE | UPSERT ]
cell_assignment [ order_by_clause ] = expr
]...
)

modify_col_properties ( column [ datatype ]


[ DEFAULT expr ]
[ inline_constraint
[ inline_constraint ]... ]
[ LOB_storage_clause ]
[, column [ datatype ]
[ DEFAULT expr ]
[ inline_constraint
[ inline_constraint ]... ]
[ LOB_storage_clause ]
]
)

modify_col_substitutable COLUMN column


[ NOT ] SUBSTITUTABLE AT ALL LEVELS
[ FORCE ]

modify_collection_retrieval MODIFY NESTED TABLE collection_item


RETURN AS { LOCATOR | VALUE }

Oracle Database 10g : Administration Workshop I D-55

Unauthorized reproduction or distribution prohibitedฺ Copyright© 2009, Oracle and/or its affiliatesฺ
Sous-clause Syntaxe
modify_column_clauses MODIFY { modify_col_properties
| modify_col_substitutable
}

modify_hash_partition MODIFY PARTITION partition


{ partition_attributes
| alter_mapping_table_clause
| [ REBUILD ] UNUSABLE LOCAL INDEXES
}

modify_hash_subpartition { { allocate_extent_clause
| deallocate_unused_clause
| shrink_clause
| { LOB LOB_item
| VARRAY varray
}
modify_LOB_parameters
[ { LOB LOB_item
| VARRAY varray
}
modify_LOB_parameters
]...
}
| [ REBUILD ] UNUSABLE LOCAL INDEXES
}

modify_index_default_attrs MODIFY DEFAULT ATTRIBUTES


[ FOR PARTITION partition ]
{ physical_attributes_clause
| TABLESPACE { tablespace | DEFAULT }
| logging_clause
}
[ physical_attributes_clause
| TABLESPACE { tablespace | DEFAULT }
| logging_clause
]...

modify_index_partition MODIFY PARTITION partition


{ { deallocate_unused_clause
| allocate_extent_clause
| physical_attributes_clause
| logging_clause
| key_compression
}
[ deallocate_unused_clause
| allocate_extent_clause
| physical_attributes_clause
| logging_clause
| key_compression
]...
| PARAMETERS ('ODCI_parameters')

Oracle Database 10g : Administration Workshop I D-56

Unauthorized reproduction or distribution prohibitedฺ Copyright© 2009, Oracle and/or its affiliatesฺ
Sous-clause Syntaxe
| COALESCE
| UPDATE BLOCK REFERENCES
| UNUSABLE
}

modify_index_subpartition MODIFY SUBPARTITION subpartition


{ UNUSABLE
| allocate_extent_clause
| deallocate_unused_clause
}

modify_list_partition MODIFY PARTITION partition


{ partition_attributes
| {ADD | DROP} VALUES
(partition_value[, partition_value ]...)
| [ REBUILD ] UNUSABLE LOCAL INDEXES
}

modify_list_subpartition { allocate_extent_clause
| deallocate_unused_clause
| shrink_clause
| { LOB LOB_item | VARRAY varray }
modify_LOB_parameters
[ { LOB LOB_item | VARRAY varray }
modify_LOB_parameters
] ...
| [ REBUILD ] UNUSABLE LOCAL INDEXES
| { ADD | DROP } VALUES (value[, value ]...)
}

modify_LOB_parameters { storage_clause
| PCTVERSION integer
| RETENTION
| FREEPOOLS integer
| REBUILD FREEPOOLS
| { CACHE
| { NOCACHE | CACHE READS } [ logging_clause ]
}
| allocate_extent_clause
| deallocate_unused_clause
| shrink_clause

}
[ storage_clause
| PCTVERSION integer
| RETENTION
| FREEPOOLS integer
| REBUILD FREEPOOLS
| { CACHE
| { NOCACHE | CACHE READS } [ logging_clause
]

Oracle Database 10g : Administration Workshop I D-57

Unauthorized reproduction or distribution prohibitedฺ Copyright© 2009, Oracle and/or its affiliatesฺ
Sous-clause Syntaxe
}
| allocate_extent_clause
| deallocate_unused_clause
| shrink_clause
]...

modify_LOB_storage_clause MODIFY LOB (LOB_item)


(modify_LOB_parameters)

modify_range_partition MODIFY PARTITION partition


{ partition_attributes
| { add_hash_subpartition
| add_list_subpartition
}
| COALESCE SUBPARTITION
[ update_index_clauses ]
[ parallel_clause ]
| alter_mapping_table_clause
| [ REBUILD ] UNUSABLE LOCAL INDEXES
}

modify_table_default_attrs MODIFY DEFAULT ATTRIBUTES


[ FOR PARTITION partition ]
[ segment_attributes_clause ]
[ table_compression ]
[ PCTTHRESHOLD integer ]
[ key_compression ]
[ alter_overflow_clause ]
[ { LOB (LOB_item)
| VARRAY varray
}
(LOB_parameters)
[ { LOB (LOB_item)
| VARRAY varray
}
(LOB_parameters)
]...
]

modify_table_partition { modify_range_partition
| modify_hash_partition
| modify_list_partition
}

modify_table_subpartition MODIFY SUBPARTITION subpartition


{ modify_hash_subpartition
| modify_list_subpartition
}

Oracle Database 10g : Administration Workshop I D-58

Unauthorized reproduction or distribution prohibitedฺ Copyright© 2009, Oracle and/or its affiliatesฺ
Sous-clause Syntaxe
move_table_clause MOVE [ ONLINE ]
[ segment_attributes_clause ]
[ table_compression ]
[ index_org_table_clause ]
[ { LOB_storage_clause
| varray_col_properties
}
[ { LOB_storage_clause
| varray_col_properties
}
]...
]
[ parallel_clause ]

move_table_partition MOVE PARTITION partition


[ MAPPING TABLE ]
[ table_partition_description ]
[ update_index_clauses ]
[ parallel_clause ]

move_table_subpartition MOVE SUBPARTITION


subpartition_spec
[ update_index_clauses ]
[ parallel_clause ]

multi_column_for_loop FOR (dimension_column


[, dimension_column ]...)
IN ( { (literal [, literal ]...)
[ (literal [, literal ]...)... ]
| subquery
}
)

multi_table_insert { ALL insert_into_clause


[ values_clause ]
[ insert_into_clause
[ values_clause ]
]...
| conditional_insert_clause
}
subquery

multiset_except nested_table1
MULTISET EXCEPT [ ALL | DISTINCT ]
nested_table2

multiset_intersect nested_table1
MULTISET INTERSECT [ ALL | DISTINCT ]
nested_table2

Oracle Database 10g : Administration Workshop I D-59

Unauthorized reproduction or distribution prohibitedฺ Copyright© 2009, Oracle and/or its affiliatesฺ
Sous-clause Syntaxe
multiset_union nested_table1
MULTISET UNION [ ALL | DISTINCT ]
nested_table2

nested_table_col_properties NESTED TABLE


{ nested_item | COLUMN_VALUE }
[ substitutable_column_clause ]
STORE AS storage_table
[ ( { (object_properties)
| [ physical_properties ]
| [ column_properties ]
}
[ (object_properties)
| [ physical_properties ]
| [ column_properties ]
]...
)
]
[ RETURN AS { LOCATOR | VALUE } ]

new_values_clause { INCLUDING | EXCLUDING } NEW VALUES

number [ + | - ]
{ digit [ digit ]... [ . ] [ digit [ digit ]...
]
| . digit [ digit ]...
}
[ e [ + | - ] digit [ digit ]... ]
[ f | d ]

numeric_file_name +diskgroup_name.filenumber.incarnation_number

object_properties { { column | attribute }


[ DEFAULT expr ]
[ inline_constraint [ inline_constraint ]...
| inline_ref_constraint
]
| { out_of_line_constraint
| out_of_line_ref_constraint
| supplemental_logging_props
}
}

object_table CREATE [ GLOBAL TEMPORARY ] TABLE


[ schema. ]table OF
[ schema. ]object_type
[ object_table_substitution ]
[ (object_properties) ]
[ ON COMMIT { DELETE | PRESERVE } ROWS ]
[ OID_clause ]

Oracle Database 10g : Administration Workshop I D-60

Unauthorized reproduction or distribution prohibitedฺ Copyright© 2009, Oracle and/or its affiliatesฺ
Sous-clause Syntaxe
[ OID_index_clause ]
[ physical_properties ]
[ table_properties ] ;

object_table_substitution [ NOT ] SUBSTITUTABLE AT ALL LEVELS

object_type_col_properties COLUMN column substitutable_column_clause

object_view_clause OF [ schema. ]type_name


{ WITH OBJECT IDENTIFIER
{ DEFAULT | ( attribute
[, attribute ]... )
}
| UNDER [ schema. ]superview
}
({ out_of_line_constraint
| attribute inline_constraint
[ inline_constraint ]...
}
[, { out_of_line_constraint
| attribute inline_constraint
[ inline_constraint ]...
}
]...
)

OID_clause OBJECT IDENTIFIER IS


{ SYSTEM GENERATED | PRIMARY KEY }

OID_index_clause OIDINDEX [ index ]


({ physical_attributes_clause
| TABLESPACE tablespace
}
[ physical_attributes_clause
| TABLESPACE tablespace
]...
)

on_comp_partitioned_table [ STORE IN ( tablespace [, tablespace ]... ) ]


( PARTITION
[ partition
[ { segment_attribute_clause
| key_compression
}
[ segment_attribute_clause
| key_compression
]...
]
[ index_subpartition_clause ]
]

Oracle Database 10g : Administration Workshop I D-61

Unauthorized reproduction or distribution prohibitedฺ Copyright© 2009, Oracle and/or its affiliatesฺ
Sous-clause Syntaxe
[, PARTITION
[ partition
[ { segment_attribute_clause
| key_compression
}
[ segment_attribute_clause
| key_compression
]...
]
[ index_subpartition_clause ]
]...
]
)

on_hash_partitioned_table { STORE IN (tablespace[, tablespace ]...)


| (PARTITION
[ partition [ TABLESPACE tablespace ] ]
[, PARTITION
[ partition [ TABLESPACE tablespace ] ]
]...
)
}

on_list_partitioned_table ( PARTITION
[ partition
[ { segment_attributes_clause
| key_compression
}
[ segment_attributes_clause
| key_compression
]...
]
]
[, PARTITION
[ partition
[ { segment_attributes_clause
| key_compression
}
[ segment_attributes_clause
| key_compression
]...
]
]
]...
)

on_object_clause { schema.object
| { DIRECTORY directory_name
| JAVA { SOURCE | RESOURCE } [ schema. ]object
}
}

Oracle Database 10g : Administration Workshop I D-62

Unauthorized reproduction or distribution prohibitedฺ Copyright© 2009, Oracle and/or its affiliatesฺ
Sous-clause Syntaxe
on_range_partitioned_table ( PARTITION
[ partition
[ { segment_attributes_clause
| key_compression
}
[ segment_attributes_clause
| key_compression
]...
]
]
[, PARTITION
[ partition
[ { segment_attributes_clause
| key_compression
}
[ segment_attributes_clause
| key_compression
]...
]
]
]...
)

order_by_clause ORDER [ SIBLINGS ] BY


{ expr | position | c_alias }
[ ASC | DESC ]
[ NULLS FIRST | NULLS LAST ]
[, { expr | position | c_alias }
[ ASC | DESC ]
[ NULLS FIRST | NULLS LAST ]
]...

out_of_line_constraint [ CONSTRAINT constraint_name ]


{ UNIQUE (column [, column ]...)
| PRIMARY KEY (column [, column ]...)
| FOREIGN KEY (column [, column ]...)
references_clause
| CHECK (condition)
}
[ constraint_state ]

out_of_line_ref_constraint { SCOPE FOR


({ ref_col | ref_attr })
IS [ schema. ]scope_table
| REF
({ ref_col | ref_attr })
WITH ROWID
| [ CONSTRAINT constraint_name ]
FOREIGN KEY
({ ref_col | ref_attr })
references_clause
[ constraint_state ]
}

Oracle Database 10g : Administration Workshop I D-63

Unauthorized reproduction or distribution prohibitedฺ Copyright© 2009, Oracle and/or its affiliatesฺ
Sous-clause Syntaxe
outer_join_clause table_reference
[ query_partition_clause ]
{ outer_join_type JOIN
| NATURAL [ outer_join_type ] JOIN
}
table_reference [ query_partition_clause ]
[ ON condition
| USING ( column [, column ]...)
]

outer_join_type { FULL | LEFT | RIGHT }


[ OUTER ]

parallel_clause { NOPARALLEL | PARALLEL [ integer ] }

parallel_enable_clause PARALLEL_ENABLE
[ (PARTITION argument BY
{ ANY
| { HASH | RANGE } (column [, column ]...)
}
)
[ streaming_clause ]
]

partial_database_recovery { TABLESPACE tablespace [, tablespace ]...


| DATAFILE { 'filename' | filenumber }
[, 'filename' | filenumber ]...
}
| STANDBY
{ TABLESPACE tablespace [, tablespace ]...
| DATAFILE { 'filename' | filenumber }
[, 'filename' | filenumber ]...
}
}
UNTIL [ CONSISTENT WITH ] CONTROLFILE
}

partition_attributes [ { physical_attributes_clause
| logging_clause
| allocate_extent_clause
| deallocate_unused_clause
| shrink_clause
}
[ physical_attributes_clause
| logging_clause
| allocate_extent_clause
| deallocate_unused_clause
| shrink_clause
]...
]
[ OVERFLOW

Oracle Database 10g : Administration Workshop I D-64

Unauthorized reproduction or distribution prohibitedฺ Copyright© 2009, Oracle and/or its affiliatesฺ
Sous-clause Syntaxe
{ physical_attributes_clause
| logging_clause
| allocate_extent_clause
| deallocate_unused_clause
}
[ physical_attributes_clause
| logging_clause
| allocate_extent_clause
| deallocate_unused_clause
]...
]
[ table_compression ]
[ { LOB LOB_item | VARRAY varray }
modify_LOB_parameters
[ { LOB LOB_item | VARRAY varray }
modify_LOB_parameters
]...
]

partition_extended_name [ schema.] { table | view }


[ PARTITION (partition)
| SUBPARTITION (subpartition)
]

partition_level_subpartition { SUBPARTITIONS hash_subpartition_quantity


[ STORE IN (tablespace[, tablespace ]...) ]
| (subpartition_spec[, subpartition_spec ]...)
}

partition_spec PARTITION [ partition ]


[ table_partition_description ]

partitioning_storage_clause [ { TABLESPACE tablespace


| OVERFLOW [ TABLESPACE tablespace ]
| LOB (LOB_item) STORE AS
{ LOB_segname [ (TABLESPACE tablespace) ]
| (TABLESPACE tablespace)
}
| VARRAY varray_item STORE AS LOB LOB_segname
}
[ { TABLESPACE tablespace
| OVERFLOW [ TABLESPACE tablespace ]
| LOB (LOB_item) STORE AS
{ LOB_segname [ (TABLESPACE tablespace)
]
| (TABLESPACE tablespace)
}
| VARRAY varray_item STORE AS LOB
LOB_segname
}
]...
]

Oracle Database 10g : Administration Workshop I D-65

Unauthorized reproduction or distribution prohibitedฺ Copyright© 2009, Oracle and/or its affiliatesฺ
Sous-clause Syntaxe
password_parameters { { FAILED_LOGIN_ATTEMPTS
| PASSWORD_LIFE_TIME
| PASSWORD_REUSE_TIME
| PASSWORD_REUSE_MAX
| PASSWORD_LOCK_TIME
| PASSWORD_GRACE_TIME
}
{ expr | UNLIMITED | DEFAULT }
| PASSWORD_VERIFY_FUNCTION
{ function | NULL | DEFAULT }
}

permanent_tablespace_clause { MINIMUM EXTENT integer [ K | M ]


| BLOCKSIZE integer [ K ]
| logging_clause
| FORCE LOGGING
| DEFAULT [ table_compression ]
storage_clause
| { ONLINE | OFFLINE }
| extent_management_clause
| segment_management_clause
| flashback_mode_clause
[ MINIMUM EXTENT integer [ K | M ]
| BLOCKSIZE integer [ K ]
| logging_clause
| FORCE LOGGING
| DEFAULT [ table_compression ]
storage_clause
| { ONLINE | OFFLINE }
| extent_management_clause
| segment_management_clause
| flashback_mode_clause
]...
}

physical_attributes_clause [ { PCTFREE integer


| PCTUSED integer
| INITRANS integer
| storage_clause
}
[ PCTFREE integer
| PCTUSED integer
| INITRANS integer
| storage_clause
]...
]

physical_properties { segment_attributes_clause
[ table_compression ]
| ORGANIZATION
{ HEAP
[ segment_attributes_clause ]

Oracle Database 10g : Administration Workshop I D-66

Unauthorized reproduction or distribution prohibitedฺ Copyright© 2009, Oracle and/or its affiliatesฺ
Sous-clause Syntaxe
[ table_compression ]
| INDEX
[ segment_attributes_clause ]
index_org_table_clause
| EXTERNAL
external_table_clause
}
| CLUSTER cluster (column [, column ]...)
}

pragma_clause PRAGMA RESTRICT_REFERENCES


({ method_name | DEFAULT } ,
{ RNDS | WNDS | RNPS | WNPS | TRUST }
[, { RNDS | WNDS | RNPS | WNPS | TRUST } ]...
)

procedure_declaration PROCEDURE name (parameter datatype


[, parameter datatype ]...)
{ IS | AS } { pl/sql_block | call_spec }

procedure_spec PROCEDURE name


(parameter datatype [, parameter datatype ]...)
[ { IS | AS } call_spec ]

proxy_authentication { AUTHENTICATION REQUIRED


| AUTHENTICATED USING
{ PASSWORD
| DISTINGUISHED NAME
| CERTIFICATE [ TYPE 'type' ]
[ VERSION 'version' ]
}
}

proxy_clause { GRANT | REVOKE }


CONNECT THROUGH proxy
[ WITH { ROLE { role_name
[, role_name ]...
| ALL EXCEPT role_name
[, role_name ]...
}
| NO ROLES
}
]
[ proxy_authentication ]

qualified_disk_clause search_string
[ NAME disk_name ]
[ SIZE size_clause ]
[ FORCE | NOFORCE ]

Oracle Database 10g : Administration Workshop I D-67

Unauthorized reproduction or distribution prohibitedฺ Copyright© 2009, Oracle and/or its affiliatesฺ
Sous-clause Syntaxe
qualified_template_clause template_name
ATTRIBUTES
([ MIRROR | UNPROTECTED ]
[ FINE | COARSE ]
)

query_partition_clause PARTITION BY
{ value_expr[, value_expr ]...
| ( value_expr[, value_expr ]... )

query_table_expression { query_name
| [ schema. ]
{ table [ { PARTITION (partition)
| SUBPARTITION (subpartition)
}
[ sample_clause ]
| [ sample_clause ]
| @ dblink
]
| { view | materialized view } [ @ dblink ]
}
| (subquery [ subquery_restriction_clause ])
| table_collection_expression
}

quiesce_clauses QUIESCE RESTRICTED | UNQUIESCE

range_partitioning PARTITION BY RANGE (column[, column ]...)


(PARTITION [ partition ]
range_values_clause
table_partition_description
[, PARTITION [ partition ]
range_values_clause
table_partition_description
]...
)

range_values_clause VALUES LESS THAN


({ value | MAXVALUE }
[, { value | MAXVALUE } ]...
)

rebalance_diskgroup_clause REBALANCE [ POWER integer ]

rebuild_clause REBUILD
[ { PARTITION partition
| SUBPARTITION subpartition
}
| { REVERSE | NOREVERSE }

Oracle Database 10g : Administration Workshop I D-68

Unauthorized reproduction or distribution prohibitedฺ Copyright© 2009, Oracle and/or its affiliatesฺ
Sous-clause Syntaxe
]
[ parallel_clause
| TABLESPACE tablespace
| PARAMETERS ('ODCI_parameters')
| ONLINE
| COMPUTE STATISTICS
| physical_attributes_clause
| key_compression
| logging_clause
]
[ parallel_clause
| TABLESPACE tablespace
| PARAMETERS ('ODCI_parameters')
| ONLINE
| COMPUTE STATISTICS
| physical_attributes_clause
| key_compression
| logging_clause
]...

records_per_block_clause { MINIMIZE | NOMINIMIZE } RECORDS_PER_BLOCK

recover_clause { { DISCONNECT [ FROM SESSION ]


| { TIMEOUT integer | NOTIMEOUT }
}
| { NODELAY | DEFAULT DELAY | DELAY integer }
| NEXT integer
| { EXPIRE integer | NO EXPIRE }
| parallel_clause
| USING CURRENT LOGFILE
| UNTIL CHANGE integer
| THROUGH { [ THREAD integer ] SEQUENCE integer
| ALL ARCHIVELOG
| { ALL | LAST | NEXT } SWITCHOVER
}
}
[ { DISCONNECT [ FROM SESSION ]
| { TIMEOUT integer | NOTIMEOUT }
}
| { NODELAY | DEFAULT DELAY | DELAY integer }
| NEXT integer
| { EXPIRE integer | NO EXPIRE }
| parallel_clause
| USING CURRENT LOGFILE
| UNTIL CHANGE integer
| THROUGH { [ THREAD integer ] SEQUENCE
integer
| ALL ARCHIVELOG
| { ALL | LAST | NEXT } SWITCHOVER
}
] ...

Oracle Database 10g : Administration Workshop I D-69

Unauthorized reproduction or distribution prohibitedฺ Copyright© 2009, Oracle and/or its affiliatesฺ
Sous-clause Syntaxe
recovery_clauses { general_recovery
| managed_standby_recovery
| BEGIN BACKUP
| END BACKUP
}

redo_log_file_spec [ 'filename'
| ('filename' [, 'filename' ]...)
]
[ SIZE size_clause ]
[ REUSE ]

redo_thread_clauses { ENABLE | DISABLE }


{ INSTANCE 'instance_name'
| [ PUBLIC ] THREAD integer
}

reference_model REFERENCE reference_spreadsheet_name


ON (subquery)
spreadsheet_column_clauses
[ cell_reference_options ]

references_clause REFERENCES [ schema. ] { object_table | view }


[ (column [, column ]...) ]
[ON DELETE { CASCADE | SET NULL } ]
[ constraint_state ]

referencing_clause REFERENCING
{ OLD [ AS ] old
| NEW [ AS ] new
| PARENT [ AS ] parent }
[ OLD [ AS ] old
| NEW [ AS ] new
| PARENT [ AS ] parent ]...

register_logfile_clause REGISTER
[ OR REPLACE ]
[ PHYSICAL | LOGICAL ]
LOGFILE
[ file_specification
[, file_specification ]...
]
FOR logminer_session_name

relational_properties { column datatype [ SORT ]


[ DEFAULT expr ]
[ inline_constraint
[ inline_constraint ]...
| inline_ref_constraint

Oracle Database 10g : Administration Workshop I D-70

Unauthorized reproduction or distribution prohibitedฺ Copyright© 2009, Oracle and/or its affiliatesฺ
Sous-clause Syntaxe
]
| { out_of_line_constraint
| out_of_line_ref_constraint
| supplemental_logging_props
}
}
[, { column datatype [ SORT ]
[ DEFAULT expr ]
[ inline_constraint
[ inline_constraint ]...
| inline_ref_constraint
]
| { out_of_line_constraint
| out_of_line_ref_constraint
| supplemental_logging_props
}
]...

relational_table CREATE [ GLOBAL TEMPORARY ] TABLE [ schema.


]table
[ (relational_properties) ]
[ ON COMMIT { DELETE | PRESERVE } ROWS ]
[ physical_properties ]
[ table_properties ] ;

rename_column_clause RENAME COLUMN old_name TO new_name

rename_index_partition RENAME { PARTITION partition


| SUBPARTITION subpartition }
TO new_name

rename_partition_subpart RENAME { PARTITION | SUBPARTITION }


current_name TO new_name

replace_type_clause REPLACE [ invoker_rights_clause ] AS OBJECT


(attribute datatype [, attribute datatype
]...
[, element_spec [, element_spec ]... ])

resize_disk_clauses RESIZE
{ ALL [ SIZE size_clause ]
| DISK
disk_name [ SIZE size_clause ]
[, disk_name [ SIZE size_clause ] ]...
| DISKS IN FAILGROUP
failgroup_name [ SIZE size_clause ]
[, failgroup_name [ SIZE size_clause ] ]...
}

Oracle Database 10g : Administration Workshop I D-71

Unauthorized reproduction or distribution prohibitedฺ Copyright© 2009, Oracle and/or its affiliatesฺ
Sous-clause Syntaxe
resource_parameters { { SESSIONS_PER_USER
| CPU_PER_SESSION
| CPU_PER_CALL
| CONNECT_TIME
| IDLE_TIME
| LOGICAL_READS_PER_SESSION
| LOGICAL_READS_PER_CALL
| COMPOSITE_LIMIT
}
{ integer | UNLIMITED | DEFAULT }
| PRIVATE_SGA
{ integer [ K | M ] | UNLIMITED | DEFAULT }
}

restricted_session_clauses { ENABLE | DISABLE } RESTRICTED SESSION

return_clause { RETURN datatype [ { IS | AS } call_spec ]


| sqlj_object_type_sig
}

return_rows_clause RETURN { UPDATED | ALL } ROWS

returning_clause RETURNING expr [, expr ]...


INTO data_item [, data_item ]...

revoke_object_privileges { object_privilege | ALL [ PRIVILEGES ] }


[, { object_privilege | ALL [ PRIVILEGES ] }
]...
on_object_clause
FROM grantee_clause
[ CASCADE CONSTRAINTS | FORCE ]

revoke_system_privileges { system_privilege
| role
| ALL PRIVILEGES
}
[, { system_privilege
| role
| ALL PRIVILEGES
}
]...
FROM grantee_clause

rollup_cube_clause { ROLLUP | CUBE } (grouping_expression_list)

routine_clause [ schema. ] [ type. | package. ]


{ function | procedure | method }
[ @dblink_name ]
( [ argument [, argument ]... ] )

Oracle Database 10g : Administration Workshop I D-72

Unauthorized reproduction or distribution prohibitedฺ Copyright© 2009, Oracle and/or its affiliatesฺ
Sous-clause Syntaxe
row_movement_clause { ENABLE | DISABLE } ROW MOVEMENT

sample_clause SAMPLE [ BLOCK ]


(sample_percent)
[ SEED (seed_value) ]

schema_object_clause { object_option [, object_option ]... | ALL }


auditing_on_clause

scoped_table_ref_constraint { SCOPE FOR


({ ref_column | ref_attribute })
IS [ schema. ] { scope_table_name | c_alias }
}
[, SCOPE FOR
({ ref_column | ref_attribute })
IS [ schema. ] { scope_table_name | c_alias
}
]...

searched_case_expression WHEN condition THEN return_expr


[ WHEN condition THEN return_expr ]...

security_clause GUARD { ALL | STANDBY | NONE }

segment_attributes_clause { physical_attributes_clause
| TABLESPACE tablespace
| logging_clause
}
[ physical_attributes_clause
| TABLESPACE tablespace
| logging_clause
]...

segment_management_clause SEGMENT SPACE MANAGEMENT { MANUAL | AUTO }

select_list { *
| { query_name.*
| [ schema. ]
{ table | view | materialized view } .*
| expr [ [ AS ] c_alias ]
}
[, { query_name.*
| [ schema. ]
{ table | view | materialized view } .*
| expr [ [ AS ] c_alias ]
}
]...
}

Oracle Database 10g : Administration Workshop I D-73

Unauthorized reproduction or distribution prohibitedฺ Copyright© 2009, Oracle and/or its affiliatesฺ
Sous-clause Syntaxe
set_subpartition_template SET SUBPARTITION TEMPLATE
{ (SUBPARTITION subpartition
[ list_values_clause ]
[ partitioning_storage_clause ]
[, SUBPARTITION subpartition
[ list_values_clause ]
[ partitioning_storage_clause ]...
]
)
| hash_subpartition_quantity
}

set_time_zone_clause SET TIME_ZONE =


'{ { + | - } hh : mi | time_zone_region }'

shrink_clause SHRINK SPACE [ COMPACT ] [ CASCADE ]

shutdown_dispatcher_clause SHUTDOWN [ IMMEDIATE ] dispatcher_name

simple_case_expression expr WHEN comparison_expr


THEN return_expr
[ WHEN comparison_expr
THEN return_expr ]...

single_column_for_loop FOR dimension_column


{ IN ( { literal
[, literal ]...
| subquery
}
)
| [ LIKE pattern ]
FROM literal TO literal
{ INCREMENT | DECREMENT } literal
}

single_table_insert insert_into_clause
{ values_clause [ returning_clause ]
| subquery
}

size_clause integer [ K | M | G | T ]

split_index_partition SPLIT PARTITION partition_name_old


AT (value [, value ]...)
[ INTO (index_partition_description,
index_partition_description
)
]

Oracle Database 10g : Administration Workshop I D-74

Unauthorized reproduction or distribution prohibitedฺ Copyright© 2009, Oracle and/or its affiliatesฺ
Sous-clause Syntaxe
[ parallel_clause ]
UPDATE MANUALLY problem importing file
split_table_partition SPLIT PARTITION current_partition
{ AT | VALUES } (value [, value ]...)
[ INTO (partition_spec, partition_spec) ]
[ update_index_clauses ]
[ parallel_clause ]
UPDATE MANUALLY problem importing file
split_table_subpartition SPLIT SUBPARTITION subpartition
VALUES ({ value | NULL }
[, value | NULL ]...)
[ INTO (subpartition_spec,
subpartition_spec
)
]
[ update_index_clauses ]
[ parallel_clause ]
UPDATE MANUALLY problem importing file
sql_statement_clause { { statement_option | ALL }
[, { statement_option | ALL } ]...
| { system_privilege | ALL PRIVILEGES }
[, { system_privilege | ALL PRIVILEGES } ]...
}
[ auditing_by_clause ]

sqlj_object_type EXTERNAL NAME java_ext_name LANGUAGE JAVA


USING (SQLData | CustomDatum | OraData)

sqlj_object_type_attr EXTERNAL NAME 'field_name'

sqlj_object_type_sig RETURN { datatype | SELF AS RESULT }


EXTERNAL { VARIABLE NAME
'java_static_field_name'
| NAME 'java_method_sig'
}

standby_database_clauses ( activate_standby_db_clause
| maximize_standby_db_clause
| register_logfile_clause
| commit_switchover_clause
| start_standby_clause
| stop_standby_clause
)
[ parallel_clause ]

start_standby_clause START LOGICAL STANDBY APPLY


[ IMMEDIATE ]
[ NODELAY ]
[ NEW PRIMARY dblink

Oracle Database 10g : Administration Workshop I D-75

Unauthorized reproduction or distribution prohibitedฺ Copyright© 2009, Oracle and/or its affiliatesฺ
Sous-clause Syntaxe
| INITIAL [ scn_value ]
| { SKIP FAILED TRANSACTION | FINISH }
]

startup_clauses { MOUNT [ { STANDBY | CLONE } DATABASE ]


| OPEN { [ READ WRITE ]
[ RESETLOGS | NORESETLOGS ]
[ UPGRADE | DOWNGRADE ]
| READ ONLY
}
}

stop_standby_clause { STOP | ABORT }


LOGICAL STANDBY APPLY

storage_clause STORAGE
({ INITIAL integer [ K | M ]
| NEXT integer [ K | M ]
| MINEXTENTS integer
| MAXEXTENTS { integer | UNLIMITED }
| PCTINCREASE integer
| FREELISTS integer
| FREELIST GROUPS integer
| OPTIMAL [ integer [ K | M ]
| NULL
]
| BUFFER_POOL { KEEP | RECYCLE | DEFAULT }
}
[ INITIAL integer [ K | M ]
| NEXT integer [ K | M ]
| MINEXTENTS integer
| MAXEXTENTS { integer | UNLIMITED }
| PCTINCREASE integer
| FREELISTS integer
| FREELIST GROUPS integer
| OPTIMAL [ integer [ K | M ]
| NULL
]
| BUFFER_POOL { KEEP | RECYCLE | DEFAULT }
]...
)

streaming_clause { ORDER | CLUSTER } BY (column [, column ]...)

subpartition_by_hash SUBPARTITION BY HASH (column [, column ]...)


[ SUBPARTITIONS quantity
[ STORE IN (tablespace [, tablespace
]...) ]
| subpartition_template
]

Oracle Database 10g : Administration Workshop I D-76

Unauthorized reproduction or distribution prohibitedฺ Copyright© 2009, Oracle and/or its affiliatesฺ
Sous-clause Syntaxe
subpartition_by_list SUBPARTITION BY LIST (column)
[ subpartition_template ]

subpartition_spec SUBPARTITION [ subpartition ]


[ list_values_clause ]
[ partitioning_storage_clause ]

subpartition_template SUBPARTITION TEMPLATE


(SUBPARTITION subpartition
[ list_values_clause ]
[ partitioning_storage_clause ]
[, SUBPARTITION subpartition
[ list_values_clause ]
[ partitioning_storage_clause ]
]
)
| hash_subpartition_quantity

subprogram_declaration { MEMBER | STATIC }


{ procedure_declaration
| function_declaration
| constructor_declaration
}

subprogram_spec { MEMBER | STATIC }


{ procedure_spec | function_spec }

subquery [ subquery_factoring_clause ]
SELECT
[ hint ]
[ { { DISTINCT | UNIQUE }
| ALL
}
]
select_list
FROM table_reference
[, table_reference ]...
[ where_clause ]
[ hierarchical_query_clause ]
[ group_by_clause ]
[ HAVING condition ]
[ model_clause ]
[ { UNION [ ALL ]
| INTERSECT
| MINUS
}
(subquery)
]
[ order_by_clause ]

Oracle Database 10g : Administration Workshop I D-77

Unauthorized reproduction or distribution prohibitedฺ Copyright© 2009, Oracle and/or its affiliatesฺ
Sous-clause Syntaxe
subquery_factoring_clause WITH query_name AS (subquery)
[, query_name AS (subquery) ]...

subquery_restriction_clause WITH { READ ONLY


| CHECK OPTION [ CONSTRAINT constraint ]
}

substitutable_column_clause [ ELEMENT ] IS OF [ TYPE ] ([ ONLY ] type)


| [ NOT ] SUBSTITUTABLE AT ALL LEVELS

supplemental_db_logging { ADD | DROP } SUPPLEMENTAL LOG


{ DATA | supplemental_id_key_clause }

supplemental_id_key_clause DATA
({ ALL
| PRIMARY KEY
| UNIQUE
| FOREIGN KEY
}
[, { ALL
| PRIMARY KEY
| UNIQUE
| FOREIGN KEY
}
]...
)
COLUMNS

supplemental_log_grp_clause GROUP log_group


(column [ NO LOG ]
[, column [ NO LOG ] ]...)
[ ALWAYS ]

supplemental_logging_props { supplemental_log_grp_clause
| supplemental_id_key_clause
}

supplemental_table_logging { ADD SUPPLEMENTAL LOG


{ supplemental_log_grp_clause
| supplemental_id_key_clause
}
[, SUPPLEMENTAL LOG
{ supplemental_log_grp_clause
| supplemental_id_key_clause
}
]...
| DROP SUPPLEMENTAL LOG
{ supplemental_id_key_clause
| GROUP log_group

Oracle Database 10g : Administration Workshop I D-78

Unauthorized reproduction or distribution prohibitedฺ Copyright© 2009, Oracle and/or its affiliatesฺ
Sous-clause Syntaxe
}
[, SUPPLEMENTAL LOG
{ supplemental_id_key_clause
| GROUP log_group
}
]...
}

table_collection_expression TABLE (collection_expression) [ (+) ]

table_compression { COMPRESS | NOCOMPRESS }

table_index_clause [ schema. ]table [ t_alias ]


(index_expr [ ASC | DESC ]
[, index_expr [ ASC | DESC ] ]...)
[ index_properties ]

table_partition_description [ segment_attributes_clause ]
[ table_compression | key_compression ]
[ OVERFLOW [ segment_attributes_clause ] ]
[ { LOB_storage_clause
| varray_col_properties
}
[ LOB_storage_clause
| varray_col_properties
]...
]
[ partition_level_subpartition ]

table_partitioning_clauses { range_partitioning
| hash_partitioning
| list_partitioning
| composite_partitioning
}

table_properties [ column_properties ]
[ table_partitioning_clauses ]
[ CACHE | NOCACHE ]
[ parallel_clause ]
[ ROWDEPENDENCIES | NOROWDEPENDENCIES ]
[ enable_disable_clause ]
[ enable_disable_clause ]...
[ row_movement_clause ]
[ AS subquery ]

table_reference { ONLY
(query_table_expression)
[ flashback_query_clause ]
[ t_alias ]

Oracle Database 10g : Administration Workshop I D-79

Unauthorized reproduction or distribution prohibitedฺ Copyright© 2009, Oracle and/or its affiliatesฺ
Sous-clause Syntaxe
| query_table_expression
[ flashback_query_clause ]
[ t_alias ]
| (join_clause)
| join_clause
}

tablespace_clauses { EXTENT MANAGEMENT LOCAL


| DATAFILE file_specification
[, file_specification ]...
| SYSAUX DATAFILE file_specification
[, file_specification ]...
| default_tablespace
| default_temp_tablespace
| undo_tablespace
}

tablespace_group_clause TABLESPACE GROUP { tablespace_group_name | '' }

tablespace_logging_clauses { logging_clause
| [ NO ] FORCE LOGGING
}

tablespace_retention_clause RETENTION { GUARANTEE | NOGUARANTEE }

tablespace_state_clauses { ONLINE
| OFFLINE [ NORMAL | TEMPORARY | IMMEDIATE ]
}
| READ { ONLY | WRITE }
| { PERMANENT | TEMPORARY }

temporary_tablespace_clause TEMPORARY TABLESPACE tablespace


[ TEMPFILE file_specification
[, file_specification ]...
]
[ tablespace_group_clause ]
[ extent_management_clause ]

text [ N | n ]
{ 'c [ c ]...'
| { Q | q }
'quote_delimiter c [ c ]... quote_delimiter'
}

trace_file_clause TRACE
[ AS 'filename' [ REUSE ] ]
[ RESETLOGS | NORESETLOGS ]

Oracle Database 10g : Administration Workshop I D-80

Unauthorized reproduction or distribution prohibitedฺ Copyright© 2009, Oracle and/or its affiliatesฺ
Sous-clause Syntaxe
truncate_partition_subpart TRUNCATE { PARTITION partition
| SUBPARTITION subpartition
}
[ { DROP | REUSE } STORAGE ]
[ update_index_clauses [ parallel_clause ] ]

undo_tablespace [ BIGFILE | SMALLFILE ]


UNDO TABLESPACE tablespace
[ TABLESPACE file_specification
[, file_specification ]...
]

undo_tablespace_clause UNDO TABLESPACE tablespace


[ DATAFILE file_specification
[, file_specification ]...
]
[ extent_management_clause ]
[ tablespace_retention_clause ]

undrop_disk_clause UNDROP DISKS

update_all_indexes_clause UPDATE INDEXES


[ (index ( { update_index_partition
| update_index_subpartition
}
)
)
[, (index ( { update_index_partition
| update_index_subparition
}
)
)
]...

update_global_index_clause { UPDATE | INVALIDATE } GLOBAL INDEXES

update_index_clauses { update_global_index_clause
| update_all_indexes_clause
}

update_index_partition PARTITION [ partition ]


[ index_partition_description
[ index_subpartition_clause ]
]
[, PARTITION [ partition ]
[ index_partition_description
[ index_subpartition_clause ]
]
]...

Oracle Database 10g : Administration Workshop I D-81

Unauthorized reproduction or distribution prohibitedฺ Copyright© 2009, Oracle and/or its affiliatesฺ
Sous-clause Syntaxe
update_index_subpartition SUBPARTITION [ subpartition ]
[ TABLESPACE tablespace ]
[, SUBPARTITION [ subpartition ]
[ TABLESPACE tablespace ]
]...

update_set_clause SET
{ { (column [, column ]...) = (subquery)
| column = { expr | (subquery) | DEFAULT }
}
[, { (column [, column]...) = (subquery)
| column = { expr | (subquery) | DEFAULT
}
}
]...
| VALUE (t_alias) = { expr | (subquery) }
}

upgrade_table_clause UPGRADE [ [NOT ] INCLUDING DATA ]


[ column_properties ]

using_function_clause USING [ schema. ] [ package. | type.


]function_name

using_index_clause USING INDEX


{ [ schema. ]index
| (create_index_statement)
| index_properties
}

using_statistics_type USING { [ schema. ] statistics_type | NULL }

using_type_clause USING [ schema. ]implementation_type


[ array_DML_clause ]

validation_clauses { VALIDATE REF UPDATE


[ SET DANGLING TO NULL ]
| VALIDATE STRUCTURE
[ CASCADE ]
[ into_clause ]
{ OFFLINE| ONLINE }
}

values_clause VALUES ({ expr | DEFAULT }


[, { expr | DEFAULT } ]...
)

Oracle Database 10g : Administration Workshop I D-82

Unauthorized reproduction or distribution prohibitedฺ Copyright© 2009, Oracle and/or its affiliatesฺ
Sous-clause Syntaxe
varray_col_properties VARRAY varray_item
{ [ substitutable_column_clause ]
STORE AS LOB
{ [ LOB_segname ] (LOB_parameters)
| LOB_segname
}
| substitutable_column_clause
}

where_clause WHERE condition

windowing_clause { ROWS | RANGE }


{ BETWEEN
{ UNBOUNDED PRECEDING
| CURRENT ROW
| value_expr { PRECEDING | FOLLOWING }
}
AND
{ UNBOUNDED FOLLOWING
| CURRENT ROW
| value_expr { PRECEDING | FOLLOWING }
}
| { UNBOUNDED PRECEDING
| CURRENT ROW
| value_expr PRECEDING
}
}

XML_attributes_clause XMLATTRIBUTES
(value_expr [ AS c_alias ]
[, value_expr [ AS c_alias ]...
)

XMLSchema_spec [ XMLSCHEMA XMLSchema_URL ]


ELEMENT { element | XMLSchema_URL # element }

XMLType_column_properties XMLTYPE [ COLUMN ] column


[ XMLType_storage ]
[ XMLSchema_spec ]

XMLType_storage STORE AS
{ OBJECT RELATIONAL
| CLOB [ { LOB_segname [ (LOB_parameters) ]
| LOB_parameters
}
]

XMLType_table CREATE TABLE [ GLOBAL TEMPORARY ] TABLE


[ schema. ]table OF XMLTYPE

Oracle Database 10g : Administration Workshop I D-83

Unauthorized reproduction or distribution prohibitedฺ Copyright© 2009, Oracle and/or its affiliatesฺ
Sous-clause Syntaxe
[ (oject_properties) ]
[ XMLTYPE XMLType_storage ]
[ XMLSchema_spec ]
[ ON COMMIT { DELETE | PRESERVE } ROWS ]
[ OID_clause ]
[ OID_index_clause ]
[ physical_properties ]
[ table_properties ] ;

XMLType_view_clause OF XMLTYPE
[ XMLSchema_spec ]
WITH OBJECT IDENTIFIER
{ DEFAULT | ( expr [, expr ]...) }

Oracle Database 10g : Administration Workshop I D-84

Unauthorized reproduction or distribution prohibitedฺ Copyright© 2009, Oracle and/or its affiliatesฺ
_________________

Annexe E
Acronymes et
termes
_________________

Unauthorized reproduction or distribution prohibitedฺ Copyright© 2009, Oracle and/or its affiliatesฺ
Terme Définition
ADDM Automatic Database Diagnostic Monitor. Moniteur ADDM.
ASM Automatic Storage Management.
ASM Automatic Summary Management.
ASMM Gestion automatique de la mémoire partagée
ASSM Automatic Segment Space Management. Gestion automatique de
l'espace dans les segments.
ATO Optimiseur ATO.
Automatic Storage Mécanisme qui fournit une intégration verticale du système de
Management. fichiers et du gestionnaire de volumes, construite spécialement
pour les fichiers de base de données Oracle.
AWR Automatic Workload Repository. Référentiel AWR.
Base de données Base de donnée utilisée lors de la création d'une base de données
auxiliaire dupliquée ou lors de la récupération d'un tablespace jusqu'à un
point dans le temps.
Base de données cible Base de données à laquelle vous tentez de vous connecter.
Bibliothèque de gestion Media Management Library. Bibliothèque utilisée par RMAN
des médias lors de l'écriture ou de la lecture sur bande.
Bloc de données La plus petite unité de stockage physique dans la base de données.
Les blocs de données contiennent des lignes de données, des
informations d'index, etc.
BMR Block Media Recovery. Restauration physique de bloc.
Cache "library" Partie de la zone de mémoire partagée contenant les
représentations totalement analysées ou compilées des blocs
PL/SQL et des instructions SQL.
Cache de tampons Zone de la mémoire dans laquelle sont placés des blocs de
(buffer cache) données extraits de la base.
Cache de tampons de Zone de la mémoire SGA utilisée pour mettre en mémoire cache
conservation les données du cache de tampons pour des périodes plus longues.
Cache de tampons de Région de la mémoire SGA contenant des données qui sont
recyclage rapidement retirées du cache de tampons (buffer cache).
Cache du dictionnaire de Partie de la zone de mémoire partagée contenant les définitions
données des objets du dictionnaire en mémoire.
Canal Lien ou connexion à une base de données cible.
Canal de communication Zone de mémoire utilisée par un processus pour transmettre des
informations à un autre processus.
Catalogue de restauration Base de données distincte qui conserve des données historiques
concernant les activités de sauvegarde.
CFS Cluster File Storage.
CLI Command Line Interface. Interface de ligne de commande.
Cluster Groupement d'une ou de plusieurs tables qui partagent les mêmes
blocs de données.

Oracle Database 10g : Administration Workshop I E-2


Unauthorized reproduction or distribution prohibitedฺ Copyright© 2009, Oracle and/or its affiliatesฺ
Terme Définition
CMAN Oracle Connection Manager. Fait office de pare-feu (firewall) et
de serveur proxy pour le trafic réseau.

Copie d'image Copie identique bit à bit d'un fichier de base de données.
Corbeille Table du dictionnaire de données qui gère les relations entre les
noms originaux des objets supprimés et les noms générés par le
système.
Corruption de bloc Corruption d'un bloc de données. Un bloc de données endommagé
est un bloc qui n'est pas dans un format Oracle reconnu ou dont le
contenu n'est pas cohérent en interne.
CRS Cluster Ready Services.
DBA DataBase Administrator. Administrateur de base de données.
DBA Data Block Address. Adresse de bloc de données, utilisée pour
identifier de manière unique un bloc de données dans la base.
DBCA DataBase Configuration Assistant.
DBVERIFY Utilitaire de ligne de commande externe qui effectue une
vérification d'intégrité de la structure de données physique sur une
base hors ligne.
Données d'annulation Copie des données originales qui est stockée chaque fois qu'une
transaction LMD change des données. Les données d'annulation
(undo) sont utilisées pour annuler (rollback) une transaction et
pour offrir des vues cohérentes de données qui changent.
Elément de sauvegarde Fichier individuel faisant partie d'un jeu de sauvegarde.
Eléments de masque de Littéral de type caractère qui décrit le format des données date-
format heure ou des données numériques stockées dans une chaîne de
caractères.
EM Enterprise Manager.
emctl Enterprise Manager Control. Utilitaire permettant de démarrer,
d'arrêter et de vérifier le statut de Database Control, de l'agent
Oracle et des serveurs Oracle Management Server.
Enterprise Manager Interface graphique utilisée pour gérer la base de données.
Database Control
Etat de tendance de Analyse de la croissance des segments de données.
croissance
Evénement Wait Statistiques qui sont incrémentées par un processus ou par un
thread serveur afin d'indiquer que le processus a dû attendre la fin
d'un événement pour poursuivre le traitement.
Exécution en parallèle Allocation de plusieurs canaux pour les opérations RMAN de
sauvegarde et de récupération.
EXTPROC Bibliothèques de code externes.
FGA Fine-Grained Auditing. Audit détaillé.
FGAC Fine-Grained Access Control. Contrôle d'accès de niveau fin.
Fichier de contrôle Fichier contenant des informations sur la structure physique de la
base de données, notamment l'emplacement de tous les fichiers de
données et fichiers de journalisation (fichiers redo log).

Oracle Database 10g : Administration Workshop I E-3


Unauthorized reproduction or distribution prohibitedฺ Copyright© 2009, Oracle and/or its affiliatesฺ
Terme Définition
Fichier de données Fichier contenant les données de la base.
Fichier de suivi des Fichier utilisé pour stocker l'emplacement physique des
modifications changements apportés à la base de données depuis la dernière
sauvegarde.
Flashback Database Nouvelle méthode de récupération qui utilise les données
d'annulation (undo) plutôt que les données de journalisation
(redo) pour la récupération de la base.
Flashback Drop Fonctionnalité qui vous permet d'annuler les effets d'une
instruction DROP TABLE sans avoir à recourir à la récupération
traditionnelle jusqu'à un point dans le temps.
Flashback Table Commande qui permet de récupérer une table et tous ses objets
dépendants à partir de la corbeille.
Flashback Transaction Outil de diagnostic qui vous permet d'afficher les modifications
Query apportées à la base de données au niveau transaction.
Flashback Versions Syntaxe d'interrogation qui fournit un historique des
Query modifications apportées à une ligne, ainsi que l'identificateur
correspondant de la transaction à l'origine de la modification.
Fonction de conseil SAA Outil qui détermine les chemins d'accès optimaux aux données
(SQL Access Advisor) (par exemple, l'utilisation d'index et de vues matérialisées).
Gestion automatique de la Fonctionnalité de la base de données Oracle qui automatise la
mémoire partagée gestion des principales structures mémoire partagées utilisées par
une instance de base de données Oracle.
Gestion automatique de la Fonctionnalité de la base de données Oracle qui simplifie et
mémoire PGA améliore le mode d'allocation de la mémoire PGA.
Incarnation Version distincte d'une base de données physique. L'incarnation
de la base de données change lorsque vous ouvrez cette dernière
avec l'option RESETLOGS. Mais vous pouvez récupérer des
sauvegardes à partir d'une incarnation antérieure, tant que les
informations de journalisation nécessaires sont disponibles.
init.ora ou Fichier de paramètres d'initialisation, qui contrôle la configuration
init<sid>.ora et l'exécution de l'instance de base de données. Egalement appelé
"fichier de paramètres".
Instance Ensemble des processus et de la mémoire partagée utilisés pour
accéder à la base de données Oracle.
IPC InterProcess Communication.
isqlplusctl Utilitaire de contrôle pour démarrer et arrêter les processus
d'écoute (listeners) iSQL*Plus.
ISV Independent Software Vendor. Fournisseur indépendant de
logiciels.
JDBC Java DataBase Connectivity.
Jeu de caractères encodé Jeu de caractères qui associe des codes numériques aux caractères
qu'un ordinateur ou un terminal peut afficher et recevoir.

Oracle Database 10g : Administration Workshop I E-4


Unauthorized reproduction or distribution prohibitedฺ Copyright© 2009, Oracle and/or its affiliatesฺ
Terme Définition
Jeu de sauvegarde Copie d'un ou de plusieurs fichiers de données ou fichiers de
journalisation archivés. Un jeu de sauvegarde diffère d'une copie
d'image en ce sens que les blocs vides ne sont pas stockés.
jnnn Processus de gestion de la file d'attente des travaux. Il exécute les
travaux planifiés.
LCSSCAN Language and Character Set File Scanner. Outil d'analyse de
langue et de jeu de caractères d'un fichier.
LDD Langage de définition de données. Classe d'instructions SQL qui
permettent de définir et de manipuler les objets de base de
données.
LEGATO® NetWorker, Logiciel inclus dans Oracle Database 10g et permettant à
Single-Server Version l'utilitaire Recovery Manager d'écrire sur des lecteurs de bande.
LMD Langage de manipulation de données. Classe d'instructions SQL
qui permettent de définir et de manipuler les objets de base de
données.
Locale Ensemble d'informations sur les préférences linguistiques et
culturelles d'une région particulière.
LSSV LEGATO® NetWorker, Single-Server Version
Mémoire allouée par Partie de la mémoire PGA allouée pour le stockage des variables
session (session memory) de session, ainsi que d'autres informations liées à la session.
Mémoire PGA Program Global Area. Zone de mémoire privée pour une
utilisation par un processus.
Mémoire SGA System Global Area. Zone de mémoire partagée par l'ensemble
des processus serveur et des processus en arrière-plan.
Mémoire tampon avec Région de la mémoire SGA qui met en mémoire cache les blocs
une taille de bloc de nK de données dont la taille est différente de la taille de bloc de base
de données par défaut. Elle est utilisée pour la prise en charge des
tablespaces transportables.
Mémoire tampon Zone de mémoire dans laquelle sont stockées les données
flashback Flashback Database.
Mémoire UGA (User Partie de la zone de mémoire partagée ou de la zone de mémoire
Global Area) LARGE POOL, contenant les informations relatives aux sessions
Oracle Shared Server.
Memory Advisor Fonctionnalité d'Enterprise Manager qui vous aide à régler la
taille des structures mémoire.
Memory Manager Processus de base de données en arrière-plan qui sert d'interface
(MMAN) Broker pour la mémoire SGA et coordonne le dimensionnement
des composants de mémoire.
Mesure de performances Mesure d'une caractéristique de la base de données ou d'une
instance.
MML Media management Library. Bibliothèque de gestion des médias.
MMON Management Monitor. Ce processus génère une alerte chaque fois
qu'une mesure de performances dépasse le seuil défini. Il capture
des statistiques pour les objets SQL modifiés récemment.

Oracle Database 10g : Administration Workshop I E-5


Unauthorized reproduction or distribution prohibitedฺ Copyright© 2009, Oracle and/or its affiliatesฺ
Terme Définition
Moniteur ADDM Automatic Database Diagnostic Monitor. Utilitaire qui effectue
une analyse descendante, identifie les problèmes et les causes
possibles, puis émet des recommandations pour la résolution des
problèmes.
NLS National Language Support. Support NLS.
NLS Runtime Library Suite complète de fonctions indépendantes de la langue qui
permettent le traitement approprié du texte et des caractères, ainsi
que les manipulations de convention de langue.
NLS_LANG Variable d'environnement utilisée pour indiquer la langue, le
territoire et le jeu de caractères utilisés par une base de données.
NLSRTL National Language Support RunTime Library.
NMP NaMed Pipe. Canal nommé.
OC4J Oracle Application Server Containers for J2EE.
OMF Oracle Managed Files. Fichiers gérés.
Optimiseur ATO Automatic Tuning Optimizer. Fonctionnalité qui effectue diverses
analyses relatives aux performances des instructions SQL dans la
base de données.
Oracle Locale Builder Fonctionnalité qui fournit une interface graphique par
l'intermédiaire de laquelle vous pouvez facilement afficher,
modifier et définir des données propres à la locale.
Oracle Managed Files Fonctionnalité de la base de données Oracle qui gère la création,
l'appellation et la suppression de fichiers de base de données
Oracle dans des zones dédiées du disque.
Oracle Net Interface qui permet les connexions réseau entre la base de
données Oracle Database 10g et les applications client ou les
applications du niveau intermédiaire (middle tier).
ORACLE_BASE Variable d'environnement utilisée pour pointer vers la base de la
structure OFA.
ORACLE_HOME Variable d'environnement utilisée pour identifier un répertoire
contenant le logiciel Oracle.
ORACLE_SID Variable d'environnement utilisée pour indiquer le nom par défaut
d'une instance de base de données.
OUI Oracle Universal Installer.
Outil d'analyse de jeu de Utilitaire qui évalue la faisabilité de la migration d'une base de
caractères de la base de données Oracle vers un nouveau jeu de caractères.
données
Outil d'analyse de langue Language and Character Set File Scanner. Utilitaire basé sur les
et de jeu de caractères statistiques, permettant de déterminer la langue et le jeu de
d'un fichier caractères d'un fichier texte.
Package Ensemble de définitions de procédures et de fonctions liées entre
elles sur un plan logique. Ces procédures et fonctions sont
implémentées dans le corps du package.
PGA Program Global Area. Mémoire PGA.

Oracle Database 10g : Administration Workshop I E-6


Unauthorized reproduction or distribution prohibitedฺ Copyright© 2009, Oracle and/or its affiliatesฺ
Terme Définition
PGA Advisor Fonctionnalité d'Enterprise Manager qui fournit des statistiques
détaillées pour les zones de travail, ainsi que des
recommandations sur l'utilisation optimale de la mémoire PGA
(Program Global Area), en fonction des caractéristiques de la
charge globale.
Planificateur Nouvelle fonctionnalité de la base de données permettant aux
administrateurs et aux développeurs d'applications de contrôler
quand et où les différentes tâches vont être exécutées dans
l'environnement de base de données.
Pool de sessions actives Nombre de sessions actives autorisées pour un groupe de
consommateurs de ressources ou un sous-plan.
Prise en charge de la Fonctionnalité qui garantit l'adaptation automatique des utilitaires
globalisation et des messages d'erreur, de l'ordre de tri, de l'alphabet, du
calendrier, des dates, des heures, des devises, des valeurs
numériques en fonction de la langue native des utilisateurs.
Privilège Droit d'exécuter un type particulier d'instruction SQL. Il existe
deux formes élémentaires de privilège, les privilèges objet et les
privilèges système.
Processus d'écoute Passerelle vers l'instance Oracle pour toutes les connexions
(listener) utilisateur non locales.
Recovery Manager Utilitaire Oracle employé pour la sauvegarde et la restauration des
fichiers de base de données.
Redo Log File Sizing Fonctionnalité d'Enterprise Manager qui fournit des conseils
Advisor relatifs au dimensionnement des fichiers de journalisation.
Référentiel AWR Automatic Workload Repository. Infrastructure qui collecte, traite
et gère les statistiques relatives aux performances pour la
détection des problèmes et le réglage automatique (self-tuning).
Référentiel de charge Voir Référentiel AWR.
globale (Workload
Repository)
Référentiel RMAN Structure de stockage contenant les métadonnées sur les
opérations de sauvegarde et de récupération d'une base de
données.
Reprise après un Moyen de suspendre, puis de reprendre ultérieurement l'exécution
problème d'allocation d'opérations volumineuses sur la base de données en cas de
d'espace problème d'allocation d'espace.
Resource Manager Fonctionnalité de la base Oracle qui offre au serveur de base de
données davantage de contrôle sur les décisions de gestion des
ressources, ce qui permet d'éviter les problèmes résultant d'une
gestion inefficace du système d'exploitation.
Restauration physique de Méthode de récupération qui réduit d'un fichier de données à un
bloc bloc la plus petite unité de restauration physique pouvant être
récupérée.
RMAN Recovery Manager.
SCN System Change Number. Numéro SCN.

Oracle Database 10g : Administration Workshop I E-7


Unauthorized reproduction or distribution prohibitedฺ Copyright© 2009, Oracle and/or its affiliatesฺ
Terme Définition
Segment Advisor Fonction de conseil qui surveille les problèmes d'espace des
objets et analyse les tendances de croissance.
Segment Resource La fonctionnalité d'estimation des ressources des nouveaux
Estimator segments vous permet d'évaluer la quantité de ressources que la
création d'un nouveau segment nécessiterait.
Serveur partagé Oracle Configuration du serveur de base de données qui permet à de
nombreux processus utilisateur de partager un petit nombre de
processus serveur, en limitant le nombre de ces processus et en
optimisant l'utilisation des ressources système disponibles.
Sessions serveur Processus (UNIX) ou threads (Windows NT/2000) serveur
appelés par un utilitaire client pour la connexion à la base de
données cible.
Seuil Valeur limite à laquelle sont comparées les mesures de
performances.
SGA Advisor Fonction de conseil qui fournit des recommandations relatives à la
configuration de la mémoire SGA.
Shrink Advisor Voir Segment Advisor.
SID System IDentifier. Le SID identifie une instance de manière
unique sur un serveur donné. Il s'agit par défaut du nom de la base
de données.
SQL Langage SQL (Structured Query Language).
SQL Tuning Advisor Outil qui fournit des conseils de réglage (tuning) des instructions
SQL.
Statistiques destinées à Statistiques qui décrivent la base de données et les objets qu'elle
l'optimiseur contient, utilisées par l'optimiseur d'interrogation pour choisir le
meilleur plan d'exécution pour chaque instruction SQL.
Statistiques système Statistiques qui décrivent à l'optimiseur d'instructions les
caractéristiques matérielles du système, telles que les
performances et l'utilisation des E/S et de la CPU.
Statspack Ensemble de scripts SQL, PL/SQL et SQL*Plus permettant la
collecte, l'automatisation, le stockage et l'affichage de données de
performances. Cette fonctionnalité a été remplacée par le
référentiel AWR (Automatic Workload Repository).
Suivi des modifications Fonctionnalité qui utilise le processus en arrière-plan CTWR
des blocs (Change Tracking Writer) afin d'enregistrer dans un fichier
distinct l'emplacement physique de toutes les modifications de la
base de données.
Support NLS Paramètres et fichiers qui déterminent le comportement du client
et du serveur de base de données propre à la locale.
Surveillance proactive Fonctionnalité d'Oracle Database 10g qui gère l'utilisation de
des tablespaces l'espace disque par les tablespaces.
Tables organisées en Structure de base de données qui présente l'apparence d'une table,
index mais dont les données sont stockées dans une structure B*Tree.
Tablespace Groupement logique de fichiers de données.

Oracle Database 10g : Administration Workshop I E-8


Unauthorized reproduction or distribution prohibitedฺ Copyright© 2009, Oracle and/or its affiliatesฺ
Terme Définition
Tampon de journalisationRégion de mémoire dans laquelle les informations de
(redo log buffer) journalisation sont stockées avant leur écriture sur le disque.
Tri linguistique Fonctionnalité qui génère une séquence de tri correspondant à la
séquence alphabétique des caractères et non à leur valeur
numérique dans le système d'encodage des caractères.
Undo Advisor Fonctionnalité d'Enterprise Manager qui suggère des valeurs pour
les paramètres, ainsi que la quantité d'espace supplémentaire
nécessaire pour prendre en charge le flashback pour une période
donnée.
UTC Universal Time Coordinates. Temps universel utilisé dans la trace
d'audit uniforme.
Variantes locales Définition de territoire dépendante de la langue.
VPD Virtual Private Database.
Zone de mémoire Java Région de la mémoire SGA qui est utilisée pour les données et le
code Java propres aux sessions dans la JVM (Java Virtual
Machine).
Zone de mémoire Zone de mémoire facultative utilisée pour la mise en mémoire
LARGE POOL tampon des demandes d'E/S volumineuses.
Zone de mémoire Zone de mémoire dans laquelle sont stockées diverses structures
partagée pouvant être partagées par les utilisateurs.
Zone de mémoire SQL Zone de la mémoire PGA contenant des données telles que des
privée informations d'attachement et des structures mémoire d'exécution.
Zone de mémoire Streams Zone facultative de la mémoire SGA, utilisée par Oracle Streams.
Zone de récupération Emplacement de stockage unifié pour l'ensemble des fichiers et
rapide activités liés à la récupération dans une base de données Oracle.
Zone de travail Allocation privée dans la mémoire PGA, utilisée pour les tris, les
jointures de hachage (hash joins) et les autres opérations utilisant
des quantités importantes de mémoire.

Oracle Database 10g : Administration Workshop I E-9


Unauthorized reproduction or distribution prohibitedฺ Copyright© 2009, Oracle and/or its affiliatesฺ
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2009, Oracle and/or its affiliatesฺ
Etapes suivantes :
Compléter votre formation

Copyright © 2006, Oracle. Tous droits réservés.

Unauthorized reproduction or distribution prohibitedฺ Copyright© 2009, Oracle and/or its affiliatesฺ
A ce stade de votre formation,
quelle peut être l'étape suivante ?

"Pour rester compétitif dans le secteur des


technologies, vous devez sans cesse apprendre.
Soyez en permanence sur le qui-vive, à l'affût de
méthodologies mieux adaptées et de nouvelles
technologies. Notre secteur ne réserve aucune
gratification pour les personnes qui choisissent
de faire du sur-place".
–John Hall, Vice-président directeur, Oracle University

Voici quelques-unes des ressources qui vous


permettront de compléter votre formation.

Copyright © 2006, Oracle. Tous droits réservés.

Unauthorized reproduction or distribution prohibitedฺ Copyright© 2009, Oracle and/or its affiliatesฺ
Oracle Database 10g : Administration Workshop II F-2
Ressources de formation continue

Ressources qui vous permettront de compléter


vos connaissances relatives à l'administration
d'Oracle Database 10g :
• Site Web Oracle University
• Oracle University Knowledge Center
• Site OTN (Oracle Technology Network) :
– Oracle by Example
– Oracle Magazine
• Support technique : Oracle MetaLink

Copyright © 2006, Oracle. Tous droits réservés.

Unauthorized reproduction or distribution prohibitedฺ Copyright© 2009, Oracle and/or its affiliatesฺ
Oracle Database 10g : Administration Workshop II F-3
Oracle University

Apprenez Oracle chez Oracle ! Formez-vous auprès


de ceux qui connaissent le mieux la technologie Oracle,
Oracle University.
• Des services de formation dans le monde entier
• Une satisfaction des stagiaires régulièrement élevée
• Choisissez la méthode de formation la mieux
adaptée à vos besoins :
– Cours en salle avec formateur
– Formation en ligne via le Web
– Auto-formation par CD-ROM

http://www.oracle.com/education

Copyright © 2006, Oracle. Tous droits réservés.

Oracle University
Oracle University est le plus grand système de formation au monde destiné aux entreprises. Il
dispose de centres de formation situés aux quatre coins de la planète et obtient l'un des taux de
satisfaction clientèle les plus élevées du marché (supérieure à 95 %). Les formateurs Oracle
University sont des experts dans le domaine des technologies Oracle qui vous aident à tirer le
meilleur parti de vos logiciels.

Unauthorized reproduction or distribution prohibitedฺ Copyright© 2009, Oracle and/or its affiliatesฺ
Oracle Database 10g : Administration Workshop II F-4
Compléter votre formation

• Cours recommandés :
– Oracle Database 10g : Administration Workshop II
– Oracle Database 10g : Les fondamentaux du langage
SQL (I et II)
– Oracle Database 10g : Les fondamentaux du langage
PL/SQL
• Cours spécialisés dans les technologies de grid
(grille informatique) :
– Oracle Enterprise Manager 10g Grid Control
– Oracle Database 10g : Real Application Clusters
– Oracle Database 10g : Implémenter Oracle Streams
– Oracle Database 10g : Administration de Data Guard
• Autres cours spécialisés

Copyright © 2006, Oracle. Tous droits réservés.

Compléter votre formation


Le cours Oracle Database 10g : Administration Workshop II vous permet de poursuivre votre
formation en tant qu'administrateur de base de données. Vous aborderez des stratégies
avancées de récupération de base de données, la surveillance et le réglage (tuning) des
performances, ainsi que les concepts de données distribuées.
Ce cours traite également des langages SQL et PL/SQL. Ces sujets étant très vastes, seule une
présentation générale vous est fournie. Vous pouvez bénéficier d'autres formations sur ces
différents points afin de développer encore vos compétences d'administrateur.
Oracle vous recommande de suivre le cours Oracle Database 10g : Administration Workshop
II, avant de passer aux cours spécialisés.
Consultez le site Web d'Oracle University pour obtenir la liste à jour de tous les cours.
D'autres cours spécialisés sont disponibles, notamment :
• Oracle Database 10g : Sécurité
• Oracle Database 10g : Implémenter et administrer un Data Warehouse

Unauthorized reproduction or distribution prohibitedฺ Copyright© 2009, Oracle and/or its affiliatesฺ
Oracle Database 10g : Administration Workshop II F-5
Oracle University Knowledge Center

Complétez vos connaissances à l'aide d'Oracle University


Knowledge Center, qui vous permet d'accéder à des
milliers d'heures de formation dans des domaines très
divers allant des instructions SQL de base aux sujets les
plus pointus relatifs aux bases de données. Ce qui peut
vous intéresser aujourd'hui :
• Oracle Database 10g : Manage Jobs with the
Scheduler
• Oracle Database 10g : Maximize Performance —
General Enhancements
• Préparation aux certifications
OCA et OCP

http://ilearning.oracle.com

Copyright © 2006, Oracle. Tous droits réservés.

Oracle University Knowledge Center


Oracle University Knowledge Center met à votre disposition des milliers d'heures de contenu
sur une grande variété de sujets. Vous pouvez accéder à ces informations via le Web, 7 jours
sur 7, 24 heures sur 24. Il s'agit là d'un excellent moyen pour vous rafraîchir la mémoire sur
les outils avec lesquels vous n'avez pas travaillé depuis longtemps ou pour découvrir de
nouveaux concepts.
De nouveaux contenus sont développés en permanence pour Oracle University Knowledge
Center. Accédez régulièrement à ce site pour vous tenir au courant des ajouts.

Unauthorized reproduction or distribution prohibitedฺ Copyright© 2009, Oracle and/or its affiliatesฺ
Oracle Database 10g : Administration Workshop II F-6
Oracle Technology Network
Le site Oracle Technology Network (OTN) est une
ressource gratuite qui fournit des informations sur
les produits logiciels Oracle essentiels, notamment
Oracle database, Application Server, Collaboration Suite
et les outils de développement. Il offre les fonctionnalités
suivantes :
• Informations techniques
• Forums de discussion
• Téléchargement de logiciels Oracle
• Documentation Oracle
• Modules Oracle by Example
• Exemples de code
et bien d'autres encore ! http://www.oracle.com/technology

Copyright © 2006, Oracle. Tous droits réservés.

Oracle Technology Network


Le site Oracle Technology Network (OTN) fournit les toutes dernières informations relatives
aux technologies et aux produits Oracle. En outre, il propose des forums de discussion, des
livres blancs, des notes relatives à la sécurité et d'autres informations qui sont essentielles
pour les professionnels Oracle.
Vous y trouvez des conseils, des astuces et des techniques pour tirer le meilleur parti de vos
logiciels Oracle. Vous pouvez aussi effectuer des téléchargements de ces logiciels. Notez que
les logiciels à télécharger sont gratuits. Ils sont fournis avec une licence de développement qui
restreint l'utilisation de la version complète au développement et la création de prototypes
d'applications.

Unauthorized reproduction or distribution prohibitedฺ Copyright© 2009, Oracle and/or its affiliatesฺ
Oracle Database 10g : Administration Workshop II F-7
Oracle Technology Training

Copyright © 2006, Oracle. Tous droits réservés.

Unauthorized reproduction or distribution prohibitedฺ Copyright© 2009, Oracle and/or its affiliatesฺ
Oracle Database 10g : Administration Workshop II F-8
Oracle by Example

• Qu'est-ce qu'un module Oracle by Example (OBE) ?


Un ensemble de procédures pratiques détaillées étape
par étape
• Où trouver ces modules ?
http://www.oracle.com//technology/obe
• Que trouve-t-on
à cette adresse ?
Plus de 100 OBE
relatifs aux bases
de données

Copyright © 2006, Oracle. Tous droits réservés.

Oracle by Example
Les modules Oracle by Example (OBE) fournissent des procédures pratiques détaillées étape
par étape concernant l'utilisation des nouvelles fonctionnalités des produits Oracle. Ces
modules permettent d'apprendre plus rapidement les possibilités offertes par un nouveau
produit, et de mieux comprendre comment implémenter une fonction spécifique au sein d'un
environnement particulier. A l'heure actuelle, des modules OBE sont disponibles pour Oracle
Database, Oracle Application Server et Oracle Collaboration Suite. Vous pouvez accéder à
ces modules via le site http://www.oracle.com/technology/obe.

Unauthorized reproduction or distribution prohibitedฺ Copyright© 2009, Oracle and/or its affiliatesฺ
Oracle Database 10g : Administration Workshop II F-9
Oracle Magazine

• Abonnement gratuit
• Archives
http://www.oracle.com/technology/oramag/index.html

Copyright © 2006, Oracle. Tous droits réservés.

Oracle Magazine
L'une des multiples ressources mises à votre disposition sur le site OTN (Oracle Technology
Network) est Oracle Magazine. Vous pouvez aussi recevoir ce magazine gratuit par courrier.

Unauthorized reproduction or distribution prohibitedฺ Copyright© 2009, Oracle and/or its affiliatesฺ
Oracle Database 10g : Administration Workshop II F-10
Communauté Oracle Applications
Le site Oracle Technology Network (OTN) est une
ressource précieuse pour les utilisateurs d'Oracle
Applications et pour les personnes chargées
d'implémenter ces produits. Il offre différentes
fonctionnalités :
• Forums de discussion
• Groupes d'utilisateurs
• Discussion en ligne
• Documentation
• Formations
• Mises à niveaux
et bien d'autres encore !
http://www.oracle.com/technology/community/apps/index.html

Copyright © 2006, Oracle. Tous droits réservés.

Unauthorized reproduction or distribution prohibitedฺ Copyright© 2009, Oracle and/or its affiliatesฺ
Oracle Database 10g : Administration Workshop II F-11
Support technique : Oracle MetaLink

L'accès à Oracle MetaLink est compris dans


l'abonnement au support technique. En plus
d'informations techniques à jour, MetaLink offre
diverses fonctionnalités :
• Service Requests (SR)
• Matrices de certification
• Forums techniques suivis par des experts Oracle
• Patches logiciels
• Rapports de bug

http://metalink.oracle.com

Copyright © 2006, Oracle. Tous droits réservés.

Oracle MetaLink
Oracle MetaLink est votre passerelle vers les ressources de support technique Oracle. Vous y
trouvez les réponses aux problèmes les plus courants que rencontrent les administrateurs et les
développeurs Oracle, ainsi que les ressources permettant de résoudre un grand nombre de ces
problèmes.
De même que le site Oracle Technology Network, MetaLink fournit les toutes dernières
informations destinées aux professionnels Oracle.

Unauthorized reproduction or distribution prohibitedฺ Copyright© 2009, Oracle and/or its affiliatesฺ
Oracle Database 10g : Administration Workshop II F-12
Merci !

Nous espérons que cette formation Oracle University


vous a donné entière satisfaction. Si vous souhaitez
nous transmettre des commentaires ou des suggestions
sur la manière d'améliorer nos services pour répondre
encore mieux à vos besoins, n'hésitez pas à nous les
communiquer grâce aux moyens suivants :
• Evaluations de fin de formation
• Oracle University Office of Customer Satisfaction
• Oracle Education Services
Nous espérons vous revoir à l'occasion d'un prochain
cours.

Copyright © 2006, Oracle. Tous droits réservés.

Merci !
La mission d'Oracle University est de faciliter l'utilisation des technologies Oracle. Notre
objectif est de travailler en partenariat avec vous, afin de vous proposer des informations
pertinentes adaptées à vos besoins, au moment où vous en avez besoin.
Merci de prendre quelques minutes pour remplir l'évaluation de fin de cours et de nous
indiquer comment nous pouvons améliorer nos prestations. Vous pouvez par ailleurs nous
écrire à l'adresse suivante :
customersat_us@oracle.com
Si vous avez des questions quant à la poursuite de votre formation Oracle, si vous avez besoin
d'aide pour rechercher un cours ou si vous voulez organiser une formation sur site au sein de
votre société, contactez Oracle Education Services. Aux Etats-Unis, appelez le 800 529 0165.
Pour obtenir les numéros de téléphone hors des Etats-Unis, accédez au site Web suivant :
http://www.oracle.com/education/index.html?contact.html
Encore merci et à très bientôt à l'occasion d'un autre cours !

Unauthorized reproduction or distribution prohibitedฺ Copyright© 2009, Oracle and/or its affiliatesฺ
Oracle Database 10g : Administration Workshop II F-13
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2009, Oracle and/or its affiliatesฺ
____________

Index
____________

Unauthorized reproduction or distribution prohibitedฺ Copyright© 2009, Oracle and/or its affiliatesฺ
A
ADDM (Automatic Database Diagnostic Monitor) 8-29, 12-2, 12-5, 12-10, 12-14, 12-15,
12-16, 12-17, 12-18, 12-19, 12-22, 12-27, 12-28, 12-30, 12-32, 13-11
Administrateur de base de données (DBA) 2-2, 2-3, 2-20, 3-3, 4-5, 4-10, 4-11, 5-22,
5-26, 6-5, 6-9, 6-11, 6-15, 6-20, 7-45, 7-46, 7-47, 8-8, 8-12, 8-27, 9-9, 9-11, 10-2, 10-3,
10-5, 10-8, 10-10, 10-11, 10-12, 10-14,10-19, 10-20, 10-26, 10-28, 10-30,
11-21, 11-31, 12-5, 12-6,12-12, 12-29, 13-3, 14-3, 14-5, 14-6, 14-8, 14-14,
14-15,15-3, 15-5, 17-12, 17-17, 18-37
Alerte 1-16, 4-2, 4-3, 4-5, 4-8, 4-15, 4-19, 4-21, 4-24, 4-30, 4-31, 4-32, 4-35, 4-36,
5-18, 10-22, 10-29, 12-2, 12-22, 12-25, 12-27, 12-28, 12-29, 12-31, 14-23,
16-3, 16-6, 16-8, 17-16
Archive 1-16, 4-30, 5-27, 14-2, 14-3, 14-25, 14-26, 14-25, 14-28, 14-29, 14-30, 15-17
ARCn 1-14, 1-24, 14-14
ASM (Automatic Storage Management) 1-6, 1-7, 5-2, 5-11, 5-26, 5-27, 5-28, 5-29
ASMM 13-17, 13-18, 13-19
Assistant DBCA (Database Configuration Assistant) 2-4, 2-15, 2-19, 3-2, 3-5, 3-6, 3-7,
3-8, 3-9, 3-10,3-11, 3-12, 3-13, 3-14, 3-15, 3-16, 3-17, 12-30, 14-22
Assistant de configuration 2-4, 2-15, 2-19, 3-2, 3-5, 11-9, 14-22
ASSM 5-12, 5-13, 12-17, 13-2
ATO 13-9
Audit 2-10, 4-16, 6-3, 6-13, 8-19, 10-2, 10-3, 10-4, 10-5, 10-11, 10-12, 10-13, 10-14,
10-16, 10-17, 10-18, 10-19, 10-19, 10-20, 10-22, 10-22, 10-25, 10-26, 10-27,
10-30, 10-31, 11-7, 17-23
Audit détaillé (FGA) 10-3, 10-8, 10-11, 10-14, 10-19, 10-20, 10-22, 10-22, 10-24,
10-25, 10-26, 10-27, 10-28, 17-19
Automatic Shared Memory Management (ASMM) 1-11, 13-2, 13-17, 13-18, 13-19,
13-20, 13-21, 13-27
Automatic Workload Repository 6-5, 12-2, 12-3, 12-4, 12-13, 12-31
B
Base de données cible 4-6, 18-17, 18-34
Base de données Flashback 15-19, 17-2, 17-4, 17-6, 17-7, 17-8, 17-9, 17-10, 17-29
bibliothèque de gestion des médias (MML) 15-8, 15-9
Bloc 1-15, 1-20, 1-21, 1-21, 1-24, 3-10, 4-16, 4-17, 4-30, 4-33, 5-3, 5-4, 5-5, 5-7, 5-8,
5-12, 5-13, 5-24, 5-28, 7-10, 7-29, 7-31, 8-13, 8-22, 9-7, 10-20, 15-6, 15-7, 15-10,
17-7, 18-3, 18-20, 18-30
Bloc de données 1-15, 1-20, 1-21, 5-3, 5-5, 5-12, 15-6, 15-7

Oracle Database 10g : Administration Workshop I Index-2


Unauthorized reproduction or distribution prohibitedฺ Copyright© 2009, Oracle and/or its affiliatesฺ
C
Cache "library" 13-13, 13-14
Cache de tampons (buffer cache) 1-11, 1-11, 1-14, 1-15, 1-24, 4-17, 4-26, 6-13, 11-7,
12-19, 13-17, 13-21, 13-23, 14-11
CKPT 1-14, 1-24, 14-11
Cliché (snapshot) 1-15, 9-9, 9-10, 9-11, 12-3, 12-5, 12-10, 12-12, 12-13, 12-14, 12-15,
12-23, 12-29, 13-11, 13-12
Cluster 1-7, 1-21, 2-18, 5-26, 5-27
Contrainte 1-23, 7-13, 7-14, 7-15, 7-16, 7-17, 7-18, 7-19, 7-20, 7-23, 7-49, 18-31
Copie d'image 15-7, 15-9, 15-12
Corbeille 6-30, 7-24, 14-9, 17-4, 17-17, 17-18, 17-19
Corruption de bloc 4-30
CRS (Cluster Ready Services) 2-18
D
Database Control 2-6, 2-18, 4-3, 4-4, 4-5, 4-6, 4-20, 4-24, 6-6, 6-20, 6-22, 8-12, 10-16,
12-11, 12-12, 12-20, 12-22, 12-23, 12-25, 12-26, 12-27, 12-29, 16-5, 16-8, 17-18,
18-3,18-14, 18-18, 18-24
DBWn (Database Writer) 1-14, 1-15, 1-24, 14-11, 14-12
Déclencheur (trigger) 8-13, 8-19, 8-20, 10-17, 10-19, 10-19
Données d'annulation 5-21, 7-25, 9-1, 9-2, 9-4, 9-5, 9-6, 9-7, 9-8, 9-9, 9-10, 9-17,
12-19, 12-20, 16-11, 17-4, 17-28
E
emctl 2-5, 4-4
Enterprise Manager 1-6, 1-7, 1-11, 1-13, 1-19, 2-4, 2-5, 2-18, 3-7, 3-12, 4-2, 4-3, 4-4,
4-5, 4-6, 4-8, 4-18, 4-20, 4-24, 4-29, 4-30, 4-33, 4-35, 4-36, 5-9, 5-14, 5-25, 6-6,
6-19, 6-20, 6-22, 6-25, 6-27, 7-3, 7-11, 7-12, 7-15, 7-21, 7-22, 7-24, 7-38, 7-42,
8-29, 8-31, 9-15, 10-28, 11-2, 11-4, 11-9, 11-13, 11-32, 12-6, 12-7, 12-10, 12-11,
12-12, 12-15, 12-22, 12-23, 12-25, 12-26, 12-27, 13-2, 13-4, 13-10, 13-25, 13-26,
13-27, 13-28, 14-18, 15-8, 15-9, 15-16, 15-18, 17-10, 17-12, 17-13, 17-14, 17-18,
17-24, 17-27, 18-5, 18-9, 18-24, 18-32
Enterprise Manager Database Control 2-18, 4-3, 4-20, 4-24, 6-6, 6-20, 6-22, 12-11,
12-12, 12-22, 12-23, 18-24
Evénement Wait 13-5, 13-22
Exécution en parallèle 18-35
EXTPROC 11-3, 11-16

Oracle Database 10g : Administration Workshop I Index-3


Unauthorized reproduction or distribution prohibitedฺ Copyright© 2009, Oracle and/or its affiliatesฺ
F
Fichier de contrôle 3-15, 4-16, 4-23, 4-34, 5-21, 13-4, 14-11, 14-17, 14-20, 14-22, 15-5,
15-6, 15-10, 15-16, 15-17, 16-2, 16-3, 16-4, 16-6, 16-7, 16-12, 16-13, 17-9, 18-7,
18-7, 18-10, 18-10, 18-12
Fichier de données 1-15, 1-16, 1-18, 1-20, 1-21, 5-6, 5-7, 5-11, 5-17, 5-19, 5-22, 5-24,
5-25, 5-27, 5-28, 6-13, 14-11, 14-16, 14-17, 14-18, 15-6, 16-2, 16-4, 16-6, 16-9,
16-10, 16-11, 16-12, 16-13, 17-7, 17-9, 18-7, 18-7, 18-10, 18-16
Flashback Drop17-4, 17-5, 17-17, 17-19
Flashback Table 7-24, 17-2, 17-5, 17-11, 17-12, 17-14, 17-15, 17-16, 17-29
Flashback Transaction Query 17-2, 17-11, 17-12, 17-20, 17-26, 17-28, 17-29
Flashback Versions Query 17-2, 17-11, 17-12, 17-20, 17-23, 17-24, 17-27,17-29, 17-30
Fonction de conseil SAA (SQL Access Advisor) 12-19, 13-2, 13-15, 13-16, 13-27
Fonction de conseil STA (SQL Tuning Advisor) 12-17, 12-19, 13-2, 13-9, 13-10, 13-11,
13-12, 13-13, 13-27, 13-28
G
Globalisation 2-12, 2-13
I
Index 1-21, 5-5, 5-15, 5-27, 7-9, 7-13, 7-14, 7-18, 7-23, 7-26, 7-27, 7-28, 7-29, 7-30,
7-31, 7-32, 7-33, 7-34, 7-47, 8-23, 10-4, 12-5, 12-17, 13-9, 13-16, 13-26, 17-18,
17-19, 18-19, 18-31
Informations d'annulation 1-3, 1-21, 4-16, 4-17, 4-28, 5-12, 5-13, 5-15, 5-21, 6-29, 7-25,
8-22, 9-1, 9-2, 9-4, 9-5, 9-6, 9-7, 9-8, 9-9, 9-10, 9-11, 9-12, 9-13, 9-14, 9-15, 9-16,
9-17, 9-18, 12-8, 12-19, 12-20, 14-8, 14-9, 14-15, 14-16, 16-4, 16-6, 16-10, 16-11,
17-4, 17-6, 17-8, 17-12, 17-16, 17-17, 17-26, 17-28, 18-30
Informations de journalisation 1-11, 1-14, 1-16, 1-24, 2-9, 2-10, 3-6, 3-15, 4-22, 4-23,
4-26, 4-28, 4-29, 5-7, 5-13, 6-13, 8-30, 9-2, 9-8, 9-17, 13-23, 14-2, 14-9, 14-11,
14-12, 14-14, 14-15, 14-16, 14-17, 14-18, 14-19, 14-20, 14-23, 14-24, 14-25,
14-28, 14-29, 14-30, 15-5, 15-16, 16-2, 16-3, 16-4, 16-5, 16-6, 16-8, 16-12, 16-13,
17-7, 17-16, 18-12
Instance 1-3, 1-7, 1-8, 1-10, 1-11, 1-11, 1-13, 1-14, 1-15, 1-16, 1-21, 2-5, 2-6, 2-10,
2-11, 2-15, 2-18, 3-4, 3-7, 4-1, 4-3, 4-7, 4-15, 4-17, 4-20, 4-21, 4-22, 4-23, 4-24,
4-25, 4-26, 4-27, 4-28, 4-29, 4-32, 4-34, 4-36, 6-2, 6-5, 6-13, 6-23, 6-30, 7-37,
9-4, 9-6, 9-7, 9-9, 9-11, 10-14, 10-19, 11-3, 11-4, 11-10, 11-16, 11-17, 11-19,
11-31, 12-5, 12-11, 12-15, 12-19, 12-25,12-29, 13-6, 13-18, 13-23, 13-24, 14-2,
14-4, 14-6, 14-10,14-11,14-14, 14-15, 14-16, 14-17, 14-18, 14-20, 14-22, 14-25,
14-28, 14-29, 15-19, 16-3, 16-4, 16-5, 16-6, 16-7, 16-8, 16-9, 16-11, 18-29
IPC (Internal Process Communication) 11-16
iSQL*Plus 2-4, 2-5, 2-15, 4-2, 4-8, 4-9, 4-10, 4-11, 4-35, 4-36, 8-9
isqlplusctl 2-5, 4-9
Oracle Database 10g : Administration Workshop I Index-4
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2009, Oracle and/or its affiliatesฺ
J
JDBC (Java Database Connectivity) 1-7, 11-3
Jeu de sauvegarde 15-7, 15-9
L
LDD (Langage de définition de données) 5-19, 7-20, 7-23, 7-25, 8-20, 10-17, 17-16,
17-25, 17-28, 18-10,18-27, 18-26
LMD (Langage de manipulation de données) 5-16, 5-19, 6-16, 7-14, 7-16, 7-17, 7-19,
7-23, 7-29, 7-41, 8-3, 8-9, 8-19, 8-20, 8-25, 9-2, 9-3, 9-6, 9-17, 10-24, 13-26,
17-16, 18-12, 18-12, 18-36
M
Mémoire PGA (Program Global Area) 1-11, 1-11, 1-24, 4-17, 11-7, 11-28, 11-29,
12-19, 13-17, 13-21
Mémoire SGA 1-10, 1-11, 1-11, 1-14, 1-24, 4-17, 4-21, 4-26, 6-24, 11-7, 11-28, 11-29,
12-10, 13-17, 13-18, 13-20, 13-21, 14-11
Memory Advisor 12-19, 13-2, 13-17, 13-20, 13-21, 13-27
Mesure 4-31, 12-4, 12-27, 12-29
MML (Media Management Library)15-8
MMON 12-10, 12-11
MTTR (Mean-Time-To-Recover) 12-19, 14-3, 14-17, 14-18
N
netca 2-19
NLS (National Language Support) 2-11, 2-12, 2-13
NLS_LANG 2-11, 2-12
NMP (Named Pipes)11-16
Numéro SCN (System Change Number) 10-14, 14-16, 14-17, 14-20, 15-6, 17-8,
17-14, 17-21, 17-27
O
OC4J 2-15, 2-18, 4-10
OMF (Oracle Managed Files) 3-8, 5-7
Optimiseur ATO (Automatic Tuning Optimizer) 13-9
Oracle Managed Files (OMF) 3-8, 5-7
Oracle Net 2-4, 2-12, 2-15, 2-19, 11-2, 11-3, 11-4, 11-5, 11-6, 11-9, 11-14, 11-15,
11-16, 11-18, 11-19, 11-20, 11-21, 11-23, 11-24, 11-26, 11-32, 12-15, 14-26

Oracle Database 10g : Administration Workshop I Index-5


Unauthorized reproduction or distribution prohibitedฺ Copyright© 2009, Oracle and/or its affiliatesฺ
O (suite)
Oracle Shared Server 11-27, 11-31
Oracle Universal Installer 2-2, 2-4, 2-13, 2-14, 2-15, 2-18, 2-19, 2-20, 4-9
ORACLE_BASE 2-11, 2-19, 18-21
ORACLE_HOME 2-7, 2-11, 4-4, 4-9, 4-10, 4-21, 6-28, 10-26, 11-4, 11-17, 11-20,
11-26, 18-21
ORACLE_SID 2-11, 3-14
P
Package 2-13, 6-11, 8-13, 8-16, 8-17, 8-19, 10-10, 10-20, 10-25, 12-6, 12-10, 12-12,
12-21, 13-25, 18-3, 18-14, 18-19, 18-32
PGA Advisor 13-21
Planificateur 2-5, 8-18, 12-7, 12-30, 15-15
PMON 1-14, 1-24, 14-6
Point de reprise (checkpoint) 1-14, 4-25, 5-17, 12-15, 14-11, 14-17, 14-18
Privilège 5-14, 5-21, 6-2, 6-3, 6-5, 6-7, 6-11, 6-12, 6-13, 6-15, 6-16, 6-17, 6-18, 6-19,
6-23, 6-25, 6-29, 7-45, 7-46, 10-2, 10-3, 10-6, 10-8, 10-9, 10-10, 10-11, 10-17,
10-19, 10-20, 10-26, 10-28, 10-30, 12-21, 17-12
Procédure 5-13, 6-11, 6-21, 7-8, 8-13, 8-16, 10-20, 10-22, 10-22, 12-12, 12-21, 13-25
Processus d'écoute (listener) 2-5, 2-15, 4-3, 4-6, 4-7, 4-9, 11-2, 11-3, 11-4,11-5, 11-6,
11-7, 11-9, 11-10, 11-11, 11-11, 11-13, 11-14, 11-15, 11-16, 11-17, 11-19, 11-23,
11-24, 11-26, 11-28, 11-32, 11-33
Profil 6-3, 6-4, 6-7, 6-11, 6-17, 6-23, 6-24, 6-25, 6-26, 6-27, 6-28, 6-29, 6-32, 11-29,
13-9, 13-10
Program Global Area (PGA) 1-11, 1-11, 1-24, 4-17, 11-7, 12-19, 13-17, 13-21
R
Recovery Manager 2-4, 2-5, 3-15, 5-27, 11-31, 15-3, 15-4, 15-8
Référentiel AWR (Automatic Workload Repository) 6-5, 12-2, 12-3, 12-4, 12-5, 12-9,
12-10, 12-11, 12-13, 12-14, 12-15, 12-18, 12-22, 12-30
Référentiel de charge globale (workload repository) 6-5, 12-2, 12-3, 12-4, 12-10, 12-13,
12-18, 12-20, 12-31
Resource Manager 6-4, 6-24, 12-30
RMAN 2-5, 3-15, 5-7, 5-27, 15-3, 15-4, 15-8, 15-9, 15-10, 15-12, 15-15, 15-18,
16-10, 16-11
Rôle 2-2, 2-20, 4-10, 4-11, 6-2, 6-3, 6-5, 6-7, 6-11, 6-17, 6-18, 6-19, 6-20, 6-21,
6-22, 6-23, 6-25, 6-29, 8-18, 10-10

Oracle Database 10g : Administration Workshop I Index-6


Unauthorized reproduction or distribution prohibitedฺ Copyright© 2009, Oracle and/or its affiliatesฺ
S
Schéma 1-3, 1-21, 1-23, 1-24, 2-3, 3-17, 5-6, 5-13, 5-14, 6-6, 6-12, 6-13, 6-16, 6-18,
6-20, 6-22, 6-24, 6-27, 6-28, 6-32, 7-1, 7-2, 7-3, 7-4, 7-5, 7-11, 7-13, 7-21, 7-24,
7-25, 7-26, 7-34, 7-35, 7-36, 7-37, 7-38, 7-41, 7-44, 7-45, 7-47, 7-48, 7-49, 8-12,
8-14, 8-22, 10-12, 10-19, 10-22, 10-22, 12-6, 12-10, 12-17, 12-19, 13-15, 13-25,
17-13, 17-15, 17-18, 17-20, 18-17, 18-18, 18-20, 18-27
Segment 1-20, 1-21, 1-24, 5-3, 5-4, 5-5, 5-12, 5-13, 5-20, 5-24, 6-30, 7-29, 7-31, 9-6,
9-7, 9-9, 9-11, 12-17, 12-19, 12-30, 13-24, 17-25, 18-26
Segment Advisor 5-20, 12-17, 12-19, 12-30
Séquence 2-12, 6-11, 7-37, 7-38, 7-39, 7-40, 7-47, 12-12, 14-26, 18-17
Serveur dédié 11-7, 11-27, 11-28
Serveur partagé 3-10, 4-30, 6-24, 11-27, 11-28, 11-29, 11-30,11-31
Seuil 4-31, 5-18, 9-12, 12-4, 12-12, 12-22, 12-24, 12-25, 12-27, 12-29
SID 2-11, 3-7, 3-12, 3-14, 4-15, 4-21, 4-30, 4-33, 8-31, 11-17, 11-23, 13-22, 15-16
SMON (System Monitor) 1-14, 1-24, 4-23
SQL*Loader 2-4, 2-5, 18-2, 18-3, 18-7, 18-7, 18-9, 18-10, 18-10, 18-14, 18-19, 18-26,
18-33, 18-36, 18-38
SQL*Plus 1-11, 2-4, 2-5, 4-2, 4-3, 4-8, 4-9, 4-12, 4-13, 4-14, 4-15, 4-19, 4-24, 4-29,
4-30, 4-32, 4-35, 4-36, 6-27, 12-25, 18-3
Statistiques 4-32, 8-18, 11-31, 12-2, 12-3, 12-4, 12-5, 12-6, 12-7, 12-8, 12-9, 12-10,
12-11, 12-13, 12-14, 12-15, 12-18, 12-22, 12-30, 12-31, 13-7, 13-9, 13-10, 13-13,
13-22, 13-23, 13-24, 17-16
Statistiques destinées à l'optimiseur 8-18, 12-4, 12-5, 12-7, 12-8, 12-30
Statistiques système12-4, 12-5
Suivi des modifications des blocs 5-7, 15-10
Support NLS (National Language Support) 2-12
SYSAUX 1-19, 5-6, 5-14, 5-16, 6-29, 12-10
SYSTEM 1-5, 1-6, 1-7, 1-9, 1-10, 1-11, 1-13, 1-14, 1-19, 1-20, 1-24, 2-3, 2-5, 2-6, 2-7,
2-11, 2-18, 2-20, 3-3, 3-4, 3-7, 3-8, 3-12, 4-4, 4-6, 4-13, 4-17, 4-21, 4-23, 4-29,
4-32, 5-6, 5-7, 5-10, 5-12, 5-13, 5-14, 5-15, 5-16, 5-21, 5-26, 5-27, 5-28, 6-3, 6-5,
6-6, 6-8, 6-9, 6-11, 6-12, 6-13, 6-15, 6-16, 6-18, 6-23, 6-24, 6-25, 6-26, 6-29, 7-4,
7-18, 7-19, 7-20, 8-10, 8-18, 8-31, 9-3, 9-8, 9-12, 9-15, 10-5, 10-6, 10-7, 10-8,
10-9, 10-10, 10-11, 10-12, 10-13, 10-14, 10-17, 10-18, 10-19, 10-22, 10-27, 10-29,
11-4, 11-7, 11-23, 11-26, 11-27, 12-4, 12-5, 12-12, 12-17, 12-19, 12-22, 12-23,
12-27, 12-28, 13-4, 13-5, 13-21, 13-22, 13-24, 14-3, 14-7, 14-11, 14-12, 14-16,
14-18, 14-28, 15-4, 15-5, 15-6, 15-7, 15-17, 15-18, 16-4, 16-5, 16-6, 16-10, 16-11,
16-13, 17-8, 17-12, 17-16, 17-19, 17-23, 18-5, 18-6, 18-7, 18-16, 18-17, 18-21,
18-26, 18-27, 18-33

Oracle Database 10g : Administration Workshop I Index-7


Unauthorized reproduction or distribution prohibitedฺ Copyright© 2009, Oracle and/or its affiliatesฺ
T
Tablespace 1-18, 1-19, 1-20, 1-21, 1-21, 1-24, 2-10, 3-3, 4-22, 4-30, 5-2, 5-3, 5-4, 5-6,
5-7, 5-8, 5-10, 5-11, 5-12, 5-13, 5-14, 5-15, 5-16, 5-17, 5-18, 5-19, 5-20, 5-21,
5-22, 5-23, 5-24, 5-25, 5-29, 6-2, 6-3, 6-4, 6-6, 6-13, 6-19, 6-29, 6-30, 7-3, 7-12,
7-42, 7-47, 9-7, 9-9, 9-11, 9-12, 9-14, 9-15, 9-16, 9-18, 10-27, 12-10, 12-19, 12-22,
12-23, 12-25, 12-27, 12-29, 13-26, 14-15, 15-5, 15-10, 15-17, 16-10, 16-11, 17-9,
17-12, 17-19, 18-18, 18-27, 18-26, 18-30
Tampon de journalisation (redo log buffer) 1-11, 13-23, 14-12
U
Undo Advisor 9-2, 9-16, 9-17
UTC 10-14
V
Variable d'environnement 2-7, 2-12, 4-10, 11-20, 18-22
Verrou externe (lock) 4-33, 5-5, 6-3, 6-4, 6-25, 6-28, 7-30, 7-46, 8-21, 8-22, 8-23, 8-24,
8-25, 8-26, 8-27, 8-28, 8-29, 8-30, 8-31, 8-32, 12-8, 12-15, 13-24, 16-4, 18-12
Version de fichier 15-17
VPD 17-19
Vue 1-7, 4-2, 4-4, 4-7, 4-18, 4-30, 4-34, 4-35, 5-9, 5-22, 5-23, 5-24, 6-11, 7-2, 7-6, 7-21,
7-22, 7-23, 7-34, 7-35, 7-36, 7-38, 7-41, 7-44, 7-45, 7-46, 7-47, 7-48, 8-12, 8-18,
8-29, 9-6, 9-10, 10-5, 10-9, 10-12, 10-14, 10-20, 10-22, 10-25, 11-9, 12-10, 12-16,
13-2, 13-5, 13-10, 13-12, 13-20, 13-22, 13-27, 15-19, 16-4, 17-2, 17-3, 17-4, 17-13,
17-17, 17-18, 17-19, 17-21, 17-24, 17-25, 17-26, 17-29, 18-6, 18-19, 18-32
Z
Zone de mémoire Java (Java pool) 1-11, 1-11, 12-19, 13-17
Zone de mémoire LARGE POOL 1-11, 1-11, 11-28, 12-19, 13-17
Zone de mémoire partagée (shared pool) 1-11, 1-11, 4-17, 11-28, 12-19, 13-17, 13-21
Zone de mémoire Streams 1-11, 1-11, 13-17
Zone de récupération rapide 3-9, 14-25, 15-2, 15-9, 15-10, 15-12, 15-19, 15-20,
17-7, 17-8
Zone de travail 1-21

Oracle Database 10g : Administration Workshop I Index-8


Unauthorized reproduction or distribution prohibitedฺ Copyright© 2009, Oracle and/or its affiliatesฺ

Vous aimerez peut-être aussi