Académique Documents
Professionnel Documents
Culture Documents
Administration Workshop I
D17090FR30
Edition 3.0
Mai 2006
D42059
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2009, Oracle and/or its affiliatesฺ
Auteurs Copyright © 2005, Oracle. Tous droits réservés.
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
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
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
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
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
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
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
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
Index
xiv
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2009, Oracle and/or its affiliatesฺ
Implémenter la sécurité de la base
de données Oracle
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2009, Oracle and/or its affiliatesฺ
Objectifs
Objectifs
Le présent chapitre constitue un point de départ pour l'étude des fonctionnalités Oracle
relatives à la sécurité. Pour plus d'informations, reportez-vous aux manuels suivants :
• Oracle Database Concepts 10g Release 2 (10.2)
• Oracle Database Administrator’s Guide 10g Release 2 (10.2)
• Oracle Database Security Guide 10g Release 2 (10.2)
Les cours suivants fournissent une formation complémentaire :
• Oracle Database 10g : Administration Workshop II (D17092FR30)
• Oracle Database 10g : Sécurité (D17499FR10)
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2009, Oracle and/or its affiliatesฺ
Oracle Database 10g : Administration Workshop I 10-2
> Obligations
Obligations en matière de sécurité Moindre privilège
Audit
dans les entreprises .
Basé sur
les données
FGA
DBA
• Lois : Mises à jour
sécurité
– Sarbanes-Oxley Act (SOX)
– Health Information Portability and Accountability
Act (HIPAA)
– California Breach Law
– UK Data Protection Act
• Audit
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2009, Oracle and/or its affiliatesฺ
Oracle Database 10g : Administration Workshop I 10-3
Obligations en matière de sécurité dans les entreprises (suite)
• La loi Health Information Portability and Accountability Act (HIPAA) vise à
protéger les informations personnelles d'ordre médical contre toute divulgation ou
utilisation abusive. Les détenteurs de telles informations doivent fournir des traces
d'audit qui répertorient tous les accès aux données.
• La loi UK Data Protection Act est destinée à protéger la vie privée en limitant
l'accès aux données à caractère personnel. Elle comporte huit points, dont l'un exige
la conservation sécurisée des données.
• Autres lois :
- La loi Family Educational Rights and Privacy Act (FERPA) concerne les
informations personnelles et médicales détenues par les établissements
scolaires.
- La loi California Breach Law impose aux entreprises détenant des
informations personnelles (par exemple, numéros de carte de crédit, de permis
de conduire ou de sécurité sociale) de protéger ces informations. Si des
informations ont fait l'objet d'accès non autorisés, l'organisation doit en
informer toutes les personnes concernées. Deux lois, CA-SB-1386 et CA-AB-
1950, s'appliquent aux organisations détenant des renseignements personnelles.
- La loi Federal Information Security Management Act (FISMA) fournit des
lignes directrices et des normes de sécurité dans les publications FIPS (Federal
Information Processing Standard), gérées par l'organisme de normalisation
NIST (National Institute of Standards). Ces normes s'appliquent aux
organisations qui traitent des informations pour le gouvernement américain.
Audit : Un grand nombre des lois qui précèdent contiennent des dispositions exigeant un
audit régulier des plans de sécurité (contrôles internes). Les obligations de la loi SOX sont
floues et font l'objet d'interprétations diverses par les responsables des organisations. Les
caractéristiques de leur implémentation peuvent varier considérablement, en fonction du
niveau de détail demandé par les responsables. Même si la loi SOX est imprécise, les
peines encourues sont sévères et il est donc important de protéger votre société. Il faut
évaluer le coût des mesures de sécurité par rapport aux risques. Personne ne pourra
garantir que vous présentez une sécurité totale. Le consensus constitue une très bonne
solution. Si vous respectez les règles de sécurité minimales et que vous avez effectué les
vérifications préalables, vous êtes normalement protégé contre les peines les plus sévères
prévues par la loi. Pour connaître les pratiques standard mises en oeuvre dans les
entreprises, vous pouvez notamment vous référer à l'Institut SAN (SysAdmin, Audit,
Network, Security), au CERT/CC géré par la Carnegie Mellon University pour le
ministère américain de la défense et à la norme de certification ISO-17799 :
http://www.sans.org/index.php
http://www.cert.org/nav/index.html
http://www.iso17799software.com/
La norme de certification internationale ISO-17799 constitue un code de bonnes pratiques
en matière de sécurité. Elle inclut des recommandations, des certifications et des
évaluations de risques. Elle couvre une vaste gamme de problèmes et inclut des stratégies
préétablies.
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2009, Oracle and/or its affiliatesฺ
Oracle Database 10g : Administration Workshop I 10-4
Séparation des responsabilités
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2009, Oracle and/or its affiliatesฺ
Oracle Database 10g : Administration Workshop I 10-5
Sécurité de la base de données
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2009, Oracle and/or its affiliatesฺ
Oracle Database 10g : Administration Workshop I 10-6
Sécurité de la base de données (suite)
Authentification des utilisateurs
Pour appliquer les contrôles d'accès aux données sensibles, le système doit d'abord savoir
qui tente d'accéder aux données. Une authentification compromise peut rendre inutiles
toutes les autres précautions de sécurité. La forme la plus élémentaire d'authentification
consiste à demander à l'utilisateur d'indiquer quelque chose qu'il connaît, par exemple un
mot de passe. Vous pouvez accroître considérablement la sécurité du système en imposant
le respect de règles simples concernant les mots de passe. Les méthodes d'authentification
renforcées consistent à demander à l'utilisateur de fournir quelque chose qu'il possède, par
exemple un "token" (sème) ou un certificat de clé publique (PKI). Une forme encore plus
renforcée d'authentification consiste à identifier les utilisateurs via une caractéristique
biométrique unique, telle qu'une empreinte digitale, l'iris de l'oeil, la morphologie, etc. La
base de données Oracle prend en charge des techniques d'authentification avancées, telles
que l'identification par "token", biométrie ou certificat, via l'option ASO (Advanced
Security Option). Les comptes utilisateur qui ne sont pas employés doivent être verrouillés
afin d'éviter toute tentative de compromission de l'authentification.
Surveiller les activités suspectes
Même autorisés et authentifiés, les utilisateurs peuvent parfois compromettre le système.
L'identification d'une activité de base de données inhabituelle (par exemple un employé
qui commence soudain à interroger de grandes quantités d'informations de carte bancaire,
de résultats de recherche ou d'autres informations sensibles) peut être la première étape de
la détection d'un vol d'informations. La base de données Oracle offre un ensemble complet
d'outils d'audit permettant le suivi des activités des utilisateurs et l'identification de
tendances suspectes.
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2009, Oracle and/or its affiliatesฺ
Oracle Database 10g : Administration Workshop I 10-7
Obligations
> Moindre privilège
Principe du moindre privilège . Audit
Basé sur
les données
FGA
DBA
Mises à jour
• Installez uniquement les logiciels requis sécurité
sur l'ordinateur.
• Activez uniquement les services requis sur
l'ordinateur.
• N'accordez l'accès au système d'exploitation et à
la base de données qu'aux utilisateurs qui en ont
besoin.
• Limitez l'accès au compte root ou administrateur.
• Limitez l'accès aux comptes SYSDBA et SYSOPER.
• Limitez l'accès des utilisateurs aux objets de base
de données nécessaires à la réalisation de leur
travail.
O7_DICTIONARY_ACCESSIBILITY=FALSE
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2009, Oracle and/or its affiliatesฺ
Oracle Database 10g : Administration Workshop I 10-9
Appliquer le principe du moindre privilège (suite)
Les packages les plus puissants pouvant être utilisés à des fins malveillantes sont les
suivants :
• UTL_SMTP : Permet d'envoyer des messages électroniques arbitraires en utilisant la
base de données en tant que serveur de messagerie SMTP (Simple Mail Transfer
Protocol). L'octroi de ce package à PUBLIC peut permettre l'échange non autorisé
de messages électroniques.
• UTL_TCP : Permet l'établissement par le serveur de base de données de connexions
réseau sortantes vers n'importe quel service réseau destinataire ou en attente. Par
conséquent, des données arbitraires peuvent être échangées entre le serveur de base
de données et n'importe quel service réseau en attente.
• UTL_HTTP : Permet au serveur de base de données de demander et d'extraire des
données via HTTP. L'octroi de ce package à PUBLIC peut autoriser l'envoi de
données à un site Web malveillant par l'intermédiaire de panneaux HTML.
• UTL_FILE : Si ce package est configuré de manière incorrecte, il permet l'accès au
niveau texte à n'importe quel fichier du système d'exploitation. Même lorsqu'il est
configuré correctement, ce package ne distingue pas les applications qui l'appellent.
Autrement dit, une application disposant d'un accès à UTL_FILE peut écrire des
données arbitraires dans le même emplacement qu'une autre application.
Limitez l'accès aux répertoires du système d'exploitation : L'objet DIRECTORY de la
base de données permet aux DBA d'établir une correspondance entre des répertoires et
des chemins de système d'exploitation, et d'accorder à des utilisateurs des privilèges sur
ces répertoires.
Limitez les utilisateurs dotés de privilèges d'administration : N'accordez pas aux
utilisateurs de base de données plus de privilèges que nécessaire. Vous ne devez pas
accorder le rôle DBA aux utilisateurs qui ne sont pas administrateurs. Pour implémenter le
principe du moindre privilège, limitez les types de privilège suivants :
• Octroi des privilèges système et objet
• Connexions dotées de privilèges SYS sur la base de données, tels que SYSDBA et
SYSOPER
• Autres privilèges de type DBA, tels que DROP ANY TABLE
Limitez l'authentification à distance auprès de la base de données : Le paramètre
REMOTE_OS_AUTHENT a par défaut la valeur FALSE. Il ne doit pas être modifié sauf s'il
est certain que tous les clients assurent une authentification appropriée des utilisateurs.
Dans le processus d'authentification à distance :
• L'utilisateur de base de données est authentifié en externe.
• Le système distant authentifie l'utilisateur.
• L'utilisateur se connecte à la base de données sans authentification complémentaire.
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2009, Oracle and/or its affiliatesฺ
Oracle Database 10g : Administration Workshop I 10-10
Obligations
Moindre privilège
Surveiller les activités suspectes > Audit .
Basé sur
les données
FGA
DBA
Mises à jour
La surveillance ou l'audit doit faire partie sécurité
1 Active l'audit
de base Fichier de
DBA de données Utilisateur
paramètres
Exécute une
commande
2 Définit
les options
Base de données
d'audit
Processus
serveur
Options
Génère la
d'audit
3 Examine les trace d'audit
informations
d'audit
Trace
d'audit Trace d'audit
4 Gère la trace
OS ou XML
d'audit
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2009, Oracle and/or its affiliatesฺ
Oracle Database 10g : Administration Workshop I 10-12
Activer l'audit
Activer l'audit
Vous devez activer l'audit de base de données avant de définir des paramètres d'audit.
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2009, Oracle and/or its affiliatesฺ
Oracle Database 10g : Administration Workshop I 10-13
Traces d'audit uniformes
DBA_AUDIT_TRAIL DBA_FGA_AUDIT_TRAIL
EXTENDED_TIMESTAMP,
PROXY_SESSIONID, GLOBAL_UID,
INSTANCE_NUMBER, OS_PROCESS,
TRANSACTIONID, SCN, SQL_BIND, SQL_TEXT
DBA_COMMON_AUDIT_TRAIL
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2009, Oracle and/or its affiliatesฺ
Oracle Database 10g : Administration Workshop I 10-14
Traces d'audit uniformes (suite)
Les attributs communs sont les suivants :
• Un horodatage global au format UTC (temps universel coordonné). Ce champ est
utile pour la surveillance de serveurs situés à des emplacements géographiques
distincts dans des fuseaux horaires différents.
• Un numéro d'instance unique pour chaque instance RAC (Real Application
Clusters).
• Un identificateur de transaction qui vous aide à regrouper les enregistrements d'audit
correspondant à une même transaction.
La vue DBA_COMMON_AUDIT_TRAIL combine des enregistrements de l'audit standard
et de l'audit détaillé.
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2009, Oracle and/or its affiliatesฺ
Oracle Database 10g : Administration Workshop I 10-15
Page Audit Settings d'Enterprise Manager
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2009, Oracle and/or its affiliatesฺ
Oracle Database 10g : Administration Workshop I 10-16
Définir les options d'audit
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2009, Oracle and/or its affiliatesฺ
Oracle Database 10g : Administration Workshop I 10-17
Utiliser et gérer les informations d'audit
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2009, Oracle and/or its affiliatesฺ
Oracle Database 10g : Administration Workshop I 10-18
Obligations
Moindre privilège
Audit basé sur Audit
> Basé sur
les données les données
FGA
DBA
Mises à jour
sécurité
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2009, Oracle and/or its affiliatesฺ
Oracle Database 10g : Administration Workshop I 10-19
Audit basé sur les données (suite)
La clé de l'audit basé sur les données est le déclencheur d'audit. Un déclencheur d'audit
typique se présente de la manière suivante :
CREATE OR REPLACE TRIGGER system.hrsalary_audit
AFTER UPDATE OF salary
ON hr.employees
REFERENCING NEW AS NEW OLD AS OLD
FOR EACH ROW
BEGIN
IF :old.salary != :new.salary THEN
INSERT INTO system.audit_employees
VALUES (sys_context('userenv','os_user'), sysdate,
sys_context('userenv','ip_address'),
:new.employee_id ||
' salary changed from '||:old.salary||
' to '||:new.salary);
END IF;
END;
/
Ce déclencheur cible l'audit sur la capture des modifications apportées à la colonne
salary de la table hr.employees. Lorsqu'une ligne est mise à jour, le déclencheur
examine la colonne salary. Si l'ancien salaire est différent du nouveau, le déclencheur
insère un enregistrement d'audit dans la table audit_employees (laquelle est créée via
une opération distincte dans le schéma SYSTEM). L'enregistrement d'audit inclut le nom
utilisateur, l'adresse IP de l'ordinateur à partir duquel la modification a été effectuée, la clé
primaire identifiant l'enregistrement qui a changé, et les valeurs de salaire qui ont changé.
Les déclencheurs de base de données peuvent également être utilisés pour capturer des
informations sur les connexions utilisateur, au cas où l'audit de base de données standard
ne collecterait pas suffisamment de données. Avec des déclencheurs de connexion (login
triggers), l'administrateur peut capturer des données identifiant l'utilisateur qui se connecte
à la base de données. Exemples :
• L'adresse IP de la personne qui se connecte.
• Les 48 premiers caractères du nom du programme utilisé pour la connexion à
l'instance.
• Le nom du terminal utilisé pour la connexion à l'instance.
Pour obtenir la liste complète des paramètres utilisateur, reportez-vous à la section
intitulée "SYS_CONTEXT" du manuel Oracle Database SQL Reference.
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2009, Oracle and/or its affiliatesฺ
Oracle Database 10g : Administration Workshop I 10-20
Obligations
Moindre privilège
Audit détaillé Audit
Basé sur
les données
> FGA
• Surveille l'accès aux données en DBA
Mises à jour
fonction du contenu sécurité
Stratégie : AUDIT_EMPS_SALARY
Audit détaillé
L'audit de base de données enregistre le fait qu'une opération a eu lieu, mais ne capture pas
d'informations sur l'instruction ayant provoqué l'opération. L'audit détaillé (FGA - fine-
grained auditing) étend cette fonctionnalité en autorisant la capture des instructions SQL qui
interrogent ou manipulent les données. Il permet également un ciblage plus précis que l'audit
détaillé ou l'audit basé sur les données.
Les options d'audit détaillé peuvent être ciblées par colonnes individuelles d'une table ou
d'une vue et peuvent même être conditionnelles, de sorte que les informations d'audit ne
soient capturées que si certaines conditions définies par l'administrateur sont réunies. Une
stratégie d'audit détaillé peut être associée à plusieurs colonnes d'intérêt. Par défaut, si l'une de
ces colonnes est présente dans l'instruction SQL, elle est auditée. Deux packages,
DBMS_FGA.ALL_COLUMNS et DBMS_FGA.ANY_COLUMNS, permettent de baser l'audit
sur l'utilisation de toutes les colonnes d'intérêt dans l'instruction ou sur l'utilisation de l'une
quelconque d'entre elles.
Utilisez le package PL/SQL DBMS_FGA pour créer une stratégie d'audit sur la table ou sur la
vue cible. Si certaines des lignes renvoyées par un bloc d'interrogation correspondent à la
colonne auditée et satisfont à la condition d'audit indiquée, un événement d'audit entraîne la
création d'un enregistrement d'audit et son stockage dans la trace d'audit. L'événement d'audit
peut éventuellement exécuter une procédure. L'audit détaillé cible automatiquement l'audit au
niveau instruction, de sorte qu'une instruction SELECT qui renvoie des milliers de lignes
génère un seul enregistrement d'audit.
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2009, Oracle and/or its affiliatesฺ
Oracle Database 10g : Administration Workshop I 10-21
Stratégie d'audit détaillé
dbms_fga.add_policy (
object_schema => 'HR',
object_name => 'EMPLOYEES',
• Définit : policy_name => 'audit_emps_salary',
– les critères audit_condition => 'department_id=10',
audit_column => 'SALARY',
d'audit handler_schema => 'secure',
– l'action d'audit handler_module => 'log_emps_salary',
enable => TRUE,
• Est créée via statement_types => 'SELECT' );
DBMS_FGA
.ADD_POLICY
SELECT name, job_id
FROM employees;
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2009, Oracle and/or its affiliatesฺ
Oracle Database 10g : Administration Workshop I 10-22
Stratégie d'audit détaillé (suite)
Colonne d'audit
La colonne d'audit définit les données auditées. Un événement d'audit se produit si cette
colonne est incluse dans l'instruction SELECT ou si la condition d'audit autorise la
sélection. L'exemple de la diapositive audite deux colonnes, à l'aide de l'argument
suivant :
audit_column => 'SALARY,COMMISION_PCT'
Cet argument est facultatif. S'il n'est pas indiqué, seul l'argument AUDIT_CONDITION
détermine si un événement d'audit doit se produire.
Objet
L'objet est la table ou la vue auditée. Il est transmis sous la forme de deux arguments :
• Le schéma contenant l'objet
• Le nom de l'objet
L'exemple de la diapositive audite la table hr.employees, à l'aide des arguments
suivants :
object_schema => 'hr'
object_name => 'employees'
Gestionnaire
Un gestionnaire d'événements (facultatif) est une procédure PL/SQL qui définit les actions
supplémentaires qui doivent être effectuées au cours de l'audit. Par exemple, le
gestionnaire d'événements peut envoyer une page d'alerte à l'administrateur. S'il n'est pas
défini, une entrée d'événement d'audit est insérée dans la trace d'audit. Si un gestionnaire
d'événements d'audit est défini, l'entrée d'audit est insérée dans la trace d'audit et le
gestionnaire d'événements d'audit est exécuté.
L'entrée d'événement d'audit inclut la stratégie d'audit détaillé ayant provoqué
l'événement, l'utilisateur qui exécute l'instruction SQL, ainsi que l'instruction SQL et ses
variables attachées (bind variables).
Le gestionnaire d'événements est transmis sous la forme de deux arguments :
• Le schéma contenant le programme PL/SQL
• Le nom du programme PL/SQL
L'exemple de la diapositive exécute la procédure SECURE.LOG_EMPS_SALARY, à
l'aide des arguments suivants :
handler_schema => 'secure'
handler_module => 'log_emps_salary'
Par défaut, la trace d'audit écrit toujours le texte SQL et les informations d'attachement
SQL dans des objets LOB. Il est possible de modifier ce comportement par défaut (par
exemple en cas de risque d'une dégradation des performances du système).
Statut
Le statut indique si la stratégie d'audit détaillé est activée ou non. Dans l'exemple de la
diapositive, l'argument suivant active la stratégie :
enable => TRUE
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2009, Oracle and/or its affiliatesฺ
Oracle Database 10g : Administration Workshop I 10-23
Instruction LMD auditée :
Eléments à prendre en compte
• Les enregistrements sont audités si le prédicat d'audit
détaillé est satisfait et que les colonnes d'intérêt sont
référencées.
• Les instructions DELETE sont auditées quelles
que soient les colonnes indiquées.
• Les instructions MERGE sont auditées avec les
instructions INSERT ou UPDATE sous-jacentes générées.
UPDATE hr.employees
SET salary = 10
WHERE commission_pct = 90;
UPDATE hr.employees
SET salary = 10
WHERE employee_id = 111;
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2009, Oracle and/or its affiliatesฺ
Oracle Database 10g : Administration Workshop I 10-24
Règles relatives à l'audit détaillé
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2009, Oracle and/or its affiliatesฺ
Oracle Database 10g : Administration Workshop I 10-25
Obligations
Moindre privilège
Audit de DBA Audit
Basé sur
les données
FGA
> DBA
Mises à jour
sécurité
Les utilisateurs dotés des privilèges SYSDBA
ou SYSOPER peuvent se connecter lorsque
la base de données est fermée.
• La trace d'audit doit être stockée à l'extérieur
de la base de données.
• Les connexions en tant que SYSDBA ou SYSOPER
sont toujours auditées.
• Vous pouvez activer l'audit complémentaire
des actions SYSDBA ou SYSOPER avec
audit_sys_operations.
• Vous pouvez contrôler la trace
d'audit avec audit_file_dest.
Audit de DBA
Les utilisateurs SYSDBA et SYSOPER possèdent les privilèges permettant de démarrer et
d'arrêter la base de données. Etant donné qu'ils peuvent apporter des modifications pendant
que la base de données est fermée, la trace d'audit de ces privilèges doit être stockée à
l'extérieur de la base de données. La base Oracle capture automatiquement les événements de
connexion générés par les utilisateurs SYSDBA et SYSOPER. Il s'agit d'une méthode
intéressante de suivi des actions SYSDBA et SYSOPER autorisées et non autorisées, mais elle
n'est utile que si la trace d'audit du système d'exploitation est examinée.
La base de données Oracle ne capture rien d'autre si l'audit n'est pas explicitement activé.
Activez l'audit des utilisateurs SYSDBA et SYSOPER en définissant le paramètre
d'initialisation :
audit_sys_operations=TRUE (La valeur par défaut est FALSE.)
Si les opérations SYS sont auditées, le paramètre d'initialisation audit_file_dest
détermine le lieu de stockage des enregistrements d'audit. Sur une plate-forme Windows, la
trace d'audit est enregistrée par défaut dans le journal des événements. Sur les plates-formes
UNIX et Linux, les enregistrements d'audit sont stockés dans
$ORACLE_HOME/rdbms/audit.
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2009, Oracle and/or its affiliatesฺ
Oracle Database 10g : Administration Workshop I 10-26
Gérer la trace d'audit
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2009, Oracle and/or its affiliatesฺ
Oracle Database 10g : Administration Workshop I 10-27
Obligations
Moindre privilège
Mises à jour de sécurité Audit
Basé sur
les données
FGA
DBA
> Mises à jour
sécurité
• Oracle publie les alertes de sécurité
sur le site Web Oracle Technology Network,
à l'adresse suivante :
http://www.oracle.com/technology/deploy/security/alerts.htm
• Les administrateurs de base de données et les
développeurs Oracle peuvent également s'abonner
afin d'être informés par e-mail des alertes de sécurité,
en cliquant sur le lien "Subscribe to Security Alerts Here".
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2009, Oracle and/or its affiliatesฺ
Oracle Database 10g : Administration Workshop I 10-28
Appliquer des patches de sécurité
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2009, Oracle and/or its affiliatesฺ
Oracle Database 10g : Administration Workshop I 10-29
Synthèse
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2009, Oracle and/or its affiliatesฺ
Oracle Database 10g : Administration Workshop I 10-30
Présentation de l'exercice :
Implémenter la sécurité de la base
de données Oracle
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2009, Oracle and/or its affiliatesฺ
Oracle Database 10g : Administration Workshop I 10-31
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2009, Oracle and/or its affiliatesฺ
Configurer l'environnement réseau Oracle
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2009, Oracle and/or its affiliatesฺ
Objectifs
Ressources
• Oracle Database, Net Services Administrator’s Guide, 10g Release 2 (10.2), Référence
B14212-01
• Oracle Database, Net Services Reference, 10g Release 2 (10.2),
Référence B14213-01
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2009, Oracle and/or its affiliatesฺ
Oracle Database 10g : Administration Workshop I 11-2
Services Oracle Net
Application SGBDR
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2009, Oracle and/or its affiliatesฺ
Oracle Database 10g : Administration Workshop I 11-3
Processus d'écoute Oracle Net
Fichiers de configuration
Oracle Net
<oracle_home>/network/admin/listener.ora
sqlnet.ora
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2009, Oracle and/or its affiliatesฺ
Oracle Database 10g : Administration Workshop I 11-4
Etablir des connexions réseau
Résolution de noms
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2009, Oracle and/or its affiliatesฺ
Oracle Database 10g : Administration Workshop I 11-5
Etablir une connexion
Demande de
connexion entrante
Processus d'écoute
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2009, Oracle and/or its affiliatesฺ
Oracle Database 10g : Administration Workshop I 11-6
Sessions utilisateur
Processus
serveur
Processus
utilisateur
Processus
d'écoute
Sessions utilisateur
Si le paquet CONNECT demande un nom de service valide, le processus d'écoute (listener)
crée un nouveau processus afin de traiter la connexion. Ce nouveau processus est appelé
"processus serveur". Le processus d'écoute s'y connecte et lui transmet des informations
d'initialisation, notamment l'adresse du processus d'écoute. A ce stade, le processus d'écoute
ne gère plus la connexion et tout le travail est envoyé au processus serveur.
Le processus serveur vérifie les informations d'identification et de connexion (credentials) de
l'utilisateur (généralement un mot de passe). Si elles sont valides, une session utilisateur est
créée.
Processus serveur dédié : La session étant établie, le processus serveur joue à présent le rôle
d'agent de l'utilisateur sur le serveur. Le processus serveur est responsable des opérations
suivantes :
• Analyse (parse) et exécution des instructions SQL exécutées par l'intermédiaire de
l'application.
• Examen du cache de tampons (buffer cache) de la base de données à la recherche de
blocs de données requis pour exécuter les instructions SQL.
• Lecture des blocs de données nécessaires à partir des fichiers de données sur disque dans
la partie cache de tampons de la base de données de la mémoire SGA (System Global
Area), si les blocs ne sont pas déjà présents dans la mémoire SGA.
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2009, Oracle and/or its affiliatesฺ
Oracle Database 10g : Administration Workshop I 11-7
Sessions utilisateur (suite)
• Gestion de toutes les activités de tri. Une partie du processus serveur, appelée
mémoire PGA (Program Global Area), contient une zone de mémoire appelée zone
de tri qui est utilisée pour les opérations de tri.
• Renvoi des résultats au processus utilisateur de sorte que l'application puisse traiter
les informations.
• Lecture des options d'audit et envoi d'un état des processus utilisateur à la
destination d'audit.
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2009, Oracle and/or its affiliatesฺ
Oracle Database 10g : Administration Workshop I 11-8
Outils de configuration et de gestion
de l'environnement réseau Oracle
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2009, Oracle and/or its affiliatesฺ
Oracle Database 10g : Administration Workshop I 11-9
Utilitaire de contrôle du processus d'écoute
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2009, Oracle and/or its affiliatesฺ
Oracle Database 10g : Administration Workshop I 11-10
Syntaxe de l'utilitaire de contrôle
du processus d'écoute
Les commandes de l'utilitaire de contrôle du processus
d'écoute peuvent être exécutées à partir de la ligne
de commande ou de l'invite LSNRCTL.
• Syntaxe de la ligne de commande sous UNIX ou Linux :
$ lsnrctl <command name>
$ lsnrctl start
$ lsnrctl status
• Syntaxe de l'invite :
LSNRCTL> <command name>
LSNRCTL> start
LSNRCTL> status
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2009, Oracle and/or its affiliatesฺ
Oracle Database 10g : Administration Workshop I 11-11
Syntaxe de l'utilitaire de contrôle du processus d'écoute (suite)
Rappelez-vous que si le processus d'écoute porte un nom autre que LISTENER, vous devez soit
inclure le nom du processus d'écoute dans la commande, soit utiliser la commande SET
CURRENT_LISTENER. Supposons que le processus d'écoute soit nommé BACKUP. Voici deux
exemples arrêtant le processus BACKUP à l'aide de la syntaxe d'invite :
LSNRCTL> stop backup
Connecting to
(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=rhel)(PORT=5521)))
The command completed successfully
La syntaxe qui suit génère le même résultat :
LSNRCTL> set cur backup
Current Listener is backup
LSNRCTL> stop
Connecting to
(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=rhel)(PORT=5521)))
The command completed successfully
Remarque : Dans la syntaxe précédente, current_listener peut être abrégé en cur.
Vous pouvez également obtenir les mêmes résultats avec la syntaxe de ligne de commande :
/home/oracle> lsnrctl stop backup
LSNRCTL for Linux:Version 10.2.0.0.0 on 12-MAY-2005 15:19:33
Copyright (c) 1991, 2004, Oracle. All rights reserved.
Connecting to
(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=rhel)(PORT=5521)))
The command completed successfully
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2009, Oracle and/or its affiliatesฺ
Oracle Database 10g : Administration Workshop I 11-12
Page d'accueil Listener
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2009, Oracle and/or its affiliatesฺ
Oracle Database 10g : Administration Workshop I 11-13
Pages Net Services Administration
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2009, Oracle and/or its affiliatesฺ
Oracle Database 10g : Administration Workshop I 11-14
Créer un processus d'écoute
3
4
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2009, Oracle and/or its affiliatesฺ
Oracle Database 10g : Administration Workshop I 11-15
Ajouter des adresses de processus d'écoute
5
6
7
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2009, Oracle and/or its affiliatesฺ
Oracle Database 10g : Administration Workshop I 11-16
Enregistrement d'un service de base de
données
Client/serveur d'applications
Oracle Net
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2009, Oracle and/or its affiliatesฺ
Oracle Database 10g : Administration Workshop I 11-18
Easy Connect
• Est activé par défaut
• Ne nécessite aucune configuration côté client
• Prend en charge uniquement le protocole TCP/IP (pas SSL)
• Ne prend pas en charge les options de connexion
avancées telles que :
– Gestion des incidents de connexion
– Routage source
– Equilibrage de la charge
Easy Connect
Avec Easy Connect, vous fournissez toutes les informations requises pour la connexion
Oracle Net dans le cadre de la chaîne de connexion. Les chaînes de connexion Easy Connect
se présentent sous la forme suivante :
<username>/<password>@<hostname>:<listener port>/<service name>
Le port du processus d'écoute (listener) et le nom du service sont facultatifs. Si le port du
processus d'écoute n'est pas indiqué, Oracle Net suppose que le port par défaut (1521) est
utilisé. Si le nom du service n'est pas fourni, Oracle Net suppose que le nom du service de
base de données et le nom d'hôte fournis dans la chaîne de connexion sont identiques.
En supposant que le processus d'écoute utilise le protocole TCP pour écouter sur le port 1521
et que les paramètres d'instance SERVICE_NAMES=db et DB_DOMAIN=us.oracle.com
sont définis, la chaîne de connexion illustrée dans la diapositive ci-dessus peut être abrégée de
la façon suivante :
SQL> connect hr/hr@db.us.oracle.com
Remarque : Le paramètre d'initialisation SERVICE_NAMES peut accepter plusieurs valeurs
séparées par des virgules. Il suffit qu'une seule de ces valeurs soit égale à db pour que ce
scénario fonctionne.
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2009, Oracle and/or its affiliatesฺ
Oracle Database 10g : Administration Workshop I 11-19
Résolution locale de noms
• Nécessite un fichier de résolution de noms côté client
• Prend en charge tous les protocoles Oracle Net
• Prend en charge les options de connexion avancées
telles que :
– Gestion des incidents de connexion
– Routage source
– Equilibrage de la charge
Fichiers de
configuration
Oracle Net
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2009, Oracle and/or its affiliatesฺ
Oracle Database 10g : Administration Workshop I 11-20
Résolution de noms d'annuaire
Annuaire LDAP
SQL> CONNECT hr/hr@orcl
Fichiers de
configuration
Oracle Net
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2009, Oracle and/or its affiliatesฺ
Oracle Database 10g : Administration Workshop I 11-21
Méthode de résolution de noms externe
Service de noms
non Oracle
Oracle Net
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2009, Oracle and/or its affiliatesฺ
Oracle Database 10g : Administration Workshop I 11-22
Configurer des alias de service
Créer ou
modifier
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2009, Oracle and/or its affiliatesฺ
Oracle Database 10g : Administration Workshop I 11-23
Options de connexion avancées
Oracle Net prend en charge les options de connexion
avancées suivantes avec la résolution locale de noms
et la résolution de noms d'annuaire :
• Gestion des incidents de connexion
• Equilibrage de la charge
• Routage source
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2009, Oracle and/or its affiliatesฺ
Oracle Database 10g : Administration Workshop I 11-24
Options de connexion avancées (suite)
Notez que vous disposez de cinq options pour la gestion des incidents de connexion et
l'équilibrage de la charge. Les cinq options sont les suivantes :
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2009, Oracle and/or its affiliatesฺ
Oracle Database 10g : Administration Workshop I 11-25
Tester la connectivité Oracle Net
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2009, Oracle and/or its affiliatesฺ
Oracle Database 10g : Administration Workshop I 11-26
Sessions utilisateur : Serveurs dédiés
Sessions utilisateur
Processus serveur
Processus serveur
Processus serveur
Processus d'écoute
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2009, Oracle and/or its affiliatesฺ
Oracle Database 10g : Administration Workshop I 11-27
Sessions utilisateur : Serveurs partagés
Répartiteur
Processus serveur
Processus serveur
Processus serveur
Sessions utilisateur
Processus d'écoute
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2009, Oracle and/or its affiliatesฺ
Oracle Database 10g : Administration Workshop I 11-29
Serveur partagé :
Concentration des connexions
La durée d'inactivité de
l'application client dépasse le
Client délai indiqué et un client entrant
inactif demande une connexion.
Client
actif
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2009, Oracle and/or its affiliatesฺ
Oracle Database 10g : Administration Workshop I 11-30
Dans quel cas ne pas utiliser
de serveur partagé ?
Certains types de travail de base de données ne doivent
pas être effectués à l'aide de serveurs partagés :
• Administration de base de données
• Opérations de sauvegarde et de récupération
• Traitement batch et opérations de chargement
en masse
• Opérations de data warehouse
Répartiteur Processus
serveur dédié
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2009, Oracle and/or its affiliatesฺ
Oracle Database 10g : Administration Workshop I 11-31
Synthèse
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2009, Oracle and/or its affiliatesฺ
Oracle Database 10g : Administration Workshop I 11-32
Présentation de l'exercice :
Utiliser les composants réseau Oracle
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2009, Oracle and/or its affiliatesฺ
Oracle Database 10g : Administration Workshop I 11-33
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2009, Oracle and/or its affiliatesฺ
Maintenance proactive
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2009, Oracle and/or its affiliatesฺ
Objectifs
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2009, Oracle and/or its affiliatesฺ
Oracle Database 10g : Administration Workshop I 12-2
Maintenance proactive
Alertes Infrastructure
serveur de conseil
Référentiel AWR
Efficace
Maintenance proactive
La maintenance proactive est facilitée par l'infrastructure sophistiquée de la base de données
Oracle. Les principaux éléments de cette infrastructure sont les suivants :
• AWR (Automatic Workload Repository) est un référentiel intégré dans chaque base de
données Oracle. A intervalles réguliers, la base Oracle prend un cliché (snapshot) de
l'ensemble des statistiques essentielles et des informations relatives à la charge globale,
et les stocke dans le référentiel AWR. Les données capturées peuvent faire l'objet d'une
analyse, par vous-même et/ou par la base de données.
• En analysant les informations stockées dans le référentiel AWR, la base de données peut
déterminer s'il est nécessaire d'effectuer des tâches de maintenance de routine, telles que
des sauvegardes régulières afin d'optimiser la disponibilité ou la régénération des
statistiques, qui sont utilisées pour optimiser l'exécution des instructions SQL.
• Pour les problèmes ne pouvant pas être résolus automatiquement et nécessitant une
notification aux administrateurs (par exemple un manque d'espace), la base de données
Oracle fournit des alertes générées par le serveur. La base Oracle peut se surveiller elle-
même et envoyer des alertes pour vous informer de tout problème. Ces alertes
fournissent également des recommandations relatives à la manière de résoudre le
problème signalé.
• Ces recommandations sont générées par différentes fonctions de conseil (advisors)
chargées chacune d'un sous-système. Memory Advisor et SQL Advisor en sont des
exemples.
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2009, Oracle and/or its affiliatesฺ
Oracle Database 10g : Administration Workshop I 12-3
Terminologie
• Référentiel AWR (Automatic Workload Repository) :
infrastructure utilisée pour la collecte et l'analyse
de données, et pour la génération de recommandations.
• Ligne de base (baseline) : ensemble de données
collectées dans "une base de données fonctionnant
normalement" en vue d'une comparaison
de performances.
• Mesure de performances : taux de variation
d'une statistique cumulée.
• Statistiques : ensembles de données utilisés
pour l'optimisation des opérations internes,
telles que l'exécution d'une instruction SQL.
• Seuil : valeur limite à laquelle sont
comparées les mesures de performances.
Terminologie
Le référentiel AWR (Automatic Workload Repository) fournit aux composants internes du
serveur Oracle des services de collecte, de traitement, de maintenance et d'utilisation de
statistiques de performances pour la détection des problèmes et le réglage automatique (self-
tuning).
L'historique des sessions actives (ASH- Active Session History), stocké dans le référentiel
AWR, répertorie les activités des sessions récentes.
Les statistiques sont un ensemble de données fournissant davantage de détails sur la base de
données et ses objets. Les statistiques destinées à l'optimiseur sont utilisées par ce dernier
pour choisir le meilleur plan d'exécution pour chaque instruction SQL.
Les données de référence doivent inclure les statistiques suivantes :
• Statistiques relatives à l'application (volumes de transactions, temps de réponse)
• Statistiques relatives à la base de données
• Statistiques relatives au système d'exploitation
• Statistiques relatives aux E/S disque
• Statistiques relatives au réseau
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2009, Oracle and/or its affiliatesฺ
Oracle Database 10g : Administration Workshop I 12-4
> Statistiques
AWR
Statistiques destinées à l'optimiseur ADDM
Fonctions
de conseil
Alertes
Tâches
Les statistiques destinées à l'optimiseur : automatisées
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2009, Oracle and/or its affiliatesฺ
Oracle Database 10g : Administration Workshop I 12-5
Statistiques destinées à l'optimiseur (suite)
Une table volumineuse qui connaît une croissance (ou une diminution) de 10 % au cours d'une
période de 24 heures est généralement considérée comme trop volatile pour que la collecte de
statistiques une fois par jour soit suffisante. Pour ce type de table, Oracle recommande de
collecter les statistiques plus fréquemment, si possible suffisamment souvent pour que la
variation ne soit jamais supérieure à 10 % entre deux périodes de collecte. Cela nécessite une
collecte manuelle de statistiques.
Les statistiques peuvent être collectées manuellement à l'aide d'Enterprise Manager, ou via le
package DBMS_STATS, comme indiqué ci-dessous :
SQL> EXEC dbms_stats.gather_table_stats('HR', 'EMPLOYEES');
SQL> SELECT num_rows FROM dba_tables
2 WHERE owner='HR' AND table_name = 'EMPLOYEES';
NUM_ROWS
----------
214
Notez que le nombre de lignes reflète désormais correctement les données qui se trouvaient
dans la table au moment de la collecte des statistiques. DBMS_STATS permet également la
collecte manuelle de statistiques pour un schéma entier, voire pour l'ensemble de la base de
données.
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2009, Oracle and/or its affiliatesฺ
Oracle Database 10g : Administration Workshop I 12-6
Utiliser la page Manage
Optimizer Statistics
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2009, Oracle and/or its affiliatesฺ
Oracle Database 10g : Administration Workshop I 12-7
Utiliser la page Manage Optimizer Statistics (suite)
Dans cette page, vous pouvez effectuer les opérations suivantes sur les statistiques :
• Collecter manuellement des statistiques destinées à l'optimiseur. Cette action
soumet le travail qui est réalisé automatiquement par GATHER_STATS_JOB.
Vous devez procéder de la sorte si le contenu d'une table a tellement changé entre
les travaux de collecte automatique que les statistiques ne représentent plus
fidèlement la table. C'est le cas, par exemple, si une table est vidée en milieu de
journée, ou si un traitement batch s'exécute et ajoute des quantités importantes de
données à une table.
• Restaurer jusqu'à un point dans le temps les statistiques destinées à l'optimiseur.
Le point dans le temps choisi doit être compris dans la période de conservation
des statistiques, qui est par défaut de 30 jours.
• Verrouiller les statistiques destinées à l'optimiseur afin d'éviter la suppression des
informations concernant certains objets. Cela est utile si des statistiques ont été
calculées pour une table à un moment où elle contenait des données
particulièrement représentatives et que vous souhaitez toujours disposer de ces
statistiques. Lorsque des statistiques sont verrouillées, elles ne sont affectées par
aucune des fluctuations se produisant dans la table.
• Déverrouiller des statistiques destinées à l'optimiseur précédemment verrouillées.
• Supprimer des statistiques destinées à l'optimiseur.
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2009, Oracle and/or its affiliatesฺ
Oracle Database 10g : Administration Workshop I 12-8
Niveaux de statistiques
STATISTICS_LEVEL
Fonctionnalités Statistiques
de réglage Valeur par défaut supplémentaires pour
automatique recommandée le diagnostic manuel
désactivées d'instructions SQL
Niveaux de statistiques
Vous pouvez contrôler le jeu de statistiques à capturer à l'aide du paramètre d'initialisation
STATISTICS_LEVEL, qui autorise les niveaux de capture suivants :
• BASIC : Le calcul des statistiques et des mesures de performances AWR est désactivé.
• TYPICAL : Seules certaines des statistiques sont collectées. Il s'agit des statistiques
nécessaires pour surveiller le comportement de la base de données Oracle. Cette collecte
automatique de statistiques réduit la probabilité d'obtenir des instructions SQL mal
optimisées en raison de statistiques obsolètes ou non valides.
• ALL : Toutes les statistiques possibles sont capturées. Ce niveau de capture ne doit être
utilisé que dans les rares cas où vous avez besoin d'informations supplémentaires pour le
diagnostic d'instructions SQL.
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2009, Oracle and/or its affiliatesฺ
Oracle Database 10g : Administration Workshop I 12-9
Statistiques
> AWR
Référentiel AWR ADDM
Fonctions
(Automatic Workload Repository) de
. conseil
Alertes
Tâches
automatisées
• Référentiel intégré pour les informations
relatives aux performances
• Clichés des mesures de performances
de la base de données pris toutes
les 60 minutes et conservés pendant 7 jours
• Constitue la base de toutes les fonctions
de gestion automatique
Statistiques 60 minutes
en mémoire MMON Clichés
SGA
AWR
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2009, Oracle and/or its affiliatesฺ
Oracle Database 10g : Administration Workshop I 12-10
Infrastructure du référentiel AWR
Clients externes
EM SQL*Plus …
SGA
Collecte V$ DBA_*
efficace de Clichés
statistiques AWR
en mémoire MMON
Composant Composant
…
ADDM à réglage à réglage
Clients internes automatique automatique
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2009, Oracle and/or its affiliatesฺ
Oracle Database 10g : Administration Workshop I 12-11
Jeux de clichés AWR
Période d'intérêt
dans le passé
DBMS_WORKLOAD_REPOSITORY.CREATE_BASELINE ( -
start_snap_id IN NUMBER ,
end_snap_id IN NUMBER ,
baseline_name IN VARCHAR2);
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2009, Oracle and/or its affiliatesฺ
Oracle Database 10g : Administration Workshop I 12-13
Gérer le référentiel AWR
• Période de conservation
– La valeur par défaut est
de 7 jours.
– Tenez compte des besoins
en termes de stockage.
• Intervalle de collecte
– La valeur par défaut est de 60 minutes.
– Tenez compte des besoins en termes de stockage
et de l'impact sur les performances.
• Niveau de collecte
– Basic (désactive la plupart des fonctionnalités ADDM).
– Typical (recommandé).
– All (ajoute aux clichés des informations
complémentaires de réglage des instructions SQL).
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2009, Oracle and/or its affiliatesฺ
Oracle Database 10g : Administration Workshop I 12-14
Statistiques
Moniteur ADDM (Automatic AWR
> ADDM
Database Diagnostic Monitor) Fonctions
de conseil
Alertes
Tâches
• Exécution après chaque cliché AWR automatisées
• Surveillance de l'instance et détection
des goulets d'étranglement
• Stockage des résultats dans
le référentiel AWR
Clichés
EM ADDM
Résultats ADDM
AWR
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2009, Oracle and/or its affiliatesฺ
Oracle Database 10g : Administration Workshop I 12-15
Résultats ADDM
Résultats ADDM
Dans la page Automatic Database Diagnostic Monitor (ADDM), vous pouvez voir les
résultats détaillés de la dernière exécution d'ADDM. Database Time représente le temps
d'activité total des sessions dans la base de données au cours de la période d'analyse. Un
pourcentage d'impact spécifique est indiqué pour chacun des résultats. L'impact représente le
temps consommé par le problème par rapport au temps d'activité de la base de données au
cours de la période d'analyse. La diapositive ci-dessus présente les éléments suivants :
1. Le graphique indique que le nombre moyen d'utilisateurs actifs a énormément augmenté
à ce stade. En outre, le problème principal était un problème de type Wait.
2. L'icône indique que la sortie ADDM affichée au bas de la page correspond à ce point
dans le temps. Vous pouvez remonter dans le passé (pour consulter une analyse
antérieure) en cliquant sur les autres icônes.
3. Les résultats fournissent un bref récapitulatif des zones réglables trouvées par le
moniteur ADDM. Si vous cliquez sur un problème particulier, vous accédez à la page
Performance Finding Details.
Vous pouvez cliquer sur le bouton View Report pour obtenir des détails sur l'analyse de
performances sous la forme d'un état au format texte.
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2009, Oracle and/or its affiliatesฺ
Oracle Database 10g : Administration Workshop I 12-16
Recommandations ADDM
Recommandations ADDM
Dans la page Performance Finding Details, des recommandations indiquent comment
résoudre les problèmes détectés. Ces recommandations sont regroupées en différentes
catégories : Schema, SQL Tuning, Database Configuration et beaucoup d'autres. La colonne
Benefit (%) indique le gain maximal qui pourrait être obtenu sur le temps d'exécution de
la base de données suite à l'implémentation de la recommandation.
Le moniteur ADDM étudie diverses modifications du système et ses recommandations
peuvent porter sur les points suivants :
• Modifications matérielles : ajout de CPU ou modification de la configuration du sous-
système d'E/S.
• Configuration de la base de données : modification de la valeur de certains paramètres
d'initialisation.
• Modifications au niveau schéma : partitionnement par hachage d'une table ou d'un
index, ou utilisation de la gestion automatique de l'espace dans les segments.
• Modifications au niveau application : utilisation de l'option de mise en cache pour les
séquences ou utilisation de variables attachées (bind variables).
• Utilisation d'autres fonctions de conseil (advisors) : exécution de SQL Tuning
Advisor pour les instructions SQL à forte consommation de ressources ou exécution de
Segment Advisor pour les objets qui utilisent beaucoup d'espace.
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2009, Oracle and/or its affiliatesฺ
Oracle Database 10g : Administration Workshop I 12-17
Statistiques
AWR
Infrastructure de conseil ADDM
> Fonctions
de conseil
Alertes
Tâches
automatisées
Segment Advisor
Espace
Undo Advisor
Infrastructure de conseil
Les fonctions de conseil (advisors) sont des composants serveur qui fournissent des
informations sur l'utilisation des ressources et sur les performances des composants qu'elles
analysent.
En se basant sur les données capturées dans le référentiel AWR, le moniteur ADDM permet à
la base de données Oracle d'établir un diagnostic sur ses propres performances et de
déterminer la façon dont les problèmes identifiés peuvent être résolus. Le moniteur ADDM
s'exécute automatiquement après chaque capture de statistiques AWR. Il peut éventuellement
appeler d'autres fonctions de conseil.
Les avantages principaux fournis par l'infrastructure de conseil sont les suivants :
• Utilisation d'une interface uniforme pour toutes les fonctions de conseil.
• Toutes les fonctions de conseil ont une zone de stockage commune pour leurs données
source et pour leurs résultats : le référentiel de charge globale (Workload Repository).
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2009, Oracle and/or its affiliatesฺ
Oracle Database 10g : Administration Workshop I 12-18
Infrastructure de conseil (suite)
Moniteur ADDM (Automatic Database Diagnostic Monitor)
Il s'agit d'un outil d'analyse basé sur le serveur, qui examine les performances de la base
de données toutes les 60 minutes. L'objectif du moniteur ADDM est de détecter de
manière précoce les goulets d'étranglement du système et de recommander des corrections
avant toute dégradation perceptible des performances du système.
Memory Advisor
Memory Advisor est en fait un ensemble de plusieurs fonctions qui permettent de
déterminer les réglages les plus efficaces pour la zone de mémoire partagée, le cache de
tampons (buffer cache) de la base de données et la mémoire PGA (Program Global Area).
Outre ces fonctions de conseil, cette page offre un point de contrôle central de la zone de
mémoire LARGE POOL et de la zone de mémoire Java.
Mean-Time-To-Recover (MTTR) Advisor
MTTR Advisor vous permet de définir la durée nécessaire pour la récupération de la base
de données suite à une panne de l'instance.
Segment Advisor
Cette fonction de conseil recherche les tables et les index qui consomment plus d'espace
que nécessaire. Elle recherche toute consommation inutile d'espace au niveau tablespace
ou schéma et génère des scripts permettant de réduire cette consommation lorsque cela
s'avère possible.
SQL Access Advisor
Cette fonction de conseil analyse toutes les instructions SQL exécutées au cours d'une
période donnée, et suggère la création d'index ou de vues matérialisées supplémentaires
qui permettront d'améliorer les performances.
SQL Tuning Advisor
Cette fonction de conseil analyse une instruction SQL individuelle et fournit des
recommandations pour l'amélioration de ses performances. Les recommandations peuvent
inclure des actions telles que la réécriture de l'instruction, la modification de la
configuration de l'instance, ou encore l'ajout d'index. La fonction de conseil SQL Tuning
Advisor n'est pas appelée directement. Elle est appelée à partir d'autres outils, tels que Top
SQL ou Top Sessions, afin de faciliter l'optimisation des instructions SQL qui
consomment le plus.
Undo Management Advisor
Undo Management Advisor vous permet de déterminer la taille que doit avoir le
tablespace d'annulation pour la prise en charge d'une période de conservation donnée. La
gestion des annulations et l'utilisation de cette fonction de conseil sont étudiées dans le
chapitre "Gérer les données d'annulation".
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2009, Oracle and/or its affiliatesฺ
Oracle Database 10g : Administration Workshop I 12-19
Enterprise Manager et les fonctions de conseil
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2009, Oracle and/or its affiliatesฺ
Oracle Database 10g : Administration Workshop I 12-20
Package DBMS_ADVISOR
Procédure Description
CREATE_TASK Crée une tâche dans le référentiel
DELETE_TASK Supprime une tâche du référentiel
EXECUTE_TASK Lance l'exécution d'une tâche
INTERRUPT_TASK Suspend une tâche en cours d'exécution
GET_TASK_REPORT Crée et renvoie un état au format texte
pour la tâche indiquée
RESUME_TASK Entraîne la reprise d'une tâche suspendue
UPDATE_TASK_ATTRIBUTES Met à jour les attributs de tâche
SET_TASK_PARAMETER Modifie un paramètre de tâche
MARK_RECOMMENDATION Marque une ou plusieurs
recommandations comme acceptées,
rejetées ou ignorées
GET_TASK_SCRIPT Crée un script permettant d'implémenter
toutes les recommandations acceptées
Package DBMS_ADVISOR
Le package DBMS_ADVISOR contient l'ensemble des constantes et des déclarations de
procédure qui s'appliquent aux modules de conseil. Vous pouvez l'utiliser pour exécuter des
tâches via la ligne de commande.
Pour exécuter des procédures de conseil, vous devez disposer du privilège ADVISOR. Ce
privilège offre un accès complet aux procédures et aux vues des fonctions de conseil
(advisors).
Remarque : Pour plus d'informations sur toutes les procédures du package DBMS_ADVISOR,
reportez-vous au manuel Oracle Database PL/SQL Packages and Types Reference.
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2009, Oracle and/or its affiliatesฺ
Oracle Database 10g : Administration Workshop I 12-21
Statistiques
AWR
Alertes générées par le serveur ADDM
Fonctions
de conseil
> Alertes
Tâches
automatisées
Enterprise Manager
File d'attente
des alertes
serveur
Instance
Oracle La mesure de
performances
dépasse le seuil.
AWR
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2009, Oracle and/or its affiliatesฺ
Oracle Database 10g : Administration Workshop I 12-22
Alertes par défaut générées par le serveur
97 % : Seuil critique
85 % : Avertissement
Tablespace
Database Control : Tablespace
Mesures de Space Usage
performances SYSTEM
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2009, Oracle and/or its affiliatesฺ
Oracle Database 10g : Administration Workshop I 12-23
Définir des seuils
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2009, Oracle and/or its affiliatesฺ
Oracle Database 10g : Administration Workshop I 12-24
Créer et tester une alerte
1. Indiquez un seuil.
2. Créez un scénario de test.
3. Recherchez une alerte.
1
2
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2009, Oracle and/or its affiliatesฺ
Oracle Database 10g : Administration Workshop I 12-25
Notification des alertes
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2009, Oracle and/or its affiliatesฺ
Oracle Database 10g : Administration Workshop I 12-26
Notification des alertes (suite)
Vous pouvez éventuellement demander à ce qu'Enterprise Manager vous informe directement
lorsque des alertes spécifiques se produisent. Par exemple, si vous indiquez que vous souhaitez
recevoir une notification par courrier électronique pour les alertes critiques et que vous avez
défini un seuil critique concernant le temps de réponse du système pour chaque mesure de
performances appelée, vous pouvez envoyer un courrier électronique contenant un message
similaire au suivant :
Host Name=mydb.us.mycompany.com
Metric=Response Time per Call
Timestamp=08-NOV-2005 10:10:01 (GMT -7:00)
Severity=Critical
Message=Response time per call has exceeded the threshold.
See the latest ADDM analysis.
Rule Name= Rule
Owner=SYSMAN
Le courrier électronique contient un lien menant au nom d'hôte et à la dernière analyse ADDM.
Par défaut, les alertes correspondant à un état critique (telles que DB Down, Generic Alert Log
Error Status et Tablespace Used) sont associées à une notification. Toutefois, pour recevoir ces
notifications, vous devez effectuer la configuration suivante :
1. Dans n'importe quelle page de Database Control, cliquez sur le lien Setup, visible dans l'en-
tête et dans le pied de page.
2. Dans la page Setup, sélectionnez Notification Methods.
3. Entrez les informations requises dans la région Mail Server de la page Notifications
Methods.
Il existe d'autres méthodes de notification, notamment les scripts et les interruptions SNMP
(Simplified Network Management Protocol). Ces dernières peuvent être utilisées pour
communiquer avec des applications tierces.
Pour recevoir des notifications, procédez comme suit :
1. Dans n'importe quelle page de Database Control, cliquez sur le lien Preferences, visible
dans l'en-tête et dans le pied de page.
2. Dans la page Preferences, sélectionnez General. Entrez votre adresse électronique dans la
région E-mail Addresses.
3. Vous pouvez éventuellement modifier les règles de notification (par exemple, vous pouvez
modifier le niveau de gravité déclenchant la notification). Pour cela, sélectionnez
Notification Rules. La page Notification Rules apparaît. Pour plus d'informations sur la
configuration des règles de notification, reportez-vous au manuel Oracle Enterprise
Manager Advanced Configuration.
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2009, Oracle and/or its affiliatesฺ
Oracle Database 10g : Administration Workshop I 12-27
Réagir aux alertes
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2009, Oracle and/or its affiliatesฺ
Oracle Database 10g : Administration Workshop I 12-28
Types d'alerte et effacement des alertes
Basées sur des mesures
de performances
97 % : Seuil critique Effacées
Alertes avec seuil
(avec conservation
d'état) 85 % : Avertissement Effacées
MMON
DBA_OUTSTANDING_ALERTS DBA_ALERT_HISTORY
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2009, Oracle and/or its affiliatesฺ
Oracle Database 10g : Administration Workshop I 12-29
Statistiques
AWR
Tâches de maintenance ADDM
Fonctions
automatisées . de conseil
Alertes
> Tâches
• Le planificateur lance des travaux. automatisées
• Les travaux s'exécutent dans la fenêtre
de maintenance par défaut.
• Il est possible de limiter l'impact de
la maintenance sur le fonctionnement
normal à l'aide de Resource Manager.
Exemples de travaux de maintenance :
• Collecte des statistiques destinées
à l'optimiseur
• Collecte des informations relatives
aux segments
• Sauvegarde de la base de données
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2009, Oracle and/or its affiliatesฺ
Oracle Database 10g : Administration Workshop I 12-30
Synthèse
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2009, Oracle and/or its affiliatesฺ
Oracle Database 10g : Administration Workshop I 12-31
Présentation de l'exercice :
Maintenance proactive
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2009, Oracle and/or its affiliatesฺ
Oracle Database 10g : Administration Workshop I 12-32
Gestion des performances
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2009, Oracle and/or its affiliatesฺ
Objectifs
A la fin de ce chapitre, vous pourrez :
• utiliser Enterprise Manager pour surveiller
les performances
• régler les instructions SQL à l'aide de SQL Tuning
Advisor
• régler les instructions SQL à l'aide de SQL Access
Advisor
• utiliser la gestion automatique de la mémoire partagée
(ASSM -Automatic Shared Memory Management)
• utiliser Memory Advisor pour dimensionner
les mémoires tampon
• consulter les vues dynamiques des performances
• résoudre les problèmes concernant des objets
non valides et inutilisables
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2009, Oracle and/or its affiliatesฺ
Oracle Database 10g: Administration Workshop I 13-2
> Surv. performances
Tuning Advisor
Surveillance des performances Access Advisor
Mémoire
Statistiques
Objets non valides
Problèmes
Problèmes
d'allocation
d'allocation
de
demémoire
mémoire
Contention
Contentiondes
des Contention
Contention
périphé-riques
périphé-riques des
des
d'entrée/sortie
d'entrée/sortie ressources
ressources
?
Problèmes DBA Goulets
Problèmesliés
liés Goulets
au d'étranglement
aucode
codedes
des d'étranglement
applications réseau
réseau
applications
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2009, Oracle and/or its affiliatesฺ
Oracle Database 10g: Administration Workshop I 13-3
Surveillance des performances
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2009, Oracle and/or its affiliatesฺ
Oracle Database 10g: Administration Workshop I 13-4
Surveillance des performances
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2009, Oracle and/or its affiliatesฺ
Oracle Database 10g: Administration Workshop I 13-5
Surveillance des performances
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2009, Oracle and/or its affiliatesฺ
Oracle Database 10g: Administration Workshop I 13-6
Surveillance des performances :
Option Top Sessions
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2009, Oracle and/or its affiliatesฺ
Oracle Database 10g: Administration Workshop I 13-7
Surveillance des performances :
Option Top Services
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2009, Oracle and/or its affiliatesฺ
Oracle Database 10g: Administration Workshop I 13-8
Surv. performances
> Tuning Advisor
SQL Tuning Advisor : Access Advisor
Mémoire
Présentation Statistiques
Objets non valides
Mode d'analyse
SQL Tuning Restructurer
des instructions Advisor les instructions SQL
SQL
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2009, Oracle and/or its affiliatesฺ
Oracle Database 10g: Administration Workshop I 13-9
SQL Tuning Advisor :
Options et recommandations
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2009, Oracle and/or its affiliatesฺ
Oracle Database 10g: Administration Workshop I 13-10
Utiliser SQL Tuning Advisor
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2009, Oracle and/or its affiliatesฺ
Oracle Database 10g: Administration Workshop I 13-11
Utiliser SQL Tuning Advisor : Exemple
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2009, Oracle and/or its affiliatesฺ
Oracle Database 10g: Administration Workshop I 13-13
SQL Tuning Advisor :
Identifier les instructions SQL en double
Variables
attachées
candidates
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2009, Oracle and/or its affiliatesฺ
Oracle Database 10g: Administration Workshop I 13-14
Surv. performances
Tuning Advisor
Utiliser SQL Access Advisor > Access Advisor
Mémoire
Statistiques
Objets non valides
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2009, Oracle and/or its affiliatesฺ
Oracle Database 10g: Administration Workshop I 13-15
Utiliser SQL Access Advisor (suite)
5. Indiquez le mode Limited ou Comprehensive. Le mode Limited est plus rapide car il
se concentre sur les instructions consommant le plus de ressources.
6. Cliquez sur Next. La page SQL Access Advisor: Schedule apparaît. Acceptez
l'exécution immédiate (option par défaut) ou planifiez une exécution ultérieure.
7. Cliquez sur Next. La page SQL Access Advisor: Review apparaît.
8. Passez en revue les options sélectionnées et cliquez sur Submit pour lancer le travail.
Les résultats apparaissent sur la page Advisor Central. Les recommandations de SQL
Access Advisor sont classées selon les gains qu'elles permettent en termes de coût. Par
exemple, une recommandation peut être composée d'un script SQL comprenant une ou
plusieurs instructions CREATE INDEX, que vous pouvez implémenter en cliquant sur
Schedule Implementation.
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2009, Oracle and/or its affiliatesฺ
Oracle Database 10g: Administration Workshop I 13-16
Surv. performances
Tuning Advisor
Gérer les composants de mémoire Access Advisor
> Mémoire
Statistiques
Objets non valides
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2009, Oracle and/or its affiliatesฺ
Oracle Database 10g: Administration Workshop I 13-17
Activer la gestion automatique
de la mémoire partagée
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2009, Oracle and/or its affiliatesฺ
Oracle Database 10g: Administration Workshop I 13-18
Activer la gestion automatique de la mémoire partagée (suite)
Lorsque la fonction de gestion automatique de la mémoire partagée est activée, vous ne
devez pas, au départ, définir de paramètres d'initialisation pour les composants
spécifiques dont elle gère la mémoire. Si, après avoir vu les effets de l'allocation de
mémoire effectuée par cette fonction, vous décidez d'ajuster la mémoire allouée à
certains composants, vous pouvez indiquer des valeurs pour ces derniers. Ces valeurs
sont traitées comme des valeurs minimales pour les composants concernés. Cette
opération limite la quantité de mémoire disponible pour le réglage (tuning)
automatique, mais elle est utile si votre environnement requiert un dimensionnement
spécial non satisfait par la gestion automatique de la mémoire partagée. Les paramètres
d'initialisation concernés sont les suivants :
• SHARED_POOL_SIZE
• LARGE_POOL_SIZE
• JAVA_POOL_SIZE
• DB_CACHE_SIZE
• STREAMS_POOL_SIZE
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2009, Oracle and/or its affiliatesฺ
Oracle Database 10g: Administration Workshop I 13-19
Gérer manuellement
la mémoire partagée
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2009, Oracle and/or its affiliatesฺ
Oracle Database 10g: Administration Workshop I 13-20
Utiliser Memory Advisor
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2009, Oracle and/or its affiliatesฺ
Oracle Database 10g: Administration Workshop I 13-21
…
Access Advisor
Statistiques dynamiques Mémoire
> Statistiques
de performances Objets non valides
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2009, Oracle and/or its affiliatesฺ
Oracle Database 10g: Administration Workshop I 13-22
Statistiques dynamiques des performances (suite)
Afficher les statistiques au niveau système
Par exemple :
SQL> SELECT name, class, value FROM v$sysstat;
NAME CLASS VALUE
------------------------------- ------ ----------
...
table scans (short tables) 64 135116
table scans (long tables) 64 250
table scans (rowid ranges) 64 0
table scans (cache partitions) 64 3
table scans (direct read) 64 0
table scan rows gotten 64 14789836
table scan blocks gotten 64 558542
...
Les statistiques au niveau système sont classées en fonction du type de réglage (tuning)
et de l'objectif du débogage. Les différentes classes concernent l'activité générale de
l'instance, l'activité du tampon de journalisation (redo log buffer), le verrouillage,
l'activité du cache de tampons (buffer cache) de la base de données, etc.
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2009, Oracle and/or its affiliatesฺ
Oracle Database 10g: Administration Workshop I 13-23
Vues de résolution
des problèmes et de réglage
Instance/Base de données Disque
V$DATABASE V$DATAFILE
V$INSTANCE V$FILESTAT
V$PARAMETER V$LOG
V$SPPARAMETER V$LOG_HISTORY
V$SYSTEM_PARAMETER V$DBFILE
V$PROCESS V$TEMPFILE
V$BGPROCESS V$TEMPSEG_USAGE
V$PX_PROCESS_SYSSTAT V$SEGMENT_STATISTICS
V$SYSTEM_EVENT
Contention
Mémoire V$LOCK
V$BUFFER_POOL_STATISTICS V$UNDOSTAT
V$LIBRARYCACHE V$WAITSTAT
V$SGAINFO V$LATCH
V$PGASTAT
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2009, Oracle and/or its affiliatesฺ
Oracle Database 10g: Administration Workshop I 13-24
Surv. performances
Tuning Advisor
Objets non valides Access Advisor
Mémoire
et inutilisables Statistiques
> Objets non valides
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2009, Oracle and/or its affiliatesฺ
Oracle Database 10g: Administration Workshop I 13-25
Objets non valides et inutilisables (suite)
Les index inutilisables sont rendus valides via leur reconstruction, qui permet de
recalculer les pointeurs. La reconstruction d'un index inutilisable recrée l'index dans un
nouvel emplacement, puis l'index inutilisable est supprimé. Cette opération peut être
effectuée via Enterprise Manager ou par l'intermédiaire de commandes SQL :
ALTER INDEX HR.emp_empid_pk REBUILD;
ALTER INDEX HR.emp_empid_pk REBUILD ONLINE;
ALTER INDEX HR.email REBUILD TABLESPACE USERS;
Si la clause TABLESPACE est omise, l'index est reconstruit dans le même tablespace. La
clause REBUILD ONLINE permet aux utilisateurs de continuer de mettre à jour la table
de l'index pendant la reconstruction. (Sans le mot-clé ONLINE, les utilisateurs doivent
attendre la fin de la reconstruction pour effectuer une opération LMD sur la table
affectée.)
Enterprise Manager utilise l'action Reorganize pour réparer un index UNUSABLE.
Remarque : La reconstruction d'un index nécessite que de l'espace libre soit disponible
pour l'opération. Vérifiez que l'espace libre est suffisant avant de tenter la reconstruction.
Enterprise Manager vérifie automatiquement les besoins en termes d'espace.
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2009, Oracle and/or its affiliatesฺ
Oracle Database 10g: Administration Workshop I 13-26
Synthèse
Ce chapitre vous a permis d'apprendre à :
• utiliser Enterprise Manager pour surveiller
les performances
• régler les instructions SQL à l'aide de SQL Tuning
Advisor
• régler les instructions SQL à l'aide de SQL Access
Advisor
• utiliser la gestion automatique de la mémoire partagée
(ASMM - Automatic Shared Memory Management)
• utiliser Memory Advisor pour dimensionner les mémoires
tampon
• consulter les vues dynamiques des performances
• résoudre les problèmes concernant des objets
non valides et inutilisables
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2009, Oracle and/or its affiliatesฺ
Oracle Database 10g: Administration Workshop I 13-27
Présentation de l'exercice :
Surveiller et améliorer les performances
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2009, Oracle and/or its affiliatesฺ
Oracle Database 10g: Administration Workshop I 13-28
Concepts de sauvegarde
et de récupération
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2009, Oracle and/or its affiliatesฺ
Objectifs
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2009, Oracle and/or its affiliatesฺ
Oracle Database 10g : Administration Workshop I 14-2
Partie de votre travail
Catégories de panne
Les pannes peuvent être réparties en plusieurs grandes catégories :
• Echec d'une instruction : Une opération unique sur la base de données (sélection,
insertion, mise à jour ou suppression) échoue.
• Echec d'un processus utilisateur : Une session unique de la base de données échoue.
• Défaillance réseau : La connexion à la base de données est interrompue.
• Erreur utilisateur : Un utilisateur effectue une opération avec succès, mais cette
opération (suppression d'une table ou saisie de données incorrectes) est incorrecte.
• Echec d'une instance : L'instance de base de données s'arrête de manière inattendue.
• Défaillance physique : Un ou plusieurs fichiers de la base de données sont perdus (ils
ont été supprimés ou le disque a eu une défaillance).
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2009, Oracle and/or its affiliatesฺ
Oracle Database 10g : Administration Workshop I 14-4
Echec d'une instruction
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2009, Oracle and/or its affiliatesฺ
Oracle Database 10g : Administration Workshop I 14-5
Echec d'un processus utilisateur
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2009, Oracle and/or its affiliatesฺ
Oracle Database 10g : Administration Workshop I 14-6
Défaillance réseau
Défaillance réseau
La meilleure solution pour les défaillances réseau consiste à fournir des chemins redondants
pour les connexions réseau. Les processus d'écoute (listeners), connexions réseau et cartes
réseau de secours permettent de limiter la probabilité qu'une défaillance réseau n'affecte la
disponibilité du système.
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2009, Oracle and/or its affiliatesฺ
Oracle Database 10g : Administration Workshop I 14-7
Erreur utilisateur
Oracle LogMiner
Erreur utilisateur
Les utilisateurs peuvent supprimer ou modifier des données par inadvertance. Dans ce cas, le
DBA peut être amené à aider les utilisateurs à corriger l'erreur. Si les utilisateurs n'ont pas
encore validé la transaction ou quitté le programme, il suffit d'annuler (roll back) l'opération. En
revanche, s'ils ont déjà validé les modifications, les interrogations flashback peuvent être
utilisées pour déterminer les valeurs antérieures (les données peuvent alors être mises à jour de
manière à restaurer les informations d'origine) :
SQL> SELECT salary FROM employees WHERE employee_id=100;
SALARY
------
25
SQL> SELECT salary FROM employees
2 AS OF TIMESTAMP(SYSTIMESTAMP-INTERVAL’10’ minute)
3 WHERE employee_id=100;
SALARY
------
24000
Lorsque les interrogations flashback ne sont pas possibles parce que la période de conservation
des informations d'annulation a expiré, le DBA peut toujours récupérer les informations
d'origine via Oracle LogMiner.
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2009, Oracle and/or its affiliatesฺ
Oracle Database 10g : Administration Workshop I 14-8
Erreur utilisateur (suite)
Vous pouvez utiliser Oracle LogMiner pour interroger les fichiers de journalisation en
ligne (online) et les fichiers de journalisation archivés via une interface SQL. Les données
des transactions peuvent persister plus longtemps dans les fichiers de journalisation en
ligne que dans les segments d'annulation (undo). Par ailleurs, si vous avez configuré
l'archivage des informations de journalisation, celles-ci persistent jusqu'à la suppression
des fichiers archivés.
Oracle LogMiner est étudié dans le cours Oracle Database 10g : Administration
Workshop II et dans le manuel de référence Oracle Database: Utilities.
Les utilisateurs qui suppriment une table peuvent la récupérer dans la corbeille, via un
flashback de la table avant la suppression. Pour obtenir des instructions détaillées,
reportez-vous au chapitre intitulé "Procéder à un flashback de la base de données".
Si la corbeille a déjà été purgée, ou si l'utilisateur a supprimé la table avec l'option
PURGE, la table supprimée peut quand même être récupérée via la récupération jusqu'à un
point dans le temps, dès lors que la base de données a été correctement configurée.
La récupération jusqu'à un point dans le temps est étudiée dans le cours Oracle Database
10g : Administration Workshop II et dans le manuel Oracle Database: Backup and
Recovery Advanced User’s Guide.
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2009, Oracle and/or its affiliatesฺ
Oracle Database 10g : Administration Workshop I 14-9
Echec d'une instance
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2009, Oracle and/or its affiliatesฺ
Oracle Database 10g : Administration Workshop I 14-10
Processus en arrière-plan et récupération :
Point de reprise (CKPT)
Un point de reprise assure les opérations
SGA
suivantes :
Cache de
• Indication des opérations des processus tampons
DBWn au niveau de points de reprise de la base
de données
• Mise à jour de l'en-tête des fichiers
de données avec les informations
de point de reprise Processus
Database
• Mise à jour des fichiers de contrôle Writer
avec les informations de point de reprise (DBWn)
Point de Fichier de
reprise contrôle
(CKPT) Fichiers de
données
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2009, Oracle and/or its affiliatesฺ
Oracle Database 10g : Administration Workshop I 14-11
Processus en arrière-plan et récupération : Point de reprise (CKPT) (suite)
Les informations de point de reprise écrites par le processus CKPT incluent la position du
point de reprise, le numéro SCN (System Change Number), l'emplacement du fichier de
journalisation en ligne à partir duquel la récupération doit commencer, les informations
sur les journaux, etc.
Remarque : Le processus CKPT n'écrit pas de blocs de données sur le disque ni de blocs
de journalisation dans les fichiers de journalisation en ligne.
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2009, Oracle and/or its affiliatesฺ
Oracle Database 10g : Administration Workshop I 14-12
Processus en arrière-plan et récupération :
Fichiers de journalisation et LogWriter
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2009, Oracle and/or its affiliatesฺ
Oracle Database 10g : Administration Workshop I 14-13
Processus en arrière-plan et récupération :
Processus d'archivage (ARCn)
Le processus d'archivage (ARCn) :
SGA
• est un processus
en arrière-plan facultatif Tampon de
journalisation
• archive automatiquement
les fichiers de journalisation
en ligne lorsque le mode
ARCHIVELOG est configuré LogWriter
pour la base de données (LGWR) Fichiers de
journalisation
archivés
• préserve l'enregistrement
de toutes les modifications
apportées à la base
Fichier de Processus
de données journalisation d'archivage
en ligne
(ARCn)
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2009, Oracle and/or its affiliatesฺ
Oracle Database 10g : Administration Workshop I 14-14
Récupération d'instance
La récupération d'instance ou la récupération après panne :
• est provoquée par des tentatives d'ouverture d'une base
de données dont les fichiers n'ont pas été synchronisés
lors de l'arrêt
• est automatique
• utilise les informations stockées dans les groupes
de fichiers de journalisation pour synchroniser
les fichiers
• implique deux opérations distinctes :
– réimplémentation des modifications : les fichiers
de données sont restaurés dans leur état avant l'échec
de l'instance.
– annulation : les modifications effectuées mais non validées
sont annulées (l'état d'origine est rétabli).
Récupération d'instance
Oracle Database 10g procède à une récupération automatique suite à l'échec d'une instance. Il
suffit au DBA de démarrer l'instance normalement. L'instance monte les fichiers de contrôle,
puis tente d'ouvrir les fichiers de données. Si elle découvre que les fichiers de données n'ont
pas été synchronisés lors de l'arrêt, l'instance utilise les informations contenues dans les
groupes de fichiers de journalisation pour réimplémenter les modifications des fichiers de
données jusqu'à l'instant de l'arrêt. Ensuite, elle annule (roll back) les éventuelles transactions
non validées (car le tablespace d'annulation (undo) fait également l'objet de la
réimplémentation).
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2009, Oracle and/or its affiliatesฺ
Oracle Database 10g : Administration Workshop I 14-15
Phases de la récupération d'instance
1. Fichiers de données
désynchronisés Instance
2. Réimplémentation des SGA
modifications (journalisation)
3. Données validées et Processus en
non validées des fichiers arrière-plan
4. Annulation
Groupe de
5. Données validées dans Fichier de Fichier de fichiers de
données contrôle journalisation
les fichiers SCN : 140 SCN : 143 SCN 74-101
Groupe de
Fichier de Fichier de fichiers de
Annulation données contrôle journalisation
SCN : 129 SCN : 143 SCN 102-143
Fichier de
données
SCN : 99
Base de données
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2009, Oracle and/or its affiliatesฺ
Oracle Database 10g : Administration Workshop I 14-16
Régler la récupération d'instance
Transactions
MTTR Advisor
Pour obtenir de l'aide sur la définition de la durée moyenne de récupération (MTTR) cible,
sélectionnez Enterprise Manager > Administration > Advisor Central > MTTR Advisor.
MTTR Advisor convertit la valeur FAST_START_MTTR_TARGET en plusieurs paramètres
afin de permettre la récupération d'instance dans un délai aussi proche que possible de la
valeur souhaitée.
Si vous attribuez de façon explicite la valeur 0 au paramètre FAST_START_MTTR_TARGET,
le réglage (tuning) automatique des points de reprise est désactivé. Si vous indiquez
explicitement une autre valeur, la fonction Redo Log Advisor est également activée.
Vous devez attribuer au paramètre FAST_START_MTTR_TARGET une valeur conforme au
contrat de niveau de service de votre système. Plus la durée MTTR cible est faible, plus la
surcharge d'E/S est importante en raison de l'écriture de fichiers de données supplémentaires
(ce qui a un impact sur les performances). Toutefois, si vous attribuez une valeur trop élevée à
la durée MTTR, la récupération de l'instance suite à un échec est plus longue.
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2009, Oracle and/or its affiliatesฺ
Oracle Database 10g : Administration Workshop I 14-18
Défaillance physique
Défaillance physique
Oracle Corporation définit la défaillance physique comme une défaillance entraînant la perte
ou la corruption d'un ou plusieurs fichiers de base de données (fichiers de données, fichiers de
contrôle ou fichiers de journalisation).
La récupération suite à une défaillance physique nécessite la restauration et la récupération
des fichiers manquants. Pour garantir que la base de données pourra être récupérée suite à une
défaillance physique, appliquez les méthodes recommandées décrites dans les pages qui
suivent.
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2009, Oracle and/or its affiliatesฺ
Oracle Database 10g : Administration Workshop I 14-19
Configurer la base de données afin
d'optimiser la possibilité de récupération
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2009, Oracle and/or its affiliatesฺ
Oracle Database 10g : Administration Workshop I 14-20
Configurer la base de données afin d'optimiser la possibilité de récupération
(suite)
• Conserver des copies archivées des fichiers de journalisation : Si un fichier est
perdu et restauré à partir d'une sauvegarde, l'instance doit appliquer les informations
de journalisation afin de rétablir ce fichier jusqu'au dernier numéro SCN contenu
dans le fichier de contrôle. Par défaut, la base de données peut remplacer les
informations de journalisation une fois qu'elles ont été écrites dans les fichiers de
données. La base de données peut toutefois être configurée pour conserver les
informations de journalisation sous forme de copies archivées des fichiers de
journalisation. La base de données est alors configurée en mode ARCHIVELOG.
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2009, Oracle and/or its affiliatesฺ
Oracle Database 10g : Administration Workshop I 14-21
Fichiers de contrôle
Fichiers de
contrôle
Fichiers de contrôle
Un fichier de contrôle est un petit fichier binaire qui décrit la structure de la base de données.
Il doit être accessible en écriture par le serveur Oracle chaque fois que la base de données est
montée ou ouverte. La base de données ne peut pas être montée sans ce fichier. S'il est perdu,
il est nécessaire de le récupérer ou de le recréer. La base de données doit disposer d'un
minimum de deux fichiers de contrôle (si possible trois), sur des disques distincts, afin de
limiter l'impact de la perte de l'un d'entre eux.
Si la base de données a été créée avec l'assistant DBCA (Database Configuration Assistant),
vous disposez de trois fichiers de contrôle (à moins que vous n'ayez modifié ce paramétrage
avant la création de la base).
La perte d'un fichier de contrôle entraîne l'échec de l'instance, car tous les fichiers de contrôle
doivent être disponibles à tout moment. Cependant, la récupération consiste simplement à
copier l'un des autres fichiers de contrôle. La récupération suite à la perte de tous les fichiers
de contrôle est beaucoup plus difficile, mais ce scénario n'est généralement pas
catastrophique.
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2009, Oracle and/or its affiliatesฺ
Oracle Database 10g : Administration Workshop I 14-22
Fichiers de journalisation
Multiplexez les groupes de fichiers de journalisation afin
de protéger la base contre toute défaillance physique
ou perte de données. Il est recommandé de respecter
les règles suivantes :
• Au moins deux membres (fichiers) par groupe
• Chaque membre sur un disque distinct
• Chaque membre sur un contrôleur de disque distinct
Remarque : L'écriture
dans les fichiers Disque 1 Membre Membre Membre
1 2 1
de journalisation
a un impact important Disque 2 Membre Membre Membre
sur les performances. 2 1 2
Groupe 1 Groupe 2 Groupe 3
Fichiers de journalisation
Les groupes de fichiers de journalisation sont constitués d'un ou de plusieurs fichiers de
journalisation (fichiers redo log). Chaque fichier journal d'un groupe est la copie des autres.
Oracle recommande que les groupes de fichiers de journalisation comportent au moins deux
fichiers, ceux-ci étant répartis sur des disques ou contrôleurs distincts. Ainsi, vous ne risquez
pas de perdre un groupe entier suite à la défaillance d'un périphérique unique.
La perte d'un groupe de fichiers de journalisation entier est l'une des défaillances physiques
les plus graves, car elle peut entraîner la perte de données. La perte d'un membre unique d'un
groupe de fichiers de journalisation comportant plusieurs membres n'est pas grave et n'affecte
pas le fonctionnement de la base de données. Elle donne simplement lieu à la publication
d'une alerte dans le fichier d'alertes. En revanche, la récupération suite à la perte d'un groupe
de fichiers de journalisation entier nécessite des techniques de récupération avancées. Elle est
étudiée dans le cours Oracle Database 10g : Administration Workshop II.
Rappelez-vous que les fichiers de journalisation influencent fortement les performances de la
base de données, car aucune validation ne peut être effectuée tant que les informations
relatives à la transaction n'ont pas été écrites dans les fichiers de journalisation. Vous devez
placer les fichiers de journalisation sur les disques les plus rapides, gérés par les contrôleurs
les plus rapides. Si possible, ne placez aucun autre fichier de base de données sur les mêmes
disques que les fichiers de journalisation. Etant donné qu'un seul groupe fait l'objet d'une
écriture à un instant donné, il n'est pas gênant que des membres de plusieurs groupes résident
sur un même disque.
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2009, Oracle and/or its affiliatesฺ
Oracle Database 10g : Administration Workshop I 14-23
Multiplexer le fichier de journalisation
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2009, Oracle and/or its affiliatesฺ
Oracle Database 10g : Administration Workshop I 14-24
Fichiers de journalisation archivés
Pour préserver les informations de journalisation,
créez des copies archivées des fichiers de
journalisation en procédant de la façon suivante.
1. Indiquez la convention d'appellation des fichiers
de journalisation archivés.
2. Indiquez l'emplacement d'un ou de plusieurs
fichiers de journalisation archivés.
3. Passez la base de données en mode
ARCHIVELOG.
Fichiers de Fichiers de
journalisation journalisation
en ligne archivés
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2009, Oracle and/or its affiliatesฺ
Oracle Database 10g : Administration Workshop I 14-25
Fichier de journalisation archivé :
Appellation et destinations
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2009, Oracle and/or its affiliatesฺ
Oracle Database 10g : Administration Workshop I 14-26
Fichier de journalisation archivé : Appellation et destinations (suite)
La destination par défaut (numéro 10) envoie les fichiers de journalisation archivés vers
un emplacement déterminé par le paramètre d'initialisation
DB_RECOVERY_FILE_DEST. DB_RECOVERY_FILE_DEST est également appelé
zone de récupération rapide. Cette destination est visible en bas de la page de propriétés
Configure Recovery Settings, sous le nom Flash Recovery Area Location. Si vous ne
souhaitez pas que les archives soient envoyées vers cet emplacement, supprimez
USE_DB_RECOVERY_FILE_DEST.
Pour modifier les paramètres de récupération, vous devez être connecté en tant que
SYSDBA ou SYSOPER.
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2009, Oracle and/or its affiliatesฺ
Oracle Database 10g : Administration Workshop I 14-27
Mode ARCHIVELOG
Mode ARCHIVELOG
Le fait de placer la base de données en mode ARCHIVELOG empêche le remplacement des
fichiers de journalisation tant qu'ils n'ont pas été archivés. La commande SQL suivante permet
de placer la base de données en mode ARCHIVELOG :
SQL> ALTER DATABASE ARCHIVELOG;
Cette commande ne peut être exécutée que lorsque la base de données est dans l'état MOUNT.
L'instance doit donc être redémarrée pour terminer cette dernière étape. Vous êtes invité à saisir
les informations d'identification et de connexion (credentials) auprès du système d'exploitation
et de la base de données suite au redémarrage de la base. Les informations d'identification et de
connexion à la base de données doivent concerner un utilisateur doté des privilèges SYSDBA.
Une fois l'instance redémarrée, les modifications apportées aux processus d'archivage, au format
des fichiers de journalisation et à leur destination prennent effet.
Lorsque la base de données est en mode NOARCHIVELOG (par défaut), la récupération n'est
possible que jusqu'à l'instant de la dernière sauvegarde. Toutes les transactions effectuées après
cette sauvegarde sont perdues.
En mode ARCHIVELOG, la récupération est possible jusqu'à l'instant de la dernière validation
(commit). La plupart des bases de données de production s'exécutent en mode ARCHIVELOG.
Remarque : Sauvegardez la base de données après l'avoir placée en mode ARCHIVELOG car
elle ne peut être récupérée qu'à partir de la dernière sauvegarde effectuée dans ce mode.
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2009, Oracle and/or its affiliatesฺ
Oracle Database 10g : Administration Workshop I 14-28
Synthèse
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2009, Oracle and/or its affiliatesฺ
Oracle Database 10g : Administration Workshop I 14-29
Présentation de l'exercice :
Configurer la base de données afin
d'optimiser la possibilité de récupération
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2009, Oracle and/or its affiliatesฺ
Oracle Database 10g : Administration Workshop I 14-30
Procéder à des sauvegardes
de la base de données
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2009, Oracle and/or its affiliatesฺ
Objectifs
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2009, Oracle and/or its affiliatesฺ
Oracle Database 10g : Administration Workshop I 15-2
Solutions de sauvegarde : Présentation
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2009, Oracle and/or its affiliatesฺ
Oracle Database 10g : Administration Workshop I 15-3
Oracle Secure Backup
• Oracle Secure Backup et RMAN fournissent
une solution de sauvegarde de bout en bout pour
les environnements Oracle :
– Gestion centralisée des sauvegardes sur bande pour
les données du système de fichiers et la base Oracle
– Couche de gestion des supports très bien intégrée
pour les sauvegardes RMAN
– Sauvegarde de n'importe quelles données n'importe
où sur le réseau
• Une ressource de support technique unique
pour l'intégralité de la solution de sauvegarde
accélère la résolution des problèmes.
• Il est ainsi possible d'assurer une protection fiable
des données plus simplement et pour un coût moindre.
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2009, Oracle and/or its affiliatesฺ
Oracle Database 10g : Administration Workshop I 15-4
Sauvegarde gérée par l'utilisateur
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2009, Oracle and/or its affiliatesฺ
Oracle Database 10g : Administration Workshop I 15-5
Terminologie
Terminologie
Une sauvegarde totale de la base inclut tous les fichiers de données et au moins un fichier de
contrôle. (Rappelez-vous que tous les fichiers de contrôle d'une base de données sont identiques.)
Les sauvegardes partielles de la bas peuvent inclure un nombre quelconque de tablespaces, un
nombre quelconque de fichiers de données et inclure ou non un fichier de contrôle.
Les sauvegardes complètes créent une copie de chaque bloc qui contient des données et figure
dans les fichiers sauvegardés.
Les sauvegardes incrémentielles créent une copie de tous les blocs de données ayant changé
depuis une précédente sauvegarde. Oracle Database 10g prend en charge deux niveaux de
sauvegarde incrémentielle (0 et 1). Une sauvegarde de niveau 0 ou sauvegarde de ligne de base
(baseline) est équivalente à une sauvegarde complète et contient tous les blocs de données. Une
sauvegarde de niveau 1 ou sauvegarde incrémentielle inclut tous les blocs de base de données
ayant changé depuis la dernière sauvegarde de niveau 0. Pour procéder à une restauration à partir
de sauvegardes incrémentielles, vous devez commencer par restaurer la sauvegarde de ligne de
base, puis la sauvegarde incrémentielle.
Les sauvegardes base fermée (également appelées sauvegardes cohérentes) sont effectuées
alors que la base de données n'est pas ouverte. Elles sont cohérentes car, au moment de la
sauvegarde, les SCN (System Change Number) figurant dans les en-têtes des fichiers de données
correspondent aux SCN figurant dans les fichiers de contrôle.
Les sauvegardes base ouverte (également appelées sauvegardes incohérentes ou à chaud) sont
effectuées alors que la base de données est ouverte. Elles sont incohérentes car, lorsque la base
est ouverte, il n'est pas certain que les fichiers de données soient synchronisés avec les fichiers de
contrôle. L'utilisation des sauvegardes incohérentes nécessite une récupération.
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2009, Oracle and/or its affiliatesฺ
Oracle Database 10g : Administration Workshop I 15-6
Terminologie
Copies d'image
Terminologie (suite)
Les copies d'image sont des doubles des fichiers de données ou des fichiers de journalisation
archivés (semblables à la simple copie des fichiers à l'aide des commandes du système
d'exploitation).
Les jeux de sauvegarde sont des copies d'un ou plusieurs fichiers de données ou fichiers de
journalisation archivés. Avec les jeux de sauvegarde, les blocs de données vides ne sont pas
stockés, ce qui fait que les jeux de sauvegarde occupent moins d'espace sur le disque ou sur bande.
Les jeux de sauvegarde peuvent être compressés afin de réduire encore davantage les besoins de la
sauvegarde en termes d'espace.
Les copies d'image doivent être sauvegardées sur le disque. Les jeux de sauvegarde peuvent être
envoyés sur le disque ou directement sur la bande.
L'avantage de la création d'une sauvegarde en tant que copie d'image est l'amélioration de la
granularité de l'opération de restauration. Avec une copie d'image, seuls le ou les fichiers doivent
être extraits de la bande. Avec les jeux de sauvegarde, l'ensemble du jeu de sauvegarde doit être
extrait de la bande pour permettre l'extraction du ou des fichiers nécessaires.
L'avantage de la création de sauvegardes sous forme de jeux de sauvegarde réside dans une
utilisation plus efficace de l'espace. La plupart des bases de données contiennent 20 % ou plus de
blocs vides. Les copies d'image sauvegardent chaque bloc de données, même s'il est vide. Les jeux
de sauvegarde limitent considérablement l'espace requis par la sauvegarde. Dans la plupart des
systèmes, les avantages des jeux de sauvegarde sont supérieurs à ceux des copies d'image.
Une sauvegarde d'une base de données exécutée en mode NOARCHIVELOG doit avoir les trois
attributs suivants : Offline Backup, Full Backup et Whole Database. Les bases de données en mode
ARCHIVELOG
Unauthorized peuvent
reproduction utiliser toutes
or distribution les optionsCopyright©
prohibitedฺ de sauvegarde.
2009, Oracle and/or its affiliatesฺ
Oracle Database 10g : Administration Workshop I 15-7
Recovery Manager (RMAN)
• Enterprise Manager utilise RMAN (Recovery Manager)
pour effectuer les opérations de sauvegarde et
de récupération.
• RMAN :
– est un client en mode ligne de commande pour
les fonctions avancées
– présente un langage puissant de contrôle et
de génération de script
– comporte une API publiée permettant l'interface avec la
plupart des logiciels de sauvegarde les plus populaires
– sauvegarde les fichiers de données, les fichiers de
contrôle, les fichiers de journalisation archivés et
les fichiers de paramètres serveur (SPFILE)
– sauvegarde les fichiers sur disque ou sur bande
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2009, Oracle and/or its affiliatesฺ
Oracle Database 10g : Administration Workshop I 15-8
Configurer les paramètres de sauvegarde
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2009, Oracle and/or its affiliatesฺ
Oracle Database 10g : Administration Workshop I 15-11
Planifier des sauvegardes : Options
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2009, Oracle and/or its affiliatesฺ
Oracle Database 10g : Administration Workshop I 15-12
Planifier des sauvegardes : Paramètres
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2009, Oracle and/or its affiliatesฺ
Oracle Database 10g : Administration Workshop I 15-13
Planifier des sauvegardes : Planification
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2009, Oracle and/or its affiliatesฺ
Oracle Database 10g : Administration Workshop I 15-14
Planifier des sauvegardes : Récapitulatif
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2009, Oracle and/or its affiliatesฺ
Oracle Database 10g : Administration Workshop I 15-15
Sauvegarder le fichier de contrôle
dans un fichier trace
Les fichiers de contrôle offrent une option
de sauvegarde supplémentaire.
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2009, Oracle and/or its affiliatesฺ
Oracle Database 10g : Administration Workshop I 15-16
Sauvegarder le fichier de contrôle dans un fichier trace (suite)
Le fichier trace contient des informations sur les destinations des fichiers de journalisation
archivés, suivies des commandes permettant de créer les fichiers de contrôle de remplacement, puis
de récupérer la base de données :
CREATE CONTROLFILE REUSE DATABASE ORCL NORESETLOGS ARCHIVELOG
MAXLOGFILES 16
MAXLOGMEMBERS 3
MAXDATAFILES 100
MAXINSTANCES 8
MAXLOGHISTORY 226
LOGFILE
GROUP 1 '/oracle/oradata/orcl/redo01.log' SIZE 10M,
GROUP 2 '/oracle/oradata/orcl/redo02.log' SIZE 10M,
GROUP 3 '/oracle/oradata/orcl/redo03.log' SIZE 10M
DATAFILE
'/oracle/oradata/orcl/system01.dbf',
'/oracle/oradata/orcl/undotbs01.dbf',
'/oracle/oradata/orcl/sysaux01.dbf',
'/oracle/oradata/orcl/users01.dbf',
'/oracle/oradata/orcl/example01.dbf'
CHARACTER SET WE8ISO8859P1;
-- Commands to re-create incarnation table
-- Below log names MUST be changed to existing filenames on
-- disk. Any one log file from each branch can be used to
-- re-create incarnation records.
-- ALTER DATABASE REGISTER LOGFILE
'/oracle/flash_recovery_area/ORCL/archivelog/2003_12_05/
o1_mf_1_1_%u_.arc';
-- ALTER DATABASE REGISTER LOGFILE
'/oracle/flash_recovery_area/ORCL/archivelog/2003_12_05/
o1_mf_1_1_%u_.arc';
-- Recovery is required if any of the data files are restored
backups,
-- or if the last shutdown was not normal or immediate.
RECOVER DATABASE
-- All logs need archiving and a log switch is needed.
ALTER SYSTEM ARCHIVE LOG ALL;
-- Database can now be opened normally.
ALTER DATABASE OPEN;
-- Commands to add tempfiles to temporary tablespaces.
-- Online tempfiles have complete space information.
-- Other tempfiles may require adjustment.
ALTER TABLESPACE TEMP ADD TEMPFILE
'/oracle/oradata/orcl/temp01.dbf'
SIZE 20971520 REUSE AUTOEXTEND ON NEXT 655360
MAXSIZE 32767M;
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2009, Oracle and/or its affiliatesฺ
Oracle Database 10g : Administration Workshop I 15-17
Gérer les sauvegardes
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2009, Oracle and/or its affiliatesฺ
Oracle Database 10g : Administration Workshop I 15-18
Zone de récupération rapide
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2009, Oracle and/or its affiliatesฺ
Oracle Database 10g : Administration Workshop I 15-19
Synthèse
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2009, Oracle and/or its affiliatesฺ
Oracle Database 10g : Administration Workshop I 15-20
Présentation de l'exercice :
Créer des sauvegardes de la base de données
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2009, Oracle and/or its affiliatesฺ
Oracle Database 10g : Administration Workshop I 15-21
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2009, Oracle and/or its affiliatesฺ
Procéder à une récupération
de la base de données
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2009, Oracle and/or its affiliatesฺ
Objectifs
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2009, Oracle and/or its affiliatesฺ
Oracle Database 10g : Administration Workshop I 16-2
Ouvrir une base de données
NOMOUNT
SHUTDOWN
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2009, Oracle and/or its affiliatesฺ
Oracle Database 10g : Administration Workshop I 16-3
Ouvrir une base de données (suite)
- L'instance vérifie que tous les fichiers de données connus du fichier de contrôle sont
présents, sauf s'ils ont été mis hors ligne. Les fichiers hors ligne ne sont pas vérifiés
tant que l'administrateur n'a pas tenté de les mettre en ligne. L'administrateur peut
mettre un fichier de données hors ligne et ouvrir l'instance dès lors que le fichier de
données n'appartient pas au tablespace SYSTEM ou UNDO. Si des fichiers sont
manquants, une erreur indiquant le premier fichier manquant est renvoyée à
l'administrateur et l'instance reste à l'état MOUNT. Lorsque l'instance trouve des
fichiers manquants, seul le premier fichier provoquant un problème apparaît dans le
message d'erreur. Pour trouver tous les fichiers nécessitant une récupération,
l'administrateur peut examiner la vue dynamique des performances
v$recover_file afin d'obtenir la liste complète des fichiers nécessitant une
attention :
SQL> startup
ORACLE instance started.
Total System Global Area 171966464 bytes
Fixed Size 775608 bytes
Variable Size 145762888 bytes
Database Buffers 25165824 bytes
Redo Buffers 262144 bytes
Database mounted.
ORA-01157: cannot identify/lock data file 4 - see DBWR trace
file
ORA-01110: data file 4: '/oracle/oradata/orcl/users01.dbf'
SQL> SELECT name, error
2 FROM v$datafile
3 JOIN v$recover_file
4 USING (file#);
NAME ERROR
----------------------------------- ------------------
/oracle/oradata/orcl/users01.dbf FILE NOT FOUND
/oracle/oradata/orcl/example01.dbf FILE NOT FOUND
- L'instance vérifie que tous les fichiers de données qui ne sont pas hors ligne ou en
lecture seule sont synchronisés avec le fichier de contrôle. Si nécessaire, une
récupération d'instance est automatiquement effectuée. Si un fichier est
désynchronisé à un point tel qu'il ne peut pas être récupéré à l'aide des groupes de
fichiers de journalisation en ligne, l'administrateur doit procéder à une restauration
physique. Si des fichiers nécessitent une restauration physique, un message d'erreur
indiquant le premier fichier nécessitant la restauration est renvoyé à l'administrateur
et l'instance reste à l'état MOUNT :
ORA-01113: file 4 needs media recovery
ORA-01110: data file 4: '/oracle/oradata/orcl/users01.dbf'
Là encore, la vue v$recover_file indique la liste complète des fichiers
nécessitant une attention. Les fichiers qui sont présents et qui nécessitent une
restauration physique sont également répertoriés, mais aucun message d'erreur
n'apparaît.
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2009, Oracle and/or its affiliatesฺ
Oracle Database 10g : Administration Workshop I 16-4
Modifier le statut d'une instance
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2009, Oracle and/or its affiliatesฺ
Oracle Database 10g : Administration Workshop I 16-5
Maintenir une base de données ouverte
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2009, Oracle and/or its affiliatesฺ
Oracle Database 10g : Administration Workshop I 16-6
Perte d'un fichier de contrôle
Fichiers de contrôle
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2009, Oracle and/or its affiliatesฺ
Oracle Database 10g : Administration Workshop I 16-7
Perte d'un fichier de journalisation
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2009, Oracle and/or its affiliatesฺ
Oracle Database 10g : Administration Workshop I 16-8
Perte d'un fichier de données en mode
NOARCHIVELOG
Si la base de données est en mode NOARCHIVELOG
et qu'un fichier de données est perdu, procédez
de la manière suivante :
1. Arrêtez l'instance si elle n'est pas déjà arrêtée.
2. Restaurez l'ensemble de la base de données à partir
de la sauvegarde, y compris tous les fichiers de données
et fichiers de contrôle.
3. Ouvrez la base de données.
4. Demandez aux utilisateurs d'entrer de nouveau toutes
les modifications apportées depuis la dernière sauvegarde.
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2009, Oracle and/or its affiliatesฺ
Oracle Database 10g : Administration Workshop I 16-9
Perte d'un fichier de données non
essentiel en mode ARCHIVELOG
Utilisateurs
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2009, Oracle and/or its affiliatesฺ
Oracle Database 10g : Administration Workshop I 16-10
Perte d'un fichier de données essentiel
pour le système en mode ARCHIVELOG
Utilisateurs
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2009, Oracle and/or its affiliatesฺ
Oracle Database 10g : Administration Workshop I 16-11
Synthèse
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2009, Oracle and/or its affiliatesฺ
Oracle Database 10g : Administration Workshop I 16-12
Présentation de l'exercice :
Procéder à une récupération
de la base de données
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2009, Oracle and/or its affiliatesฺ
Oracle Database 10g : Administration Workshop I 16-13
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2009, Oracle and/or its affiliatesฺ
Procéder à un flashback
de la base de données
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2009, Oracle and/or its affiliatesฺ
Objectifs
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2009, Oracle and/or its affiliatesฺ
Oracle Database 10g : Administration Workshop I 17-2
> Présentation
Avantages de la technologie Flashback Database
Table
Drop
Query
Versions
• La technologie Flashback constitue une avancée Transaction
révolutionnaire en matière de récupération.
• Les techniques de récupération traditionnelles
sont lentes.
– Il faut restaurer l'intégralité de la base de données
ou d'un fichier (la restauration ne se limite pas
aux données incorrectes).
– Chaque modification du journal de la base
de données doit être examinée.
• Le flashback est rapide.
– Les modifications sont indexées par ligne
et par transaction.
– Seules les données modifiées sont restaurées.
• Les commandes Flashback sont faciles à utiliser.
– Aucune procédure complexe à plusieurs étapes
n'est impliquée.
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2009, Oracle and/or its affiliatesฺ
Oracle Database 10g : Administration Workshop I 17-3
Dans quel cas utiliser
la technologie Flashback ?
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2009, Oracle and/or its affiliatesฺ
Oracle Database 10g : Administration Workshop I 17-5
Présentation
Flashback Database : Présentation > Database
Table
Drop
Query
Versions
L'opération Flashback Database : Transaction
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2009, Oracle and/or its affiliatesฺ
Oracle Database 10g : Administration Workshop I 17-6
Flashback Database :
Réduction de la durée de restauration
Application
Sauvegarde Erreur des journaux
utilisateur vers l'avant
Application des
Sauvegarde journaux Flashback
vers l'arrière
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2009, Oracle and/or its affiliatesฺ
Oracle Database 10g : Administration Workshop I 17-7
Flashback Database :
Eléments à prendre en compte
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2009, Oracle and/or its affiliatesฺ
Oracle Database 10g : Administration Workshop I 17-8
Flashback Database : Limitations
Vous ne pouvez pas utiliser Flashback Database
dans les situations suivantes :
• Le fichier de contrôle a été restauré ou recréé.
• Un tablespace a été supprimé.
• De l'espace a été récupéré dans un fichier
de données.
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2009, Oracle and/or its affiliatesฺ
Oracle Database 10g : Administration Workshop I 17-9
Activer Flashback Database
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2009, Oracle and/or its affiliatesฺ
Oracle Database 10g : Administration Workshop I 17-10
Présentation
Database
Flashback Table : Présentation > Table
Drop
Query
Versions
Transaction
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2009, Oracle and/or its affiliatesฺ
Oracle Database 10g : Administration Workshop I 17-11
Flashback Table
Flashback Table
Avec Flashback Table, vous pouvez récupérer une ou plusieurs tables jusqu'à un point dans le
temps spécifique sans restaurer de sauvegarde. Lorsque vous utilisez cette fonctionnalité, les
données des tables et des objets associés (index, contraintes, déclencheurs (triggers), etc.) sont
restaurées. Les données utilisées pour satisfaire une demande Flashback Table sont extraites
du tablespace d'annulation.
Vous pouvez utiliser Flashback Versions Query et Flashback Transaction Query pour
déterminer l'heure de flashback appropriée. Pour plus d'informations sur l'utilisation de ces
fonctionnalités, reportez-vous au manuel Oracle Database Concepts.
Flashback Table permet aux utilisateurs de récupérer facilement et rapidement une table suite
à des modifications accidentelles sans l'intervention d'un administrateur de base de données
(DBA). Vous devez octroyer le privilège système FLASHBACK TABLE ou FLASHBACK ANY
TABLE à tout utilisateur qui emploie la fonctionnalité Flashback Table. Vous devez
également lui octroyer les privilèges objet SELECT, INSERT, DELETE et ALTER.
Vous pouvez utiliser Enterprise Manager pour procéder à un flashback d'une table. L'assistant
vous guide tout au long du processus.
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2009, Oracle and/or its affiliatesฺ
Oracle Database 10g : Administration Workshop I 17-12
Activer le déplacement de lignes
(row movement) dans une table
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2009, Oracle and/or its affiliatesฺ
Oracle Database 10g : Administration Workshop I 17-13
Procéder au flashback d'une table
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2009, Oracle and/or its affiliatesฺ
Oracle Database 10g : Administration Workshop I 17-14
Procéder au flashback d'une table (suite)
7. La page "Perform Object Level Recovery: Review" apparaît. Passez les informations
en revue et cliquez sur Submit. La page Confirmation apparaît.
Remarque : Vous pouvez également procéder au flashback de tables à partir du lien
Tables dans la région Schema de la page Administration.
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2009, Oracle and/or its affiliatesฺ
Oracle Database 10g : Administration Workshop I 17-15
Flashback Table :
Eléments à prendre en compte
• La commande FLASHBACK TABLE est exécutée
en tant que transaction unique, acquérant des
verrous LMD de type Exclusive.
• Les statistiques ne font pas partie d'un flashback.
• Les index actuels et les objets dépendants
sont conservés.
• Les opérations Flashback Table :
– ne peuvent pas être réalisées sur des tables
système
– ne peuvent pas concerner des opérations LDD
– sont écrites dans le fichier d'alertes
– génèrent des données d'annulation (undo)
et de journalisation (redo)
Corbeille
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2009, Oracle and/or its affiliatesฺ
Oracle Database 10g : Administration Workshop I 17-17
Procéder à un flashback
de tables supprimées
via Enterprise Manager
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2009, Oracle and/or its affiliatesฺ
Oracle Database 10g : Administration Workshop I 17-18
Flashback Drop :
Eléments à prendre en compte
• Flashback Drop ne fonctionne pas pour les tables qui :
– résident dans le tablespace SYSTEM
– utilisent des stratégies d'audit détaillé (FGA) ou VPD
(Virtual Private Database)
– résident dans un tablespace géré au moyen du
dictionnaire
– ont été purgées, manuellement, ou automatiquement en
cas de manque d'espace
• Les dépendances suivantes ne sont pas protégées :
– Index de jointure bitmap
– Journaux des vues matérialisées
– Contraintes d'intégrité référentielle
– Index supprimés avant les tables
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2009, Oracle and/or its affiliatesฺ
Oracle Database 10g : Administration Workshop I 17-19
Présentation
Database
Navigation temporelle grâce aux Table
Drop
fonctionnalités Flashback > Query
Versions
Transaction
• Flashback Query
– Interrogez toutes les données à un point
dans le temps spécifique.
• Flashback Versions Query
– Consultez toutes les versions
d'une ligne entre deux points
dans le temps.
– Consultez les transactions
Temps
ayant modifié la ligne.
• Flashback Transaction Query
– Affichez toutes Transaction 3
les modifications
apportées par Transaction 2
Flashback
une transaction. Transaction 1
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2009, Oracle and/or its affiliatesฺ
Oracle Database 10g : Administration Workshop I 17-20
Flashback Query : Présentation
t1 t2
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2009, Oracle and/or its affiliatesฺ
Oracle Database 10g : Administration Workshop I 17-21
Flashback Query : Exemple
11:00 11:10
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2009, Oracle and/or its affiliatesฺ
Oracle Database 10g : Administration Workshop I 17-22
Présentation
Flashback Versions Query : Database
Table
Présentation Drop
Query
> Versions
Transaction 0 Transaction 1 Transaction 2 Transaction
200
t1 t2
SELECT versions_xid, salary FROM employees
VERSIONS BETWEEN TIMESTAMP t1 and t2
WHERE employee_id = 200;
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2009, Oracle and/or its affiliatesฺ
Oracle Database 10g : Administration Workshop I 17-23
Flashback Versions Query
via Enterprise Manager
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2009, Oracle and/or its affiliatesฺ
Oracle Database 10g : Administration Workshop I 17-24
Flashback Versions Query :
Eléments à prendre en compte
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2009, Oracle and/or its affiliatesฺ
Oracle Database 10g : Administration Workshop I 17-25
Présentation
Présentation Drop
Query
Versions
> Transaction
FLASHBACK_TRANSACTION_QUERY
DBA
Instruction
LMD Instruction SQL
erronée d'annulation
Utilisateur
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2009, Oracle and/or its affiliatesฺ
Oracle Database 10g : Administration Workshop I 17-26
Flashback Transaction Query
via Enterprise Manager
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2009, Oracle and/or its affiliatesฺ
Oracle Database 10g : Administration Workshop I 17-27
Flashback Transaction Query :
Eléments à prendre en compte
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2009, Oracle and/or its affiliatesฺ
Oracle Database 10g : Administration Workshop I 17-28
Synthèse
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2009, Oracle and/or its affiliatesฺ
Oracle Database 10g : Administration Workshop I 17-29
Présentation de l'exercice :
Utiliser Flashback
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2009, Oracle and/or its affiliatesฺ
Oracle Database 10g : Administration Workshop I 17-30
Déplacer des données
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2009, Oracle and/or its affiliatesฺ
Objectifs Objet répertoire
SQL*Loader
Data Pump
- Export
- Import
Table externe
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2009, Oracle and/or its affiliatesฺ
Oracle Database 10g : Administration Workshop I 18-2
Déplacer des données :
Architecture générale
Data Pump
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2009, Oracle and/or its affiliatesฺ
Oracle Database 10g : Administration Workshop I 18-4
Objet répertoire : Présentation .
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2009, Oracle and/or its affiliatesฺ
Oracle Database 10g : Administration Workshop I 18-5
Créer des objets répertoire
3
5
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2009, Oracle and/or its affiliatesฺ
Oracle Database 10g : Administration Workshop I 18-6
Objet répertoire
SQL*Loader : Présentation > SQL*Loader
Data Pump
- Export
- Import
Table externe
Fichiers
de données Fichier de
d'entrée contrôle
SQL*Loader
Rejet
Traitement des champs
Acceptation
Abandon
Enregistrement de la sélection
Sélection
Fichier des
Serveur Oracle enregistrements
Fichier Rejet refusés
de rebut Insertion
(facultatif)
Fichier
journal
SQL*Loader : Présentation
L'utilitaire SQL*Loader charge les données de fichiers externes dans des tables d'une base de
données Oracle. Cet utilitaire dispose d'un puissant moteur d'analyse (parse) des données, qui
ne limite que très peu le format des données du fichier. Les fichiers utilisés par SQL*Loader
sont les suivants :
Fichiers de données d'entrée : SQL*Loader lit les données à partir d'un ou plusieurs fichiers
(ou équivalents de fichiers dans le système d'exploitation), indiqués dans le fichier de
contrôle. Du point de vue de SQL*Loader, les données du fichier sont organisées en
enregistrements. Un fichier de données peut se présenter dans un format d'enregistrement de
type fixe, un format d'enregistrement de type variable ou un format d'enregistrement de type
"flux". Ce format peut être défini dans le fichier de contrôle via le paramètre INFILE. Si
aucun format d'enregistrement n'est défini, le format d'enregistrement de type "flux" est utilisé
par défaut.
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2009, Oracle and/or its affiliatesฺ
Oracle Database 10g : Administration Workshop I 18-7
SQL*Loader : Présentation (suite)
Fichier de contrôle : Le fichier de contrôle est un fichier texte écrit dans un langage
pouvant être interprété par SQL*Loader. Le fichier de contrôle indique à SQL*Loader où
trouver les données, comment les analyser et les interpréter, où insérer les données, etc.
Bien que ce ne soit pas explicitement défini, le fichier de contrôle du programme de
chargement est composé de trois sections.
• La première section contient des informations relatives à la session :
- Options globales, telles que le nom du fichier de données d'entrée et les
enregistrements à ignorer.
- Clauses INFILE indiquant où trouver les données d'entrée.
- Données à charger.
• La deuxième section est constituée d'un ou plusieurs blocs INTO TABLE. Chacun
de ces blocs contient des informations sur la table dans laquelle les données doivent
être chargées, telles que le nom et les colonnes de la table.
• La troisième section est facultative et, si elle est présente, contient les données
d'entrée.
Fichier journal : Lorsque l'exécution de SQL*Loader commence, un fichier journal est
créé. Si le système ne peut pas créer ce fichier journal, l'exécution se termine. Le fichier
journal contient un récapitulatif détaillé de la charge, notamment une description des
erreurs qui se sont produites pendant le chargement.
Fichier des enregistrements refusés (bad file) : Ce fichier contient les enregistrements
qui sont rejetés, soit par SQL*Loader, soit par la base de données Oracle. Les
enregistrements de fichiers de données sont rejetés par SQL*Loader lorsque le format
d'entrée n'est pas valide. Une fois que SQL*Loader a accepté le traitement d'un
enregistrement de fichiers de données, ce dernier est envoyé à la base de données Oracle
en vue de son insertion dans une table sous forme de ligne. Si la base de données Oracle
détermine que la ligne est valide, elle est insérée dans la table. Si la ligne est considérée
comme non valide, l'enregistrement est rejeté et SQL*Loader le place dans le fichier des
enregistrements refusés.
Fichier de rebut : Ce fichier est créé uniquement si nécessaire, et uniquement si vous
avez indiqué qu'un fichier de rebut doit être activé. Le fichier de rebut contient les
enregistrements qui sont exclus du chargement parce qu'ils ne satisfont à aucun des
critères de sélection indiqués dans le fichier de contrôle.
Pour plus d'informations sur SQL*Loader, reportez-vous au manuel Oracle Database
Utilities.
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2009, Oracle and/or its affiliatesฺ
Oracle Database 10g : Administration Workshop I 18-8
Charger des données avec SQL*Loader
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2009, Oracle and/or its affiliatesฺ
Oracle Database 10g : Administration Workshop I 18-9
Fichier de contrôle SQL*Loader
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2009, Oracle and/or its affiliatesฺ
Oracle Database 10g : Administration Workshop I 18-10
Fichier de contrôle SQL*Loader (suite)
9 TRAILING NULLCOLS
10 (hiredate SYSDATE,
deptno POSITION(1:2) INTEGER EXTERNAL(3)
NULLIF deptno=BLANKS,
job POSITION(7:14) CHAR TERMINATED BY WHITESPACE
NULLIF job=BLANKS "UPPER(:job)",
mgr POSITION(28:31) INTEGER EXTERNAL
TERMINATED BY WHITESPACE, NULLIF mgr=BLANKS,
ename POSITION(34:41) CHAR
TERMINATED BY WHITESPACE "UPPER(:ename)",
empno POSITION(45) INTEGER EXTERNAL
TERMINATED BY WHITESPACE,
sal POSITION(51) CHAR TERMINATED BY WHITESPACE
"TO_NUMBER(:sal,’$99,999.99’)",
comm INTEGER EXTERNAL ENCLOSED BY ’(’ AND ’%’
":comm * 100"
)
1. Les commentaires peuvent apparaître n'importe où dans la section de commande du fichier,
mais ils ne doivent pas apparaître dans les données. Faites précéder les commentaires de deux
traits d'union. Tout le texte situé à droite du double trait d'union est ignoré, jusqu'à la fin de la
ligne.
2. L'instruction LOAD DATA indique à SQL*Loader le début d'un nouveau chargement de
données. Si vous poursuivez un chargement dont la progression a été interrompue, utilisez
l'instruction CONTINUE LOAD DATA.
3. Le mot-clé INFILE indique le nom d'un fichier contenant les données que vous souhaitez
charger.
4. Le mot-clé BADFILE indique le nom d'un fichier dans lequel sont placés les enregistrements
refusés.
5. Le mot-clé DISCARDFILE indique le nom d'un fichier dans lequel sont placés les
enregistrements écartés.
6. Le mot-clé APPEND est l'une des options que vous pouvez utiliser lors du chargement de
données dans une table qui n'est pas vide. Pour charger les données dans une table vide,
utilisez le mot-clé INSERT.
7. Le mot-clé INTO TABLE permet d'identifier les tables, les champs et les types de données. Il
définit la relation entre les enregistrements dans le fichier de données et les tables de la base.
8. La clause WHEN indique une ou plusieurs conditions relatives aux champs auxquelles chaque
enregistrement doit satisfaire pour que SQL*Loader puisse charger les données. Dans
l'exemple considéré, SQL*Loader ne charge l'enregistrement que si le 57e caractère est un
point décimal. Ce point décimal délimite les dollars et les cents dans le champ et entraîne le
rejet des enregistrements si SAL ne comporte aucune valeur.
9. La clause TRAILING NULLCOLS invite SQL*Loader à considérer comme une colonne
NULL toute colonne positionnée de manière relative et qui n'est pas présente dans
l'enregistrement.
10. Le reste du fichier de contrôle contient la liste des champs, qui fournit des informations sur les
formats de colonne dans la table chargée.
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2009, Oracle and/or its affiliatesฺ
Oracle Database 10g : Administration Workshop I 18-11
Méthodes de chargement
Insertion de Ecritures
données de blocs
Table
HWM
Chargement des données par chemin Chargement des données par chemin direct
conventionnel
Utilise une opération COMMIT Utilise des enregistrements de données
(opération plus rapide)
Applique toutes les contraintes Applique uniquement les contraintes PRIMARY KEY,
UNIQUE et NOT NULL
Peut charger les données dans des Ne charge pas les données dans des clusters
tables clusterisées
Permet aux autres utilisateurs de Empêche les autres utilisateurs d'apporter des
modifier les tables pendant l'opération modifications aux tables pendant l'opération de
de chargement chargement
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2009, Oracle and/or its affiliatesฺ
Oracle Database 10g : Administration Workshop I 18-13
Objet répertoire
SQL*Loader
Data Pump : Présentation > Data Pump
- Export
- Import
En tant que fonctionnalité basée sur le serveur Table externe
pour le déplacement à haute vitesse de données
et de métadonnées, Data Pump :
• peut être appelé via DBMS_DATAPUMP
• fournit les outils suivants :
– expdp
– impdp
– interface Web
• fournit des méthodes d'accès aux données :
– chemin direct
– tables externes
• se détache des travaux à longue durée d'exécution
et s'y rattache
• redémarre les travaux Data Pump
Copyright © 2005, Oracle. Tous droits réservés.
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2009, Oracle and/or its affiliatesฺ
Oracle Database 10g : Administration Workshop I 18-14
Data Pump : Présentation (suite)
La possibilité de se détacher temporairement des travaux à longue durée d'exécution et de
s'y rattacher sans affecter le travail lui-même vous permet de surveiller les travaux à partir
de plusieurs emplacements pendant leur exécution. Tous les travaux Data Pump arrêtés
peuvent être redémarrés sans perte de données à condition que les métainformations
restent inchangées. Peu importe que le travail ait été arrêté volontairement ou
involontairement en raison d'une panne.
Remarque : Data Pump faisant partie intégrante d'Oracle Database 10g, il est disponible
dans toutes les configurations. Toutefois, le parallélisme est disponible uniquement dans
Enterprise Edition.
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2009, Oracle and/or its affiliatesฺ
Oracle Database 10g : Administration Workshop I 18-15
Data Pump : Avantages
Source Cible
Travail Processus
Data Pump serveur
Base de Base de
données données
Jeu de Jeu de
Table fichiers fichiers Table
maître dump dump maître
"Mode réseau"
Processus Travail
serveur Data Pump
Client
impdp
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2009, Oracle and/or its affiliatesฺ
Oracle Database 10g : Administration Workshop I 18-19
Fonctionnalité avancée : Echantillonnage
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2009, Oracle and/or its affiliatesฺ
Oracle Database 10g : Administration Workshop I 18-20
Options d'export : Fichiers
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2009, Oracle and/or its affiliatesฺ
Oracle Database 10g : Administration Workshop I 18-21
Emplacement des fichiers Data Pump
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2009, Oracle and/or its affiliatesฺ
Oracle Database 10g : Administration Workshop I 18-22
Emplacement des fichiers Data Pump (suite)
• Vous n'avez pas besoin de créer manuellement un objet répertoire avant d'utiliser
Data Pump Export. Un objet répertoire par défaut est créé pour chaque base de
données nouvellement créée ou mise à niveau par un script sous UNIX ou Windows.
Cet objet répertoire est nommé DATA_PUMP_DIR. L'accès à ce répertoire est
automatiquement octroyé aux rôles EXP_FULL_DATABASE et
IMP_FULL_DATABASE. Le répertoire DATA_PUMP_DIR est créé à l'un des
emplacements suivants :
- <ORACLE_BASE>/admin/DB_UNIQUE_NAME
- <ORACLE_HOME>/admin/DB_UNIQUE_NAME
La spécification de chemin exacte du répertoire DATA_PUMP_DIR varie selon la
valeur des variables d'environnement système ORACLE_BASE et ORACLE_HOME,
et selon l'existence du sous-répertoire DATA_PUMP_DIR. Si la variable
ORACLE_BASE est définie sur le système cible, sa valeur est utilisée. Sinon, c'est la
valeur de la variable ORACLE_HOME qui est utilisée. Si, pour une raison ou pour
une autre, le sous-répertoire DATA_PUMP_DIR est introuvable, le chemin par
défaut suivant est utilisé : ORACLE_HOME/rdbms/log.
Remarque : Dans tous les cas, vous devez disposer des privilèges d'accès appropriés à
l'objet répertoire pour l'opération tentée. Pour un export, vous avez besoin d'un accès en
écriture sur tous les fichiers. Pour un import, vous avez besoin d'un accès en lecture sur les
fichiers dump et d'un accès en écriture sur les fichiers journaux et les fichiers SQL.
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2009, Oracle and/or its affiliatesฺ
Oracle Database 10g : Administration Workshop I 18-23
Planifier et exécuter un travail
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2009, Oracle and/or its affiliatesฺ
Oracle Database 10g : Administration Workshop I 18-24
Nom et taille des fichiers Data Pump
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2009, Oracle and/or its affiliatesฺ
Oracle Database 10g : Administration Workshop I 18-25
Objet répertoire
SQL*Loader
Data Pump Import Data Pump
- Export
> - Import
Table externe
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2009, Oracle and/or its affiliatesฺ
Oracle Database 10g : Administration Workshop I 18-26
Data Pump Import : Transformations
REMAP_DATAFILE = 'C:\oradata\tbs6.f':'/u1/tbs6.f'
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2009, Oracle and/or its affiliatesฺ
Oracle Database 10g : Administration Workshop I 18-27
Data Pump Import : Transformations
Exécution
en parallèle
Fichiers
générés
Exemple :
expdp hr/hr FULL=y
DUMPFILE=dp_dir1:full1%U.dmp, dp_dir2:full2%U.dmp
FILESIZE=2G PARALLEL=3
LOGFILE=dp_dir1:expfull.log JOB_NAME=expfull
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2009, Oracle and/or its affiliatesฺ
Oracle Database 10g : Administration Workshop I 18-29
Paramètres d'initialisation
des performances
• Les performances de Data Pump peuvent être
affectées par :
– DISK_ASYNCH_IO=TRUE
– DB_BLOCK_CHECKING=FALSE
– DB_BLOCK_CHECKSUM=FALSE
• Pour un parallélisme maximal, les paramètres suivants
doivent avoir des valeurs élevées :
– PROCESSES
– SESSIONS
– PARALLEL_MAX_SERVERS
• Les paramètres suivants doivent définir
une taille importante :
– SHARED_POOL_SIZE
– UNDO_TABLESPACE
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2009, Oracle and/or its affiliatesฺ
Oracle Database 10g : Administration Workshop I 18-30
Chemin d'accès Data Pump :
Considérations
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2009, Oracle and/or its affiliatesฺ
Oracle Database 10g : Administration Workshop I 18-31
Utiliser Enterprise Manager pour surveiller
les travaux Data Pump
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2009, Oracle and/or its affiliatesฺ
Oracle Database 10g : Administration Workshop I 18-32
Objet répertoire
SQL*Loader
Remplissage de tables externes Data Pump
- Export
- Import
> Table externe
Déchargement Chargement
Fichiers externes
Tables (format propriétaire) Tables
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2009, Oracle and/or its affiliatesฺ
Oracle Database 10g : Administration Workshop I 18-33
Utiliser des tables externes
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2009, Oracle and/or its affiliatesฺ
Oracle Database 10g : Administration Workshop I 18-34
Remplissage d'une table externe avec
ORACLE_DATAPUMP
CREATE TABLE emp_ext
(first_name, last_name, department_name)
ORGANIZATION EXTERNAL
(
TYPE ORACLE_DATAPUMP
DEFAULT DIRECTORY ext_dir
LOCATION ('emp1.exp','emp2.exp','emp3.exp')
)
PARALLEL
AS
SELECT e.first_name,e.last_name,d.department_name
FROM employees e, departments d
WHERE e.department_id = d.department_id AND
d.department_name in
('Marketing', 'Purchasing');
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2009, Oracle and/or its affiliatesฺ
Oracle Database 10g : Administration Workshop I 18-35
Remplissage d'une table externe avec
ORACLE_LOADER
CREATE TABLE extab_employees
(employee_id NUMBER(4),
first_name VARCHAR2(20),
last_name VARCHAR2(25),
hire_date DATE)
ORGANIZATION EXTERNAL
( TYPE ORACLE_LOADER DEFAULT DIRECTORY extab_dat_dir
ACCESS PARAMETERS
( records delimited by newline
badfile extab_bad_dir:'empxt%a_%p.bad'
logfile extab_log_dir:'empxt%a_%p.log'
fields terminated by ','
missing field values are null
( employee_id, first_name, last_name,
hire_date char date_format date mask "dd-mon-yyyy"))
LOCATION ('empxt1.dat', 'empxt2.dat') )
PARALLEL REJECT LIMIT UNLIMITED;
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2009, Oracle and/or its affiliatesฺ
Oracle Database 10g : Administration Workshop I 18-36
Dictionnaire de données
Dictionnaire de données
[DBA| ALL| USER]_EXTERNAL_TABLES répertorient les attributs spécifiques des
tables externes dans la base de données.
[DBA| ALL| USER]_EXTERNAL_LOCATIONS répertorient les sources de données pour
les tables externes.
[DBA| ALL| USER]_TABLES décrivent les tables relationnelles dans la base de données.
[DBA| ALL| USER]_TAB_COLUMNS décrivent les colonnes des tables, vues et clusters
dans la base de données.
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2009, Oracle and/or its affiliatesฺ
Oracle Database 10g : Administration Workshop I 18-37
Synthèse
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2009, Oracle and/or its affiliatesฺ
Oracle Database 10g : Administration Workshop I 18-38
Présentation de l'exercice :
Déplacer des données
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2009, Oracle and/or its affiliatesฺ
Oracle Database 10g : Administration Workshop I 18-39
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2009, Oracle and/or its affiliatesฺ