Académique Documents
Professionnel Documents
Culture Documents
Harald van Breederode Oracle, JD Edwards, PeopleSoft et Siebel sont des marques déposées
Lachlan Williams d'Oracle Corporation et/ou de ses filiales. Tout autre nom de produit ou de
société peut être un marque de son propriétaire.
Rédacteurs
Arijit Ghosh
Malavika Jinka
Smita Kommini
Concepteur graphique
Maheshwari Krishnamurthy
Editeurs
Glenn Austin
Jayanthy Keshavamurthy
Srividya Rameshkumar
Table des matières
1 Introduction
Objectifs 1-2
Contexte du cursus de formation 1-3
Planning recommandé 1-4
Innovations d'Oracle Database 1-5
Cloud computing d'entreprise 1-6
Evaluer vos besoins en matière de récupération 1-7
Catégories de pannes 1-10
Défaillances de données 1-11
Solutions de protection des données Oracle 1-12
Aide sous forme de vues d'ensemble et de conseils 1-13
Solution de sauvegarde complète d'Oracle 1-14
Oracle Recovery Manager (RMAN) intégré 1-15
Oracle Secure Backup 1-16
Module Oracle Secure Backup pour le cloud 1-17
Oracle Data Guard : Présentation 1-18
Base de secours physique : Architecture Redo Apply 1-19
Oracle Active Data Guard 1-20
Base de secours logique : Architecture SQL Apply 1-21
Architecture MAA d'Oracle : Robustesse et intégration de la
protection des données 1-22
Architecture de base de l'atelier 1-23
Quiz 1-24
Synthèse 1-25
Présentation des exercices : Explorer l'environnement du cours 1-26
2 Mise en route
Objectifs 2-2
Noms des composants élémentaires d'un serveur Oracle Database 2-3
Architecture d'un serveur de base de données Oracle : Présentation 2-4
Rappels sur l'architecture de stockage de la base de données 2-6
Noms des structures logiques et physiques d'une base de données 2-8
Rappels sur l'architecture des processus 2-10
Structures des processus 2-11
Revue des processus 2-13
iii
Rappels sur le processus DBWn (Database Writer) 2-14
Rappels sur le processus LGWR (Log Writer) 2-15
Rappels sur le processus CKPT (Checkpoint) 2-17
Rappels sur le processus SMON (System Monitor) 2-18
Rappels sur le processus PMON (Process Monitor) 2-19
Rappels sur le processus ARCn (Archiver) 2-20
Exercice sur les noms de processus 2-21
Mode de journal de la base de données 2-23
Base de données ORCL avec ASM 2-24
Faciliter la gestion de la base de données avec Oracle Restart 2-26
Outils d'administration de base de données Oracle 2-28
Principe de séparation des tâches d'administration 2-30
Se connecter à RMAN et à une base de données cible 2-31
Utilisation du code SQL dans RMAN 2-32
Approche rapide de la résolution d'un problème 2-33
Effectuer la restauration et la récupération d'une base de données en mode
NOARCHIVELOG 2-34
Quiz 2-35
Synthèse 2-36
Présentation des exercices : Mise en route 2-37
iv
Quiz 3-27
Synthèse 3-28
Présentation des exercices : Configuration en vue de la récupération 3-29
v
Option 3 : Délestage des sauvegardes vers une base de secours physique dans un
environnement Data Guard 5-10
Sauvegarder des tablespaces en lecture seule 5-11
Sauvegarde et récupération de data warehouse : Méthodes recommandées 5-12
Terminologie supplémentaire en matière de sauvegarde 5-13
Créer des jeux de sauvegarde 5-14
Créer des copies d'image 5-15
Créer une sauvegarde de l'ensemble de la base de données 5-16
Quiz 5-18
Synthèse 5-21
Présentation des exercices : Mettre au point une stratégie de sauvegarde 5-22
Etude de cas 1 : Protéger une base de données OLTP 5-23
Etude de cas 2 : Protéger une base de données DSS 5-24
Etude de cas 3 : Protéger la base de données du catalogue de restauration 5-25
vi
Créer des sauvegardes RMAN multisections 7-11
Créer des copies proxy 7-12
Créer des jeux de sauvegarde duplexés à l'aide de la commande
BACKUP COPIES 7-13
Créer des sauvegardes de jeux de sauvegarde 7-14
Concepts relatifs aux sauvegardes d'archivage 7-15
Créer des sauvegardes d'archivage avec RMAN 7-17
Gérer les sauvegardes d'archivage 7-18
Sauvegarder des fichiers de récupération 7-19
Sauvegarder le fichier de contrôle dans un fichier trace 7-20
Enregistrer des fichiers de sauvegarde supplémentaires dans le catalogue 7-21
Sauvegarder les métadonnées de groupes de disques ASM 7-22
Quiz 7-23
Synthèse 7-25
Présentation des exercices : Sauvegarder des fichiers supplémentaires 7-26
vii
Option DEBUG 9-9
Interpréter les piles d'erreurs RMAN 9-10
Data Recovery Advisor 9-11
Défaillances de données : Exemples 9-14
Data Recovery Advisor : Interface de ligne de commande RMAN 9-15
Afficher la liste des défaillances de données 9-16
Obtenir un conseil de réparation 9-18
Exécuter les réparations 9-19
Classifier (et fermer) les défaillances 9-20
Vues de la fonction de conseil Data Recovery Advisor 9-21
Quiz 9-22
Définition de la corruption de bloc 9-25
Symptômes d'une corruption de bloc : ORA-01578 9-26
Comment traiter une corruption 9-27
Définir les paramètres pour la détection des corruptions 9-28
Restauration physique de bloc 9-29
Prérequis à la restauration physique de bloc 9-30
Récupérer des blocs individuels 9-31
Méthode recommandée : Vérifications proactives 9-32
Rechercher les corruptions de bloc 9-33
Réparation automatique de blocs : Base principale 9-34
Réparation automatique de blocs : Base de secours physique 9-35
Synthèse 9-36
Présentation des exercices : Diagnostiquer une défaillance de base
de données 9-37
viii
Récupération avec l'option RESETLOGS 10-18
Quiz 10-19
Synthèse 10-23
Présentation des exercices : Déterminer des procédures de récupération 10-24
Etude de cas 1 10-25
Etude de cas 2 10-26
Etude de cas 3 10-27
ix
Récupération suite à la perte d'un groupe de fichiers de journalisation 12-14
Vider un fichier journal 12-15
Recréer un fichier d'authentification par mot de passe 12-16
Récupération suite à la perte d'un tablespace d'index 12-18
Récupérer un tablespace en lecture seule 12-19
Récupération automatique d'un fichier Tempfile 12-20
Restaurer et récupérer la base de données sur un nouvel hôte 12-21
Préparer la restauration de la base de données sur un nouvel hôte 12-22
Restaurer la base de données sur un nouvel hôte 12-23
Effectuer une récupération après sinistre 12-27
Restaurer des sauvegardes cryptées 12-29
Quiz 12-30
Synthèse 12-31
Présentation des exercices : Procéder à des récupérations 12-32
Présentation des exercices : Utiliser le cryptage RMAN 12-33
x
Synthèse 13-29
Présentation des exercices : Effectuer des sauvegardes et des restaurations RMAN
basées sur un support de bande 13-30
xi
15 Flashback Database
Objectifs 15-2
Flashback Database : Protection permanente des données 15-3
Flashback Database 15-4
Architecture de Flashback Database 15-5
Configurer Flashback Database 15-6
Flashback Database : Exemples 15-7
Flashback Database : Eléments à prendre en compte 15-8
Surveiller les informations Flashback Database 15-9
Points de restauration garantis 15-11
Flashback Database et points de restauration garantis 15-12
Recommandations concernant Flashback Database 15-14
Quiz 15-16
Synthèse 15-18
Présentation des exercices : Flashback Database 15-19
16 Transport de données
Objectifs 16-2
Transport de données entre plates-formes 16-3
Transport de données avec temps d'arrêt minimal 16-4
Transporter un tablespace avec des copies d'image 16-5
Déterminer le format endian d'une plate-forme 16-6
Utiliser la commande RMAN CONVERT 16-7
Quiz 16-8
Transporter des données avec des jeux de sauvegarde 16-9
Etapes de la procédure : 1 16-10
Etapes de la procédure : 2 16-11
Transport de base de données : Utilisation de fichiers de données 16-12
Procédure de transport de base de données 16-13
Transport de base de données : Conversion 16-14
Transport d'une base de données : Exemple 1 16-15
Transport d'une base de données : Exemple 2 16-16
Transport de base de données : Considérations 16-17
Transport d'une base de données avec des jeux de sauvegarde : 1 16-18
Transport d'une base de données avec des jeux de sauvegarde : 2 16-19
Transporter des tablespaces incohérents 16-20
Quiz 16-21
Synthèse 16-23
Présentation de l'exercice 16-24
xii
17 Effectuer une récupération jusqu'à un point dans le temps
Objectifs 17-2
Récupération jusqu'à un point dans le temps 17-3
Quand utiliser une opération TSPITR ? 17-4
Terminologie liée à la récupération PITR 17-5
Récupération de tablespace jusqu'à un point dans le temps (TSPITR) : Architecture
17-6
Préparation d'une opération PITR 17-8
Déterminer le point cible approprié 17-9
Déterminer les tablespaces à inclure dans l'ensemble de récupération 17-10
Identifier les objets qui seront perdus 17-11
Récupération PITR de tablespace (TSPITR) avec RMAN 17-12
Opération TSPITR entièrement automatisée 17-13
Améliorer les performances d'une opération TSPITR 17-14
Effectuer une opération RMAN TSPITR avec une instance auxiliaire gérée par
RMAN 17-15
Effectuer une opération RMAN TSPITR à l'aide de votre propre
instance auxiliaire 17-16
Résoudre les problèmes liés à l'opération TSPITR 17-17
Quiz 17-18
Récupérer des tables à partir de sauvegardes 17-19
Récupération de tables : Résumé en images 17-20
Prérequis et restrictions 17-21
Indiquer le point de récupération 17-22
Etapes d'une récupération de table : 1/2 17-23
Etapes d'une récupération de table : 2/2 17-24
Quiz 17-25
Synthèse 17-26
Présentation de l'exercice 17-27
xiii
Créer une base de données dupliquée à partir de sauvegardes 18-10
Créer un fichier de paramètres d'initialisation pour l'instance auxiliaire 18-11
Indiquer de nouveaux noms pour la destination 18-12
Utiliser les clauses SET NEWNAME 18-13
Variables de substitution pour SET NEWNAME 18-14
Définir des paramètres pour les noms de fichier 18-15
Démarrer l'instance en mode NOMOUNT 18-17
Vérifier la disponibilité des sauvegardes et des fichiers de journalisation archivés
18-18
Allouer des canaux auxiliaires 18-19
Comprendre l'opération de duplication RMAN 18-20
Indiquer des options pour la commande DUPLICATE 18-22
Utiliser d'autres options de la commande DUPLICATE 18-23
Variables de substitution pour SET NEWNAME 18-24
Quiz 18-25
Synthèse 18-26
Présentation des exercices : Dupliquer une base de données 18-27
xiv
Multiplexage RMAN 19-23
Performances de restauration et de récupération : Recommandations 19-25
Quiz 19-26
Synthèse 19-27
Aucun exercice 19-28
20 Présentation de l'atelier
Objectifs 20-2
Structure et démarche de l'atelier 20-3
Exigences associées à la base de données de l'atelier 20-5
Diagnostiquer les défaillances 20-6
Synthèse 20-7
A Recherches personnelles
Présentation A-2
Menus Enterprise Manager Database Express A-5
Traitement des requêtes dans EM Express A-6
Oracle SQL Developer : Connexions A-7
Oracle SQL Developer : Actions de DBA A-8
Autres ressources pour approfondir votre formation A-9
Informations complémentaires A-10
Cours ILT Oracle University recommandés A-11
xv
C Cloud computing
Introduction C-2
Présentation du cloud computing C-3
Caractéristiques essentielles du cloud computing C-6
Modèles de services offerts en cloud computing C-7
Modèles de déploiement de cloud computing C-8
Avantages partagés du cloud computing C-9
Pourquoi implémenter un cloud ? C-11
Oracle et le cloud computing C-13
Clouds Enterprise Manager Cloud Control 12c C-14
Cycle de vie de la gestion de cloud C-16
Quiz C-18
xvi
Introduction
• Avant de suivre ce cours, vous devez vous assurer d'avoir les connaissances requises sur
Oracle Database 12c, SQL et PL/SQL (pour une utilisation en tant que DBA). Il est
également recommandé d'être familiarisé avec Oracle Enterprise Manager Cloud
Control 12c.
• Pendant ce cours, vous atteindrez les objectifs indiqués dans la diapositive.
• Après ce cours, vous saurez gérer la sauvegarde et la récupération des bases de données
Oracle en général et vous pourrez enrichir votre formation en suivant des cours qui traitent
de la sauvegarde et de la récupération dans certains environnements et pour certaines
options, par exemple :
- Oracle Database 12c: Managing Multitenant
- Oracle Database 12c: RAC Administration
- Oracle Database 12c: Data Guard Administration
- Oracle Database 12c: Security
Pour connaître les offres de formation les plus récentes, consultez le site
http://education.oracle.com.
Ce planning est simplement un cadre général. L'organisation exacte du cours est fixée par le
formateur.
BdD XML, Oracle Data Guard, RAC, Requête Flashback, BdD privée virtuelle
Java VM intégrée, prise en charge du partitionnement, messagerie intégrée, prise en charge des objets relationnels,
support multimédia
L'innovation a toujours été au coeur des activités d'Oracle et a permis à l'entreprise de conserver
sa place de leader dans l'industrie, grâce à un large éventail de produits novateurs.
Quelques points marquants de la version Oracle Database 12c sont évoqués ci-après :
• Cloud de bases de données privé
• Protection renforcée d'accès aux données, qui inclut Oracle Data Redaction (protection des
données par occultation) et Real Application Security
• Gestion du cycle de vie des informations (ILM, Information Lifecycle Management)
comprenant une classification des données en données fortement accédées ("chaudes") ou
peu accédées ("froides"), la compression et le déplacement des données en fonction de leur
usage, l'archivage au sein de la base de données et le filtrage des données par période de
validité
• Flex Clusters
• Disponibilité permanente des données avec notamment la fonctionnalité de synchronisation
à diestance de Data Guard afin d'assurer une continuité applicative
• Migrations à moindre coût en temps
• Performances et simplicité d'emploi, avec des optimisation en temps réel, le regroupement
("clustering") d'attributs et (pour Exadata uniquement) une gestion des zones
Enterprise Manager
Clusters Grilles Cloud Control et
Gestion des
RAC d'équipements consolidation de bases
pour la et de systèmes évolutions à
disponibilité travers de données à travers
de stockage
peu onéreux l'entreprise l'entreprise
Oracle Database 10g était le premier système de gestion de base de données conçu pour le grid
computing.
Oracle Database 11g a consolidé et étendu la capacité unique d'Oracle à fournir les avantages du
grid computing, en transformant les centres de données, véritables silos de ressources
cloisonnés, en pools partagés de serveurs et de ressources de stockage.
Oracle Database 12c et Enterprise Manager Cloud Control sont conçus pour le cloud computing.
Cette technologie crée une solution de cloud privé complète, pré-intégrée et prête à l'emploi qui
permet de transformer rapidement un centre de données d'entreprise en cloud privé.
Les principaux avantages sont les suivants :
• Réduction de la dispersion des serveurs et meilleure exploitation des ressources CPU via la
consolidation sur un nombre moindre de serveurs.
• Réduction du temps passé par les DBA à installer et configurer des bases de données via le
déploiement automatisé de configurations standard.
• Une seule console pour gérer tout le cycle de vie du cloud : planification, installation,
livraison et exploitation.
• Prévention de la monopolisation des ressources via la définition de quotas pour certains
utilisateurs.
• Anticipation des besoins futurs en ressources via l'analyse de rapports de tendances.
• Calcul de refacturation basé sur des mesures de performances et de configuration.
Pour évaluer correctement vos besoins en matière de récupération, vous devez commencer par
déterminer dans quelle mesure la perte ou l'indisponibilité d'une base de données est grave pour
votre entreprise. Tenez compte des points suivants :
• Combien l'entreprise va-t-elle perdre par heure d'arrêt ?
• Quels seront les pertes en productivité et en coûts de main d'oeuvre si la base de données
est à l'arrêt ?
En quantifiant ces coûts, vous serez en mesure de justifier des dépenses en équipements et en
stockage en vue d'éviter les défaillances de la base et de les récupérer si nécessaire.
L'étape suivante consiste à classer vos bases de données en fonction de leur importance critique.
Prenons l'exemple d'une société gérant un vaste système de reporting en data warehouse qui
peut tolérer 12 heures de données perdues car les chargements en mode batch peuvent être
réexécutés au prix d'un nombre d'heures d'arrêt acceptable pour la communauté des utilisateurs.
Pour ce type de système, une stratégie de sauvegarde sur disque et bande peut être appropriée.
En plus de vos besoins de récupération, vous devez déterminer les types de panne nécessitant
des mesures de protection. Réfléchissez aux pertes physiques de données et aux erreurs
logiques qui peuvent se produire dans l'application et la base de données.
• Echec d'une instruction : Une seule opération de base de données (sélection, insertion,
mise à jour ou suppression) échoue.
• Echec d'un processus utilisateur : Une seule session de base de données échoue.
• Défaillance du réseau : La connectivité avec la base de données est perdue.
• Erreur de l'utilisateur : Un utilisateur réussit à effectuer une opération, mais celle-ci
(suppression de table, saisie de mauvaises données) est incorrecte.
• Echec d'instance : L'instance de base de données s'arrête inopinément.
• Défaillance physique : Un ou plusieurs fichiers nécessaires au fonctionnement de la base
de données sont perdus (ils ont été supprimés ou le disque est défectueux).
La diapositive décrit d'autres types de défaillance qu'il convient d'anticiper. Des méthodes sont
présentées tout au long de ce cours à cet effet.
Oracle offre une solution de protection des données appropriée, adaptée aux objectifs définis en
matière de sauvegarde, de récupération et de temps de récupération :
• Oracle Recovery Manager (RMAN) est le composant central d'Oracle Database qui gère les
processus de sauvegarde, de restauration et de récupération.
• Oracle Secure Backup (OSB) est la solution Oracle de sauvegarde sur bande au niveau
entreprise pour les bases de données comme les systèmes de fichiers.
• Les technologies Flashback d'Oracle Database constituent un ensemble de solutions de
récupération de données qui permettent de récupérer des erreurs humaines en annulant
leurs effets de manière sélective et efficace.
• La fonction de conseil Data Recovery Advisor fournit des méthodes d'identification et de
résolution de problèmes de base de données.
• Data Guard et Active Data Guard permettent aux bases de secours physiques d'être
ouvertes pour l'accès en lecture tout en restant synchronisées avec la base de données de
production via une restauration physique.
Vous trouverez des informations plus détaillées sur ces fonctionnalités et technologies dans la
suite de ce cours.
Oracle Enterprise Manager Cloud Control 12c (Cloud Control) fournit la fonction de conseil MAA
(Maximum Availability Architecture) Advisor. MAA fournit une architecture haute disponibilité (HA,
High Availability) complètement intégrée et validée, avec des recommandations opérationnelles
et de configuration pour éliminer ou réduire le temps d'arrêt.
Dans la page d'accueil de la base de données, accédez à Availability > MAA Advisor.
Conseil : Choisissez All Solutions pour afficher le statut de votre configuration, même si MAA
n'est pas votre but.
La console haute disponibilité de Cloud Control est un tableau de bord personnalisable qui
permet d'obtenir des informations générales et de synthèse. Dans la page d'accueil de la base de
données, sélectionnez Availability > High Availability Console.
Windows NAS
Oracle Secure Backup permet la gestion centralisée des sauvegardes sur bande pour les
systèmes distribués et hétérogènes de tout un environnement informatique grâce aux
fonctionnalités suivantes :
• Intégration d'Oracle Database avec Recovery Manager (RMAN) prenant en charge les
versions Oracle9i à Oracle Database 12c.
• Protection des données des systèmes de fichiers pour les serveurs UNIX, Windows et
Linux, ainsi que pour les systèmes NAS (Network Attached Storage) via le protocole NDMP
(Network Data Management Protocol).
L'un des composants fondamentaux de la stratégie Oracle de sauvegarde sur disque est la zone
de récupération rapide (FRA - fast recovery area). Il s'agit d'un emplacement de stockage dans un
système de fichiers ou un groupe de disques ASM (Automatic Storage Management) qui organise
tous les fichiers et les activités concernant la récupération pour une base de données Oracle.
Tous les fichiers qui sont nécessaires pour récupérer complètement une base de données après
une défaillance physique peuvent résider dans la zone de récupération rapide : fichiers de
contrôle, journaux archivés, copies de fichiers de données et sauvegardes RMAN.
Pour honorer les contrats de niveau de service (SLA) demandés, envisagez d'utiliser le module
OSB (Oracle Secure Backup) pour le cloud. Avec RMAN et et le module OSB pour le cloud, vous
pouvez envoyer des sauvegardes sur disque local directement à Amazon S3 pour un stockage
hors site.
• Connaissance intrinsèque
Oracle Enterprise des formats de fichier de
Manager base de données et des
procédures de récupération
Oracle Secure – Validation de bloc
Backup – Récupération au niveau bloc en
ligne
RMAN – Récupération de tablespaces et
de fichiers de données
– Sauvegarde multiflux en ligne
– Compression des blocs
Unité de bande inutilisés
– Cryptage natif
• Sauvegarde sur disque, sur
Zone de récupération
rapide
bande ou en cloud intégrée
Base de données
Cloud tirant parti de la zone de
récupération rapide et
d'Oracle Secure Backup
Oracle Recovery Manager (RMAN) est le composant central d'Oracle Database qui gère les
processus de sauvegarde, de restauration et de récupération. RMAN prend en charge des
stratégies configurables de sauvegarde et de récupération et conserve des enregistrements
historiques de toutes les activités de sauvegarde et de récupération de la base de données.
RMAN garantit que tous les fichiers nécessaires à la restauration et à la récupération d'une base
de données sont inclus dans des sauvegardes complètes de cette base. Par ailleurs, dans le
cadre des opérations RMAN de sauvegarde, tous les blocs de données sont vérifiés pour éviter la
propagation de blocs corrompus dans les fichiers de sauvegarde.
Le diagramme de la diapositive présente une configuration possible pour les sauvegardes.
Il suggère que RMAN utilise la zone de récupération rapide à cet effet. Si vous le souhaitez, vous
pouvez passer par Oracle Secure Backup pour effectuer les sauvegardes sur l'unité de bande et
dans le cloud. Les sauvegardes peuvent être effectuées vers d'autres destinations, par exemple
directement sur disque. Ces différentes options sont décrites dans les sections qui suivent.
Bibliothèque Bibliothèque
de bandes de bandes
virtuelles
(VTL)
Oracle Secure Backup (OSB) est un logiciel de gestion centralisée des sauvegardes sur bande
qui protège la base de données et les systèmes de fichiers Oracle dans les environnements
UNIX, Linux, Windows et NAS (Network Attached Storage) distribués. OSB assure la sauvegarde
sur bande des fichiers d'application comme de la base de données.
OSB est intégré à RMAN et fournit la couche de gestion des supports pour les sauvegardes
RMAN sur bande.
OSB permet d'automatiser la gestion des sauvegardes sur bande par le biais de stratégies
définies par l'utilisateur tout au long du cycle de vie de la bande de sauvegarde.
A partir d'une console centrale, vous pouvez facilement gérer les serveurs et les unités de bande
distribués au sein du domaine de sauvegarde.
Le cours Oracle Secure Backup fournit des informations détaillées sur l'installation et l'utilisation
d'OSB.
Remarque : Reportez-vous au document Oracle Secure Backup Licensing Information pour plus
de détails sur les fonctionnalités disponibles avec Oracle Secure Backup et Oracle Secure
Backup Express.
Le module OSB pour le cloud est indépendant de la solution OSB sur bande, bien qu'il
appartienne à la même famille de produits et soit entièrement intégré à la fonctionnalité RMAN.
Avec RMAN et le module OSB pour le cloud, vous pouvez envoyer des sauvegardes sur disque
local directement vers Amazon S3 pour un stockage hors site. Le module OSB pour le cloud peut
également être utilisé pour transmettre les sauvegardes en continu vers le cloud. Cette méthode
est particulièrement utile lorsque la base de données s'exécute dans le cloud, à l'aide de services
comme Amazon Elastic Compute Cloud (EC2).
Basé sur des disques, le stockage S3 est plus fiable qu'un stockage sur bande. Si votre stratégie
de sauvegarde est censée compléter les sauvegardes sur disque ou bande locales par des
sauvegardes hors site fiables et que vous voulez éviter les coûts de gestion informatique associés
à la maintenance d'un site distinct de récupération après sinistre, vous pouvez consulter les
contrats de niveau de service relatifs au temps de disponibilité des systèmes Amazon S3 pour
déterminer si cette technologie répond à vos besoins.
Le module OSB pour le cloud est compatible avec toutes les versions d'Oracle Database prises
en charge. Pour effectuer des sauvegardes vers le cloud, vous utilisez des outils familiers comme
Enterprise Manager et RMAN.
Oracle Net
Oracle Data Guard est un composant central dans une solution Oracle Database haute
disponibilité (HA). Il permet aux organisations de maintenir une activité continue en réduisant au
minimum les différents types de temps d'arrêt planifiés et non planifiés.
Oracle Data Guard est une infrastructure logicielle de gestion, de surveillance et d'automatisation
qui fonctionne avec une base de données de production et une ou plusieurs bases de secours
pour protéger les données contre les pannes, les erreurs et les corruptions susceptibles
d'entraîner des pertes. La protection des données est assurée par des fonctionnalités qui
automatisent la création, la gestion et la surveillance des bases de données et des autres
composants de la configuration. La tenue à jour d'une copie de la base Oracle de production (ou
base de secours) est automatisée. Cette base de secours peut être utilisée si la base de
production doit être mise hors ligne pour des opérations de maintenance régulière ou si elle est
endommagée.
Dans une configuration Data Guard, la base de données de production est appelée base
principale. Une base de secours est une copie de la base principale. A partir d'une copie de
sauvegarde de la base principale, vous pouvez créer jusqu'à 30 bases de secours. Les bases de
secours et la base principale constituent une configuration Data Guard.
Toutes les bases de secours Data Guard permettent l'accès en lecture aux données qu'elles
contiennent pendant l'application des informations de journalisation reçues de la base principale.
Elles sont donc particulièrement intéressantes pour délester la base principale de la charge de
gestion des interrogations et des rapports en lecture seule.
Flux des
infos de
journalisation
Sauvegarde
Le mode Redo Apply de Data Guard s'applique aux bases de secours physiques. L'architecture
correspondante comprend les éléments suivants :
• Une base de données (principale) de production, liée à une ou plusieurs bases de secours
(30 au maximum) qui lui sont identiques. La limite de 30 bases de secours est imposée par
le paramètre LOG_ARCHIVE_DEST_n. En effet, ce dernier admet au maximum 31
destinations. L'une d'elle est utilisée en tant que destination d'archivage locale, ce qui laisse
30 destinations possibles pour des bases de secours.
Remarque : Vous pouvez utiliser la fonctionnalité de mise en cascade des destinations de
fichiers de journalisation pour incorporer plus de 30 bases de secours dans votre
configuration.
• La base de secours, qui est mise à jour par les informations de journalisation transférées
automatiquement à partir de la base principale. Les informations de journalisation peuvent
être transférées lorsqu'elles sont générées ou archivées dans la base principale. Elles sont
appliquées à chaque base de secours à l'aide des techniques de restauration physique
d'Oracle. Pendant une période d'arrêt planifiée, vous pouvez permuter la base principale et
une base de secours (switchover). Lorsqu'une panne se produit, vous pouvez effectuer un
basculement vers une des bases de secours (failover). La base de secours physique peut
également être utilisée pour sauvegarder la base principale.
• Active Data Guard permet aux bases de secours physiques d'être ouvertes en lecture
pendant qu'elles subissent une restauration physique pour rester synchronisées avec la
base de production. La base de secours physique est accessible en lecture seule tandis que
le transport des informations de journalisation et leur application à la base de secours
continuent d'être actifs.
• Active Data Guard répare automatiquement et en ligne les blocs corrompus en utilisant la
base de secours active.
• Normalement, les interrogations exécutées sur les bases de secours actives renvoient des
résultats à jour. En raison de délais potentiels dans le transport des informations de
journalisation ou dans leur application aux bases de secours, il se peut qu'une base de
secours "prenne du retard" sur la base principale. Elle risque alors de renvoyer des résultats
obsolètes.
• Il est possible de configurer les sessions Active Data Guard avec un délai maximum
d'interrogation (en secondes). Si la base de secours dépasse ce délai, Active Data Guard
renvoie une erreur à l'application, laquelle peut alors réitérer l'interrogation ou la rediriger de
manière transparente vers la base principale.
Conversion des
infos de
journalisation en
instructions SQL
Rapports
Dans une configuration qui comprend une base de secours logique, la fonctionnalité SQL Apply
de Data Guard utilise les informations de journalisation transportées depuis le système principal.
Toutefois, contrairement au mode Redo Apply utilisé pour les bases de secours physiques, le
mode SQL Apply transforme les données de journalisation en instructions SQL équivalentes, à
l'aide de la technologie LogMiner. Ce sont ces instructions SQL qui sont ensuite appliquées à la
base de secours logique. La base de secours logique est ouverte en mode de lecture/écriture et
elle est disponible pour les fonctions liées aux rapports.
La base de secours logique peut offrir une certaine protection à différents niveaux : base de
données, schéma ou même objet.
Une base de secours logique peut être utilisée pour effectuer des mises à niveau non
simultanées de la base. Cela permet de réduire le temps d'arrêt lors du passage à de nouveaux
jeux de patches ou à une version supérieure complète de la base.
Base de données
Base de données
Data Recovery
Advisor Stockage
Analyse de
récupération guidée Stockage
et intelligente
Recovery Manager (RMAN) et
Technologies Flashback
Oracle Secure Backup (OSB)
Correction des erreurs
Sauvegarde et récupération à faible
par remontée dans le temps
coût et hautes performances
L'architecture MAA (Maximum Availability Architecture) d'Oracle est le modèle de base des
meilleures pratiques Oracle et s'appuie sur des technologies et des recommandations qui ont fait
leurs preuves en matière de haute disponibilité. Le but de cette architecture est d'obtenir le taux
de disponibilité le plus élevé possible, à moindre coût et sans surcroît de complexité.
MAA intègre les fonctionnalités d'Oracle Database liées à la haute disponibilité, notamment Real
Application Clusters (RAC), Data Guard, GoldenGate, ASM, RMAN et Enterprise Manager.
L'architecture MAA recommande certaines méthodes en ce qui concerne les composants
d'infrastructure essentiels comme les serveurs, le stockage et le réseau. Au-delà de la
technologie, le modèle de base MMA couvre des recommandations spécifiques de conception et
de configuration qui ont été testées pour assurer une disponibilité et une fiabilité optimales des
systèmes. Les entreprises qui exploitent MAA dans leur infrastructure informatique constatent
qu'elles arrivent à déployer rapidement et efficacement des applications qui répondent à leurs
besoins en matière de disponibilité.
RMAN peut également être utilisé avec des produits de sauvegarde sur bande qui ne sont pas
fournis par Oracle. Toutefois, ces produits n'offrent pas forcément des capacités d'optimisation
des performances de sauvegarde équivalentes à celles d'Oracle Secure Backup.
Pour obtenir des informations détaillées sur MAA, consultez le site Web OTN
(Oracle Technology Network) :
(http://www.oracle.com/technetwork/database/features/availability/index.html).
orcl
rcat
Exemple de
schéma
Système de
fichiers
emrep Enterprise
Manager
Cloud Control
Oracle Secure
Backup :
Bibliothèque de Oracle
bandes virtuelle Net
Pour les exercices pratiques, les instances illustrées sur la diapositive sont préinstallées sur un
système d'exploitation Linux : orcl, rcat et emrep sont des instances d'Oracle Database 12c.
Vous allez ajouter des éléments à cette configuration tout au long de ce cours.
Réponses : a, c
Ce chapitre rappelle les concepts essentiels de la base de données Oracle qui présentent une
importance critique pour la sauvegarde et la récupération. Il présente ensuite les outils
disponibles (utilisés tout au long du cours). L'exposé théorique est suivi d'un exercice pratique
(susceptible de soulever des questions à résoudre dans le chapitre suivant). Vous devez
comprendre comment effectuer la sauvegarde et la récupération en mode NOARCHIVELOG (avec
les limites potentielles de cette approche).
Connexion
...
Serveur
Processus ut
ilisateur
ou client
Utilisateur
Base de données (structures de stockage)
Session Client
Connexion
données
...
Informations de journalisation
Serveur
Structure des processus
Processus
utilisateur
ou client
Utilisateur
Base de données (structures de stockage)
Session Client
Les trois structures principales de l'architecture d'un serveur Oracle Database sont les structures
mémoire, les processus et les structures de stockage. Un système de base de données
élémentaire se compose d'une base de données Oracle et d'une instance de base de données.
La base de données est constituée de structures physiques et de structures logiques. Comme
les structures physiques et logiques sont séparées, le stockage physique des données peut être
géré sans affecter l'accès aux structures de stockage logiques.
Une instance se compose de structures mémoire et de processus en arrière-plan.
• A chaque démarrage d'une instance, une zone de mémoire partagée appelée mémoire
SGA (System Global Area) est allouée et les processus en arrière-plan sont lancés. L'un
des éléments particulièrement intéressants pour la sauvegarde et la récupération est le
tampon de journalisation. Il met en mémoire cache les informations de journalisation
(utilisées pour la récupération d'instance) jusqu'à ce qu'elles puissent être écrites dans les
fichiers de journalisation (fichiers redo log) physiques stockés sur le disque.
Fichiers de Fichiers de
contrôle Fichiers de journalisation
données en ligne
Fichier de
Fichiers de
paramètres
Fichiers de journalisation
sauvegarde archivés
Les fichiers constituant une base de données Oracle sont organisés de la façon suivante :
• Fichiers de contrôle : Ils contiennent des données relatives à la base elle-même (c'est-à-
dire des informations propres à la structure de base de données physique). Ces fichiers sont
d'une importance capitale pour la base. Sans eux, vous ne pouvez pas ouvrir les fichiers de
données de la base. Le fichier de contrôle peut également contenir des métadonnées
relatives aux sauvegardes.
• Fichiers de données : Ils contiennent les données d'utilisateur ou d'application de la base
de données ainsi que des métadonnées et le dictionnaire de données.
• Fichiers de journalisation en ligne : Ils permettent la récupération d'instance de la base
de données. Si le serveur de base de données tombe en panne et ne perd aucun fichier de
données, l'instance peut utiliser ces fichiers pour récupérer la base de données.
Les autres fichiers indiqués ci-dessous sont essentiels au bon fonctionnement de la base de
données :
• Fichier de paramètres : Il sert à définir comment l'instance est configurée lorsqu'elle
démarre.
• Fichier de mots de passe : Il permet aux utilisateurs sysdba, sysoper, sysbackup et
sysasm de se connecter à distance à la base de données et d'effectuer des tâches
d'administration.
Base de
données
4 Fichier de
Tablespace
données
Une base de données comprend des structures logiques et des structures physiques.
1. Au niveau de détail le plus élevé, les données d'une base Oracle sont stockées dans des
_______________.
2. Un __________ est un nombre précis de blocs de données Oracle qui sont contigus
logiquement, même s'ils peuvent être physiquement distants sur le disque (à cause des
implémentations de technologie RAID et de système de fichiers).
3. Le niveau logique de stockage immédiatement supérieur à un ________ est appelé un
__________.
4. Une base de données est divisée en unités de stockage logiques appelées ____________
qui regroupent des structures logiques ou des fichiers de données connexes. (Une stratégie
de sauvegarde et de récupération est censée contenir des dispositions spéciales
concernant cette unité de stockage logique.)
Base de données
Fichier de
Tablespace
données
Une base de données comprend des structures logiques et des structures physiques.
1. Au niveau de détail le plus élevé, les données d'une base Oracle sont stockées dans des
blocs de données.
2. Un extent est un nombre précis de blocs de données Oracle qui sont contigus logiquement,
même s'ils peuvent être physiquement distants sur le disque (à cause des implémentations
de technologie RAID et de système de fichiers).
3. Le niveau logique de stockage immédiatement supérieur à un extent est appelé
un segment.
4. Une base de données est divisée en unités de stockage logiques appelées tablespaces qui
regroupent des structures logiques ou des fichiers de données connexes. (Une stratégie de
sauvegarde et de récupération est censée contenir des dispositions spéciales concernant
cette unité de stockage logique.)
Les processus d'un système Oracle Database peuvent être classés en trois grandes catégories :
• Processus utilisateur qui exécutent le code des applications ou des outils Oracle
• Processus Oracle Database qui exécutent le code du serveur de base de données Oracle
(et comprennent des processus serveur et des processus en arrière-plan)
• Processus de démons et d'applications Oracle qui ne sont pas spécifiques à une seule base
de données
Lorsqu'un programme d'application ou un outil Oracle (SQL*Plus, par exemple) est lancé par un
utilisateur, il constitue un processus utilisateur. Ce processus ne se trouve pas nécessairement
sur l'ordinateur du serveur de base de données. Oracle Database crée aussi un processus
serveur pour exécuter les commandes émises par le processus utilisateur. En outre, le serveur
Oracle crée, pour une instance donnée, un ensemble de processus en arrière-plan qui
interagissent les uns avec les autres, mais aussi avec le système d'exploitation, afin de gérer les
structures mémoire, d'effectuer des opérations d'E/S asynchrones pour écrire des données sur le
disque et de réaliser d'autres tâches requises. La structure des processus varie d'une
configuration Oracle Database à une autre. Elle dépend du système d'exploitation et des options
choisies pour Oracle Database.
Mémoire SGA
PGA
Processus Processus en arrière-plan
serveur
Requis : DBWn CKPT LGWR SMON PMON
Processus serveur
Oracle Database crée des processus serveur pour gérer les demandes des processus utilisateur
connectés à l'instance. Un processus utilisateur représente une application ou un outil qui se
connecte à la base de données Oracle. Il peut être sur la même machine que la base, ou bien
exister sur un client distant et utiliser un réseau pour accéder à la base. Le processus utilisateur
communique tout d'abord avec un processus d'écoute (listener) qui crée un processus serveur
dans un environnement dédié.
Les processus serveur créés pour le compte de l'application de chaque utilisateur peuvent
effectuer une ou plusieurs des tâches suivantes :
• Analyser et exécuter des instructions SQL émises via l'application.
• Lire les blocs de données nécessaires dans des fichiers de données sur disque et les
transférer dans les tampons de base de données partagés de la mémoire SGA (si ces blocs
ne se trouvent pas déjà en mémoire SGA).
• Renvoyer des résultats que l'application sera en mesure de traiter.
Processus en arrière-plan
Pour optimiser les performances et prendre en charge un grand nombre d'utilisateurs, un système
Oracle Database multiprocessus utilise des processus Oracle Database supplémentaires appelés
processus en arrière-plan. Une instance Oracle Database peut comprendre plusieurs de ces
processus
PMON CKPT
Fichiers SMON
de contrôle
Point de reprise
System Monitor
DBWn
LGWR ARCn
Informations de
journalisation Processus Fichiers de Processus Fichiers de
Log Writer d'archivage journalisation
Tampon de journalisation
en ligne archivés
journalisation
Les sections suivantes consacrées aux processus Oracle en arrière-plan sont importantes pour
bien comprendre les stratégies de sauvegarde et de récupération. Elles sont extraites d'un cours
prérequis et sont incluses ici à l'intention des stagiaires qui souhaitent y revenir. Sauf demande
expresse, il n'est pas nécessaire de revoir tous les détails en classe.
Vous pouvez passer directement à la diapositive "Compléter les noms de processus" pour vérifier
vos connaissances sur les sujets suivants :
• Processus DBWn (Database Writer)
• Processus LGWR (Log Writer)
• Processus CKPT (Checkpoint)
• Processus SMON (System Monitor)
• Processus PMON (Process Monitor)
• Processus ARCn (Archiver)
DBWn
Quand un tampon du cache de la base de données est modifié, il est désigné comme "dirty" et
ajouté en tête de la file d'attente des points de reprise, laquelle est triée par numéro SCN (System
Change Number). L'ordre des tampons dans la file d'attente correspond donc à l'ordre dans
lequel les informations de journalisation (redo) sont écrites dans les journaux pour ces tampons
modifiés.
Lorsque le nombre de tampons disponibles dans le cache est inférieur à un seuil interne (au point
que les processus serveur ont du mal à obtenir des tampons disponibles), le processus DBWn
écrit les tampons modifiés ("dirty") qui sont rarement utilisés dans les fichiers de données, en
commençant par la fin de la liste LRU (Least Recently Used), afin que les processus puissent
remplacer des tampons en cas de besoin. Par ailleurs, DBWn écrit à partir de la fin de la file
d'attente des points de reprise pour faire avancer le point de reprise.
La mémoire SGA contient une structure mémoire qui inclut l'adresse RBA (Redo Block Address)
indiquant la position (dans le flux de données de journalisation) à partir de laquelle la récupération
doit commencer en cas d'échec de l'instance. Cette structure joue le rôle de pointeur dans les
informations de journalisation. Elle est consignée dans le fichier de contrôle par le processus
CKPT toutes les trois secondes. Comme le processus DBWn écrit les tampons "dirty" dans l'ordre
des numéros SCN (System Change Number), il fait avancer le pointeur en mémoire SGA à
chaque fois qu'il écrit des tampons de la liste LRU. De la sorte, si une récupération d'instance est
nécessaire, elle lira les informations de journalisation à partir d'un emplacement
approximativement correct, évitant ainsi des E/S inutiles. On parle de points de reprise
incrémentiels.
Dans tous les cas, DBWn effectue des opérations d'écriture (multiblocs) en mode batch pour plus
d'efficacité. Le nombre de blocs écrits dans une opération d'écriture multibloc est variable d'un
système d'exploitation à l'autre.
LGWR
Informations de
journalisation
Processus Log Writer
Fichiers de
Tampon de
journalisation
journalisation
en ligne
Le processus LGWR gère le tampon de journalisation en écrivant ses entrées dans un fichier de
journalisation sur disque. Il écrit toutes les entrées de journalisation qui ont été copiées dans le
tampon depuis la dernière opération d'écriture qu'il a effectuée.
Le tampon de journalisation est réutilisable. Une fois que le processus LGWR a écrit son contenu
dans un fichier de journalisation sur le disque, il peut recevoir de nouvelles données provenant
des processus serveur. Normalement, la vitesse d'écriture du processus LGWR est suffisante
pour que le tampon comporte toujours suffisamment d'espace pour de nouvelles entrées, même
lorsque le fichier de journalisation fait l'objet de nombreux accès. LGWR écrit sur le disque une
seule portion contiguë du tampon.
LGWR effectue une opération d'écriture :
• Quand un processus utilisateur valide une transaction.
• Quand un tiers du tampon de journalisation est plein.
• Avant qu'un processus DBWn n'écrive les tampons modifiés sur le disque (si nécessaire).
• Toutes les trois secondes.
Fichier de
CKPT contrôle
Processus
CKPT
Fichiers de
données
Instance
SMON
Processus
SMON
Segment
temporaire
Processus
serveur
PMON
Utilisateur
ARCn
Les processus ARCn ne sont présents que lorsque la base de données est en mode
ARCHIVELOG.
Les processus d'archivage copient les fichiers de journalisation sur le périphérique de stockage
désigné après un changement de fichier de journalisation. Ceci offre davantage d'opportunités de
récupération, car vous pouvez enregistrer, sauvegarder et restaurer l'ensemble des fichiers de
journalisation archivés (archive redo logs) qui ont été générés.
Si vous prévoyez une charge d'archivage importante (un chargement de données en masse, par
exemple), vous pouvez augmenter le nombre maximal de processus d'archivage. Par ailleurs, il
peut y avoir plusieurs destinations de fichiers de journalisation archivés. Il est recommandé
d'avoir au moins un processus d'archivage par destination. La valeur par défaut est d'avoir quatre
processus d'archivage.
Les fichiers de journalisation en ligne étant utilisés de façon cyclique, un protocole permet de
contrôler leur réutilisation. En mode ARCHIVELOG, la base de données ne commence à écrire
dans un fichier de journalisation en ligne que si une copie de ce dernier a été archivée.
L'archivage de chaque fichier de journalisation est ainsi garanti.
A mesure que des modifications sont effectuées sur les données de la base, les données
"anciennes" sont stockées dans le tablespace d'annulation et les informations sur les nouvelles
modifications sont placées dans les fichiers de journalisation en ligne (voir l'illustration graphique
ci-dessus). les informations d'annulation sont également dans le flux des informations de
journalisation. Le contenu du fichier de journalisation en ligne comprend des transactions non
validées et des instructions de gestion de schéma et d'objet. La base de données gère des
fichiers de journalisation en ligne en vue d'éviter tout risque de perte de données. Après une
panne d'instance, par exemple, les fichiers de journalisation en ligne permettent à Oracle
Database de récupérer les données validées qui n'ont pas encore été écrites dans les fichiers de
données.
Les fichiers de journalisation en ligne étant utilisés de façon cyclique, un protocole permet de
contrôler leur réutilisation. En mode ARCHIVELOG, la base de données ne commence à écrire
dans un fichier de journalisation en ligne que si une copie de ce dernier a été archivée.
L'archivage de chaque fichier de journalisation est ainsi garanti.
Il est possible d'effectuer n'importe quel type de sauvegarde (complète ou incrémentielle) d'une
base de données en mode NOARCHIVELOG (à condition, bien sûr, que la base ne soit pas
ouverte). Lorsque la base est en mode NOARCHIVELOG, vous devez restaurer tous les fichiers de
données avant d'exécuter une opération de récupération. Notez que la récupération est limitée au
moment de la dernière sauvegarde. La base de données ne peut être récupérée jusqu'à la
dernière transaction validée que si elle est en mode ARCHIVELOG.
Les cas d'utilisation des deux modes sont décrits dans le tableau de la diapositive.
Oracle Grid Infrastructure pour un serveur autonome est installé à partir des supports du
clusterware, distincts de ceux du logiciel de base de données Oracle. Oracle Automatic Storage
Management et Oracle Restart sont inclus. Si Oracle Grid Infrastructure est installé avant Oracle
Database, les bases de données créées sont automatiquement configurées avec Oracle Restart.
Oracle Restart est conçu pour améliorer la disponibilité de votre base de données Oracle. Cette
solution de haute disponibilité est réservée aux environnements mono-instances (non
clusterisés). Pour les environnements Oracle Real Application Cluster (RAC), la fonctionnalité de
redémarrage automatique des composants est fournie par le clusterware. Oracle Restart peut
surveiller le fonctionnement des composants suivants et les redémarrer automatiquement :
• Instances de base de données, (ORCL dans l'exemple de la diapositive)
• Processus d'écoute Oracle Net
• Services de base de données
• Instance ASM (par exemple, +ASM)
• Groupes de disques ASM (par exemple, DATA et FRA)
• Oracle Notification Services (ONS/eONS) pour Data Guard (hors du cadre de ce cours)
• Oracle Restart permet aux composants Oracle d'être automatiquement redémarrés après
une défaillance matérielle ou logicielle, ou lors du redémarrage de l'ordinateur hébergeant la
base de données.
• Oracle Restart effectue des vérifications périodiques pour surveiller l'état de ces
composants. Si un contrôle échoue pour un composant, celui-ci est arrêté et redémarré.
• Oracle Restart n'est utilisé que dans les environnements mono-instances (non clusterisés).
Pour les environnements Oracle Real Application Cluster (RAC), la fonctionnalité de
redémarrage automatique des composants est fournie par le clusterware.
• Oracle Restart tient compte des dépendances entre composants pour démarrer ceux-ci
dans l'ordre adéquat. Par exemple, si les fichiers de base de données sont stockés dans
des groupes de disques ASM, Oracle Restart vérifie que l'instance est démarrée et que les
groupes de disques sont montés avant de démarrer l'instance de base de données. Si un
composant doit être arrêté, il veille à arrêter les composants dépendants au préalable.
• Le client RMAN est un outil en mode ligne de commande qui permet d'exécuter des
commandes RMAN pour gérer l'environnement de sauvegarde, créer des sauvegardes et
effectuer des opérations de récupération.
• SQL*Plus est également une interface de ligne de commande pour exécuter du code SQL
et SQL*Plus. Vous pouvez l'utiliser pour beaucoup de tâches de DBA, notamment pour
configurer des paramètres persistants de sauvegarde et de récupération.
• Oracle SQL Developer est une version graphique de SQL*Plus. Il permet d'exécuter des
instructions et des scripts SQL, d'éditer et de déboguer du code PL/SQL, de manipuler et
d'exporter des données. Pour plus d'informations, reportez-vous au manuel Oracle SQL
Developer User’s Guide.
• L'utilitaire srvctl facilite la gestion des composants d'Oracle Restart et des
environnements clusterisés. Pour plus d'informations, reportez-vous au manuel Oracle
Database Administrator’s Guide.
• ASMCMD est un utilitaire de ligne de commande qui permet de gérer les instances ASM, les
groupes de disques, le contrôle d'accès aux fichiers pour les groupes de disques, les
fichiers et les répertoires au sein de groupes de disques, les modèles associés aux groupes
de disques et les volumes. Pour plus d'informations, reportez-vous au manuel Oracle
Automatic Storage Management Administrator’s Guide.
Oracle Database 12c (et les versions ultérieures) prend en charge la séparation des tâches de
DBA pour la base Oracle, avec des privilèges administratifs spécifiques aux tâches et de niveau
moindre qui ne nécessitent pas le privilège administratif SYSDBA. Le privilège qui permet de se
connecter et d'exécuter des commandes dans RMAN est SYSBACKUP.
• Connectez-vous explicitement avec ce rôle :
rman target "'/ as sysbackup'"
Notez les apostrophes incluses entre les guillemets.
• Pour des raisons de compatibilité amont, rman target / se connecte en tant que
SYSDBA.
. oraenv
orcl
$ rman target "'/ as sysbackup'"
L'environnement Linux du cours comprend plus d'une base de données locale. Utilisez .
oraenv pour définir vos variables d'environnement (comme illustré sur la diapositive).
Lancez RMAN depuis la ligne de commande, en indiquant les options appropriées. Les options
couramment utilisées sont :
• target : chaîne de connexion pour la base de données cible.
• catalog : chaîne de connexion pour un catalogue de restauration.
• nocatalog : indique l'absence de catalogue de restauration. Il s'agit de l'option par défaut.
• cmdfile : nom d'un fichier de commande d'entrée.
• log : nom du fichier journal des messages de sortie.
L'appel de RMAN rman target / établit la connexion à la base de données locale en tant que
cible. L'exemple de la diapositive illustre la connexion par défaut avec le privilège SYSBACKUP.
A l'invite RMAN, vous pouvez soumettre des commandes RMAN pour gérer votre environnement
de sauvegarde et créer des sauvegardes de diverses manières, en fonction de vos besoins. La
diapositive présente des commandes permettant d'effectuer une sauvegarde de la base de
données, d'afficher la liste des sauvegardes existantes (LIST BACKUP) et de supprimer les
sauvegardes obsolètes (DELETE OBSOLETE).
Remarque : Pour plus d'informations sur le mode d'exécution de RMAN, reportez-vous au
manuel Oracle Database Backup and Recovery User's Guide. Pour obtenir la liste complète des
commandes RMAN et de leurs options, reportez-vous au manuel Oracle Database Backup and
Recovery Reference.
• Vous pouvez exécuter des commandes SQL et des procédures PL/SQL à partir de la ligne
de commande RMAN. Dans les versions antérieures à Oracle Database 12.1, il fallait
utiliser le préfixe SQL et des guillemets.
• Le mot-clé SQL est facultatif, mais il vaut mieux l'ajouter pour éliminer toute ambiguïté, en
particulier pour quelques commandes qui existent à la fois dans RMAN et dans SQL mais
avec des usages différents.
• La commande RMAN DESCRIBE fournit la même fonctionnalité que la commande SQL*Plus
DESCRIBE. Vous pouvez utiliser la forme abrégée DESC ou la forme complète DESCRIBE
pour lister les définitions de colonne d'une table ou d'une vue. Pour accéder à une table ou
une vue appartenant à un autre schéma, vous devez avoir des privilèges SELECT sur l'objet
ou vous connecter en mode SYSDBA.
Si une instance d'une base de données ouverte connaît une défaillance, à cause d'une instruction
SHUTDOWN ABORT ou d'une fin anormale, les situations suivantes peuvent se présenter :
• Les blocs de données validés par une transaction ne sont pas écrits dans les fichiers
de données et apparaissent uniquement dans le fichier de journalisation en ligne. Ces
modifications doivent être réappliquées à la base de données.
• Les fichiers de données contiennent des modifications qui n'avaient pas encore été validées
au moment de la défaillance de l'instance. Ces modifications doivent être annulées pour
assurer la cohérence transactionnelle.
La récupération d'instance utilise uniquement les fichiers de journalisation en ligne et les fichiers
de données en ligne en cours pour synchroniser les fichiers de données et vérifier qu'ils sont
cohérents.
La perte d'un fichier de données (quel qu'il soit) dans une base de données en mode
NOARCHIVELOG nécessite une restauration complète de la base, y compris des fichiers de
contrôle et de tous les fichiers de données.
Lorsque la base est en mode NOARCHIVELOG, il n'est possible de récupérer que l'état de la plus
récente sauvegarde. Par conséquent, les utilisateurs doivent de nouveau entrer toutes les
modifications qui ont été apportées depuis cette sauvegarde.
Pour effectuer ce type de récupération :
1. Arrêtez l'instance si elle est encore active.
2. Dans la page Maintenance Properties, cliquez sur Perform Recovery.
3. Sélectionnez le type de récupération Whole Database.
Si vous avez une base de données en mode NOARCHIVELOG qui utilise une stratégie
de sauvegarde incrémentielle, RMAN restaure d'abord le niveau 0 le plus récent, puis la
récupération RMAN applique les sauvegardes incrémentielles.
Réponse : a
Dans les exercices de ce chapitre, vous allez effectuer votre première sauvegarde, puis créer un
cas de test, simuler une défaillance et procéder à la récupération de la base. Après avoir simulé
la défaillance, vous devez absolument mener à bien l'exercice de récupération.
Vous pouvez exécuter deux principaux types de commande RMAN : des commandes autonomes
et des commandes de type travail.
Les commandes autonomes sont exécutées à l'invite RMAN et se suffisent généralement à elles-
mêmes.
Les commandes de type travail sont généralement regroupées et exécutées de manière
séquentielle dans un bloc de commande. Si l'une quelconque des commandes du bloc échoue,
RMAN interrompt le traitement. Aucune autre commande du bloc n'est exécutée. Les effets des
commandes déjà exécutées sont toutefois maintenus ; ils ne sont en rien annulés.
La commande ALLOCATE CHANNEL, par exemple, ne peut être exécutée qu'en tant que
commande de type travail. Elle ne peut pas être exécutée en tant que commande autonome
parce que le canal est alloué uniquement pour l'exécution du travail associé. Certaines
commandes peuvent être exécutées à l'invite ou dans un bloc de commande RUN, notamment
BACKUP DATABASE. Lorsque vous exécutez des commandes autonomes, RMAN alloue les
canaux nécessaires en utilisant la fonctionnalité d'allocation automatique des canaux.
Vous pouvez exécuter des commandes autonomes et des commandes de type travail en mode
interactif ou en mode batch.
Contrairement aux commandes autonomes, les commandes de type travail doivent apparaître
entre les accolades de la commande RUN. Les commandes placées à l'intérieur d'un bloc RUN
(comme illustré dans la diapositive) sont exécutées en tant qu'unité de commandes unique. Toute
configuration effectuée à l'intérieur du bloc s'applique au bloc tout entier et remplace tout
paramétrage effectué précédemment. Voici des exemples de commandes de ce type qui doivent
apparaître au sein d'un bloc RUN :
• ALLOCATE CHANNEL
• SWITCH
RMAN exécute les commandes de type travail de manière séquentielle au sein d'un bloc de
commande RUN. Si l'une quelconque des commandes du bloc échoue, RMAN interrompt le
traitement. Aucune autre commande du bloc n'est exécutée. En effet, la commande RUN définit
une unité d'exécution de commande. Lorsque la dernière commande d'un bloc RUN se termine, la
base de données Oracle libère les ressources côté serveur, notamment les mémoires tampon
(buffers) d'entrée/sortie (E/S) ou les processus esclaves d'E/S alloués dans le bloc.
Remarque : La commande SQL de la ligne 6 est seulement un exemple. Il NE s'agit PAS d'une
commande requise pour l'opération de sauvegarde.
Vous pouvez afficher tous les paramètres persistants de RMAN en vous connectant à la cible et
en exécutant la commande RMAN SHOW ALL. Vous pouvez interroger la vue
V$RMAN_CONFIGURATION de la base de données cible pour afficher les paramètres de
configuration qui ont été définis explicitement.
Le parallélisme désigne le nombre de flux de données pouvant être utilisés pour la lecture et
l'écriture sur un périphérique donné. Il détermine le nombre de canaux effectivement alloués
lorsqu'un périphérique configuré est utilisé par RMAN. Par exemple, si un gestionnaire de
supports dispose de deux lecteurs de bande, un parallélisme de 2 permet l'utilisation simultanée
de ces deux lecteurs pour les commandes BACKUP à l'aide de ce gestionnaire. Le parallélisme
concernant le type de périphérique Disk est utile si vous souhaitez répartir une sauvegarde sur
plusieurs disques.
Indiquez le parallélisme à utiliser sur le périphérique à l'aide de la clause PARALLELISM, de la
manière suivante :
CONFIGURE DEVICE TYPE <device> PARALLELISM <n>
où <n> est la valeur de parallélisme.
La commande RMAN SHOW permet d'afficher les paramètres de configuration de RMAN. Si vous
exécutez SHOW ALL en étant connecté à une base de données cible, seules les configurations
spécifiques à des noeuds et les configurations de base de données s'affichent.
Vous pouvez rétablir la valeur par défaut pour n'importe quelle commande CONFIGURE en
exécutant la même commande avec l'option CLEAR.
Sauvegarde Fenêtre de
récupération SYSDATE
Sauvegarde 1 Sauvegarde 2
SYSDATE
• Les stratégies de conservation sont mutuellement exclusives.
Maintenant
Réponse : b
• Eléments permanents :
– Copies multiplexées du fichier
de contrôle en cours
– Copies multiplexées des fichiers
Base de
de journalisation en ligne données
• Eléments transitoires :
– Fichiers de journalisation archivés
– Copies des fichiers de données
– Copies de fichier de contrôle
– Sauvegardes automatiques du fichier
de contrôle
– Eléments de sauvegarde
– Journaux Flashback Zone de
récupération rapide
L'un des composants fondamentaux de la stratégie Oracle de sauvegarde sur disque est la zone
de récupération rapide (FRA - fast recovery area). Il s'agit d'un emplacement de stockage dans un
système de fichiers ou un groupe de disques ASM (Automatic Storage Management) qui organise
tous les fichiers et les activités concernant la récupération pour une base de données Oracle.
Tous les fichiers qui sont nécessaires pour récupérer complètement une base de données après
une défaillance de support peuvent résider dans la zone de récupération rapide : fichiers de
contrôle, journaux archivés, copies de fichiers de données et sauvegardes RMAN.
La zone de récupération rapide ne se contente pas de conserver vos sauvegardes sur disque :
elle assure une gestion proactive de l'espace de stockage. Un emplacement lui est affecté, mais
aussi un quota qui représente la quantité maximum d'espace disque qu'elle peut utiliser à un
moment donné. Par exemple, lorsque de nouvelles sauvegardes sont créées dans la zone de
récupération rapide et que l'espace est insuffisant pour les contenir, les sauvegardes et les
journaux archivés qui ne sont pas indispensables pour la conformité aux paramètres de
configuration de RMAN (notamment en matière de stratégie de conservation et de stratégie de
suppression des fichiers de journalisation archivés) sont automatiquement supprimés pour libérer
de l'espace. Le fichier d'alertes contient des informations sur le moment où la consommation
d'espace disque s'approche du quota alloué alors qu'il est impossible de supprimer d'autres
fichiers. Vous pouvez alors intervenir pour corriger la situation en ajoutant de l'espace disque, en
sauvegardant des fichiers sur bande ou en modifiant la stratégie de conservation.
La zone de récupération rapide est un espace réservé sur le disque pour le stockage des fichiers
de journalisation archivés (archived redo logs), des sauvegardes, des journaux flashback ainsi
que des fichiers de contrôle et de journalisation multiplexés. Il est fortement recommandé de
l'utiliser, car elle simplifie la gestion du stockage des sauvegardes. Placez de préférence la zone
de récupération rapide à un emplacement de stockage distinct de celui des fichiers de base de
données, des fichiers de journalisation en ligne majeurs et du fichier de contrôle.
La quantité d'espace disque à allouer à la zone de récupération rapide dépend de la taille et du
niveau d'activité de la base de données. En règle générale, la zone de récupération rapide est
d'autant plus utile que sa taille est importante. Dans l'idéal, la zone de récupération rapide doit
être assez grande pour recevoir les copies de vos fichiers de données et de contrôle, ainsi que
les fichiers journaux Flashback, en ligne et archivés nécessaires à la récupération de la base à
partir des sauvegardes, conformément à votre stratégie de conservation. (En résumé, la taille de
la zone de récupération rapide doit être au moins double de la taille de la base de données, de
façon à pouvoir accueillir une sauvegarde et plusieurs fichiers de journalisation archivés.)
La gestion de l'espace dans la zone de récupération rapide est régie par les stratégies de
conservation des sauvegardes et de suppression des fichiers de journalisation archivés. Une
stratégie de conservation des sauvegardes détermine le moment où les fichiers deviennent
obsolètes et ne sont par conséquent plus utiles pour récupérer les données. Le serveur de base
de données Oracle gère automatiquement cet espace de stockage en supprimant les fichiers qui
ne sont plus nécessaires.
Comme indiqué précédemment, vous pouvez utiliser la zone de récupération rapide pour stocker
des fichiers liés à la récupération. Cette zone est associée à un emplacement spécifique
(répertoire de système de fichiers ou groupe ASM) et sa taille est plafonnée par un quota.
En cas de manque d'espace dans la zone de récupération rapide, les fichiers qui sont jugés
"inutiles" sont supprimés automatiquement. Un fichier est "inutile" si :
• Il a été sauvegardé sur bande via RMAN
• Il est obsolète au regard de la stratégie de conservation RMAN
Pour calculer la taille de départ de la zone de récupération rapide, commencez par identifier les
fichiers liés à la récupération que vous souhaitez conserver. Tenez compte des recommandations
suivantes à ce stade :
• Si vous prévoyez de conserver uniquement les sauvegardes automatiques du fichier de
contrôle et les fichiers de journalisation archivés, vous pouvez déterminer la taille initiale de
la zone de récupération rapide en additionnant les tailles de tous les journaux archivés
générés entre les sauvegardes successives lors des journées de plus forte activité. La zone
de récupération rapide a juste besoin de l'espace nécessaire pour contenir les fichiers de
journalisation archivés qui sont générés entre deux sauvegardes successives. Multipliez
cette estimation par 2 pour tenir compte des pics inattendus de génération d'informations de
journalisation. Les sauvegardes automatiques du fichier de contrôle prennent généralement
peu d'espace.
Avertissement
RMAN met à jour envoyé à
1
la liste des fichiers l'utilisateur
2
pouvant être supprimés.
Fichiers de
sauvegarde
à supprimer
Chaque fois que RMAN crée un fichier dans la zone de récupération rapide, la liste des fichiers
qui ne sont plus nécessaires sur le disque est mise à jour. En fonction de la valeur de
DB_REOVERY_FILE_DEST_SIZE, vous êtes averti lorsque la zone de récupération rapide
manque d'espace ou qu'il reste peu d'espace libre et qu'aucun fichier ne peut être supprimé. Le
serveur de base de données Oracle et RMAN continuent de créer des fichiers dans la zone de
récupération rapide jusqu'à ce que la totalité de l'espace disque alloué soit utilisé.
Lorsque vous définissez le paramètre DB_RECOVERY_FILE_DEST_SIZE, veillez à allouer
suffisamment d'espace pour contenir les fichiers de récupération, y compris les sauvegardes qui
attendent d'être stockées sur bande. Les fichiers qui sont obsolètes ou qui ont été sauvegardés
sur bande peuvent généralement être supprimés pour libérer de l'espace. Si l'écriture d'un fichier
dans la zone de récupération rapide nécessite de l'espace supplémentaire, le serveur de base de
données Oracle supprime un fichier parmi ceux signalés comme obsolètes. Chaque fois qu'un
fichier est écrit ou supprimé dans la zone de récupération rapide, une notification est consignée
dans le fichier d'alertes.
La stratégie de conservation des sauvegardes et la stratégie de suppression des fichiers de
journalisation archivés affectent également la gestion de l'espace dans la zone de récupération
rapide.
Remarque : Lorsque l'espace de la zone de récupération rapide est utilisé à 85 %, un
avertissement est émis. Lorsqu'il est utilisé à 97 %, une alerte critique est générée. Ces seuils
sont définis en interne. Il est impossible de les modifier.
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 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. Une base de données doit être dotée d'au moins
deux fichiers de contrôle conservés sur des périphériques de stockage distincts afin de réduire
l'impact de la perte de l'un d'eux.
La perte d'un seul fichier de contrôle entraîne une panne d'instance, car tous les fichiers de
contrôle doivent être disponibles à tout moment. Il suffit toutefois de copier l'un des fichiers de
contrôle encore disponibles pour récupérer l'instance. La perte de tous les fichiers de contrôle
pose un problème plus difficile à résoudre, mais elle n'est généralement pas catastrophique.
Vous pouvez utiliser Oracle Enterprise Manager Cloud Control pour définir les paramètres de
sauvegarde d'une instance. Dans la page d'accueil de la base de données, sélectionnez
Availability > Backup & Recovery > Backup Settings.
Pour procéder facilement à une récupération suite à la perte de toutes les copies du fichier de
contrôle, vous devez configurer RMAN afin d'effectuer des sauvegardes automatiques du fichier
de contrôle. La sauvegarde automatique du fichier de contrôle est effectuée indépendamment de
toute sauvegarde du fichier de contrôle en cours demandée de manière explicite dans la
commande de sauvegarde. Si vous utilisez RMAN en mode NOCATALOG, il est vivement conseillé
d'activer la sauvegarde automatique du fichier de contrôle. Sinon, en cas de perte du fichier de
contrôle, votre base de données risque d'être irrécupérable.
Pour configurer la sauvegarde automatique du fichier de contrôle, modifiez la stratégie de
sauvegarde de la base de données via Enterprise Manager ou à l'aide de la commande
CONFIGURE CONTROLFILE AUTOBACKUP ON.
Par défaut, la sauvegarde automatique du fichier de contrôle est désactivée. Si vous l'activez,
RMAN sauvegarde automatiquement le fichier de contrôle et le fichier de paramètres serveur
actuel (s'il est utilisé pour démarrer la base de données) dans les cas suivants :
• A la fin de l'exécution d'un script.
• Lorsqu'une sauvegarde réussie est enregistrée dans le référentiel RMAN.
• En cas de modification structurelle de la base de données (le noyau Oracle effectue la
sauvegarde).
Si vous sélectionnez
File System dans le
champ Storage Type,
vous êtes invité à
indiquer un nom de
fichier et un répertoire.
L'instance considère les groupes de fichiers de journalisation en ligne comme une mémoire
tampon (buffer) réutilisable dans laquelle sont stockées les informations relatives aux
transactions, en remplissant un groupe et en passant au suivant. Une fois que tous les groupes
sont pleins, l'instance commence à remplacer les informations du premier groupe.
Pour configurer la base de données en vue de bénéficier de possibilités de récupération
maximales, vous devez lui ordonner de créer une copie des groupes de fichiers de journalisation
en ligne avant d'autoriser leur remplacement. Ces copies sont appelées fichiers de journalisation
archivés.
Pour faciliter la création de fichiers de journalisation archivés :
1. Indiquez une convention d'appellation pour ces fichiers.
2. Indiquez une ou plusieurs destinations pour le stockage des fichiers de journalisation
archivés.
3. Placez la base de données en mode ARCHIVELOG.
Remarque : Les étapes 1 et 2 ne sont pas nécessaires si vous utilisez une zone de récupération
rapide.
La destination doit exister avant le passage de la base de données au mode ARCHIVELOG. Si
vous indiquez un répertoire comme destination, insérez une barre oblique à la fin de son nom.
Réponses : a, c
Remarque : Il est indispensable d'avoir réussi ces exercices pour effectuer tous les autres. A tout
moment du cours, si le formateur et vous-même décidez qu'il vaut mieux repartir avec une
nouvelle base de données, vous devrez réexécuter tous les exercices de ce chapitre.
Les données du référentiel RMAN sont toujours stockées dans le fichier de contrôle de la base
cible. Toutefois, elles peuvent également être stockées séparément dans un catalogue de
restauration.
Un catalogue de restauration conserve les informations de sauvegarde dans une base de
données distincte, ce qui peut se révéler utile en cas de perte d'un fichier de contrôle. Cela vous
permet de stocker un historique des sauvegardes plus long qu'avec un référentiel basé sur le
fichier de contrôle. Un catalogue de restauration peut stocker des informations concernant
plusieurs bases de données cible. En outre, le catalogue peut contenir des scripts RMAN stockés,
qui sont des séquences de commandes RMAN.
Si vous avez besoin d'effectuer des tâches de gestion de sauvegarde très simples, Oracle vous
recommande d'opter pour le fichier de contrôle plutôt que pour un catalogue de restauration. En
effet, un catalogue de restauration implique la gestion et la sauvegarde
d'une base de données supplémentaire. Par conséquent, utilisez-en un uniquement si ses
avantages vous sont bénéfiques, notamment si vous avez besoin d'une durée de conservation
des sauvegardes plus longue.
Un catalogue de restauration est nécessaire lorsque vous utilisez RMAN dans une configuration
Data Guard.
Recovery
Manager
(RMAN)
Structure de la base
de données
Fichier de contrôle Fichiers de journalisation Base de données
archivés
de la base cible du catalogue
Jeux de sauvegarde
de restauration
Copies des fichiers
de données
Après n'importe quelle opération mettant à jour le référentiel, ainsi qu'avant certaines opérations,
RMAN propage dans le catalogue de restauration des informations concernant la structure de la
base de données, les fichiers de journalisation archivés (archived redo logs), les jeux de
sauvegarde et les copies des fichiers de données, à partir du fichier de contrôle de la base cible.
Il est possible de n'utiliser que le fichier de contrôle comme référentiel RMAN, mais il dispose d'un
espace limité pour les enregistrements d'activités de sauvegarde. Lorsque vous utilisez un
catalogue de restauration, vous pouvez stocker un historique de sauvegardes bien plus long.
Cela vous permet d'effectuer une récupération jusqu'à un point dans le temps plus éloigné
qu'avec le fichier de contrôle.
Pour pouvoir utiliser des scripts stockés RMAN, vous devez recourir à un catalogue de
restauration.
Lorsque vous utilisez un catalogue de restauration, les informations de sauvegarde et de
récupération de toutes les cibles enregistrées figurent dans un même emplacement. Vous pouvez
créer des rapports personnalisés en vous connectant en tant que propriétaire du catalogue et en
interrogeant les différentes vues RC_. Si vous n'utilisez pas de catalogue de restauration, vous
devez vous connecter séparément à chaque instance de base de données cible et interroger les
vues V$ appropriées pour obtenir les informations RMAN à partir du fichier de contrôle de la cible.
Remarque : Enterprise Manager Cloud Control permet également de consulter les informations
de sauvegarde de plusieurs bases de données sans utiliser de catalogue de restauration.
Vous pouvez utiliser la commande BACKUP ... KEEP pour créer une sauvegarde qui est
conservée pendant une période différente de celle qui est indiquée par la stratégie de
conservation configurée. La clause KEEP FOREVER indique que la sauvegarde ou la copie
n'expire jamais et nécessite l'utilisation d'un catalogue de restauration pour que les
enregistrements de sauvegarde puissent être conservés indéfiniment.
Déterminez la base de données dans laquelle vous allez installer le schéma du catalogue de
restauration. Prenez soin d'implémenter des procédures de sauvegarde et de récupération
appropriées pour cette base.
L'espace requis par le schéma du catalogue de restauration dépend du nombre de bases de
données surveillées par ce catalogue. Cet espace augmente en même temps que le nombre de
fichiers de journalisation archivés et de sauvegardes pour chaque base. Si vous utilisez des
scripts stockés RMAN, vous devez leur allouer de l'espace. Chaque base de données enregistrée
dans le catalogue de restauration requiert généralement 15 Mo d'espace.
Après avoir créé le propriétaire du catalogue, exécutez la commande RMAN CREATE CATALOG
pour créer les tables du catalogue dans le tablespace par défaut du propriétaire du catalogue.
Remarque : Comme pour toute base de données, si la valeur de la variable d'environnement
ORACLE_SID est le SID de la base de données du catalogue, il est inutile d'indiquer le nom du
service dans l'instruction CONNECT.
Après avoir créé le catalogue de restauration, vous devez y enregistrer les bases de données
cible.
Vous pouvez effectuer cette opération à partir de la ligne de commande RMAN en procédant de
la manière suivante :
1. Appelez RMAN et connectez-vous à la base de données du catalogue de restauration et à
la base de données cible. Par exemple :
% rman TARGET / CATALOG rman/rman@reccatdb
2. Assurez-vous que la base cible est montée ou ouverte.
3. Exécutez la commande REGISTER pour enregistrer la base de données cible dans le
catalogue de restauration :
RMAN> REGISTER DATABASE;
Dans Enterprise Manager, pour enregistrer une base de données dans un catalogue de
restauration, vous devez d'abord ajouter le catalogue à la configuration EM. Exécutez Enterprise
Manager sur la base de données cible et sélectionnez ce catalogue comme étant celui de la base
cible.
Si vous utilisez RMAN pour enregistrer la base de données et n'effectuez pas les opérations
indiquées sur la diapositive dans Enterprise Manager, les opérations de sauvegarde et de
récupération effectuées à l'aide d'Enterprise Manager n'utiliseront pas le catalogue de
restauration. Par conséquent, même si vous avez exécuté la commande RMAN REGISTER
DATABASE, effectuez aussi les opérations d'enregistrement dans Enterprise Manager si vous
envisagez de l'utiliser.
Lorsque vous annulez l'enregistrement d'une base de données du catalogue de restauration, tous
les enregistrements correspondants du référentiel RMAN figurant dans ce catalogue sont
supprimés. Vous pouvez ré-enregistrer la base de données. Les enregistrements du catalogue
concernant cette base sont alors fondés sur le contenu du fichier de contrôle au moment du
nouvel enregistrement.
En règle générale, vous annulez l'enregistrement d'une base de données cible si vous ne
souhaitez plus utiliser le catalogue de restauration pour celle-ci ou si la base de données n'existe
plus.
Remarque : Si vous avez utilisé Enterprise Manager Cloud Control pour enregistrer votre base
de données, vous devez l'utiliser aussi pour annuler l'enregistrement.
Procédez à une resynchronisation manuelle du catalogue de restauration dans les cas suivants :
• Le catalogue de restauration n'était pas disponible lorsque vous avez exécuté des
commandes RMAN et une resynchronisation partielle a eu lieu.
• Vous effectuez des sauvegardes peu fréquentes de la base de données cible. Le catalogue
de restauration n'est donc pas mis à jour automatiquement lors des basculements et des
archivages des fichiers de journalisation.
• Vous avez apporté des modifications à la structure physique de la base de données cible.
Remarque : Pour plus d'informations sur les enregistrements mis à jour pendant une
resynchronisation, reportez-vous au manuel Backup and Recovery User's Guide.
Vous pouvez utiliser des scripts stockés RMAN (plutôt que des fichiers de commandes) pour
gérer des séquences de commandes RMAN utilisées fréquemment. Contrairement aux fichiers de
commandes qui sont disponibles uniquement sur le système où ils se trouvent, les scripts stockés
sont accessibles à tout client RMAN capable de se connecter à la base de données cible et au
catalogue de restauration.
Les scripts stockés sont soit globaux, soit locaux. Lorsqu'un script stocké local est créé, il est
associé à la base de données cible à laquelle RMAN est connecté. Il ne peut être exécuté que
lorsque vous êtes connecté à cette base. Un script stocké global peut être exécuté sur n'importe
quelle base de données enregistrée dans le catalogue de restauration. Il suffit que le client RMAN
soit connecté au catalogue de restauration et à la base cible.
Créer des scripts stockés RMAN
Pour créer un script stocké, connectez-vous à la base de données cible et au catalogue de
restauration, puis exécutez la commande CREATE SCRIPT.
Pour afficher un script stocké ou l'écrire dans un fichier, connectez-vous à la base de données
cible et au catalogue de restauration, puis lancez la commande PRINT SCRIPT.
Utilisez la commande LIST SCRIPT NAMES pour afficher les noms des scripts définis dans le
catalogue de restauration. Cette commande affiche les noms de tous les scripts stockés (scripts
globaux et scripts locaux) qui peuvent être exécutés pour la base cible à laquelle vous êtes
connecté.
Pour mettre à jour un script stocké, connectez-vous à la base de données cible et au catalogue
de restauration, puis lancez la commande REPLACE SCRIPT. RMAN crée le script s'il n'existe
pas.
Pour supprimer un script stocké du catalogue de restauration, connectez-vous au catalogue et à
une base de données cible, puis utilisez la commande DELETE SCRIPT.
Recovery
Manager
(RMAN)
Catalogue de restauration
Fichier de contrôle
du catalogue de restauration
Le catalogue de restauration est un schéma au sein d'une base de données Oracle. Il est
important de sauvegarder la base de données du catalogue de restauration et Oracle
recommande d'utiliser RMAN à cet effet. Ne stockez jamais le catalogue de restauration
contenant le référentiel RMAN d'une base de données cible dans cette même base ou sur le
même disque que cette base. En effet, un catalogue de restauration n'est efficace que s'il est
stocké à un endroit distinct des données qu'il est censé protéger.
Configurez la sauvegarde automatique du fichier de contrôle de sorte que ce dernier soit
enregistré à chaque sauvegarde du catalogue de restauration. Chaque fois que vous effectuez
une sauvegarde dans la base de données cible, sauvegardez le catalogue de restauration juste
après. L'enregistrement de la dernière sauvegarde est ainsi protégé.
Voici un résumé de la configuration du catalogue de restauration pour la sauvegarde et la
récupération :
• Configurez le mode ARCHIVELOG.
• Attribuez à la stratégie de conservation une valeur REDUNDANCY supérieure à 1.
• Sauvegardez le catalogue de restauration sur disque et sur bande.
• Pour effectuer les sauvegardes, utilisez la commande BACKUP DATABASE PLUS
ARCHIVELOG.
• Utilisez comme référentiel RMAN le fichier de contrôle (NOCATALOG), et non un autre
catalogue de restauration.
• Activez la sauvegarde automatique du fichier de contrôle (ON).
Les catalogues privés virtuels (VPC) permettent de consolider les référentiels RMAN. Ils
permettent aussi de séparer les responsabilités, ce qui est une condition de base pour assurer la
sécurité.
Le catalogue RMAN inclut la possibilité de créer des catalogues privés virtuels (VPC) pour des
groupes de bases de données et d'utilisateurs. Dans Oracle Database 12c Release 1 (12.1.0.2) le
catalogue de restauration RMAN est créé et géré à l'aide d'Oracle Virtual Private Database
(VPD), ce qui améliore les performances et l'évolutivité dans le cas d'un grand nombre de
catalogues privés virtuels.
Le propriétaire du catalogue peut accorder l'accès à une base de données enregistrée et octroyer
le privilège REGISTER au propriétaire du catalogue virtuel. Le propriétaire du catalogue virtuel
peut alors se connecter à ce catalogue pour une cible particulière ou enregistrer une base de
données cible. Après cette configuration, le catalogue privé virtuel peut être utilisé par son
propriétaire comme un catalogue de base standard.
Le propriétaire du catalogue peut accéder à toutes les informations concernant les bases de
données enregistrées dans le catalogue. Vous pouvez obtenir la liste de ces bases à l'aide de la
commande SQL*Plus suivante :
SELECT DISTINCT db_name FROM DBINC;
Le propriétaire d'un catalogue virtuel voit uniquement les bases de données auxquelles l'accès lui
a été accordé.
Remarque : Si le rôle SYSDBA ou SYSOPER n'a pas été octroyé au propriétaire du catalogue sur
la base de données cible, la plupart des opérations RMAN ne peuvent pas être effectuées.
La procédure à suivre pour créer un catalogue privé virtuel est variable selon que vous utilisez
Oracle Database 12c Release 1 version 12.1.0.1 ou version 12.1.0.2. Les étapes décrites dans
cette page s'appliquent à la version 12.1.0.1. Reportez-vous au manuel Oracle Database Backup
and Recovery User's Guide 12c Release 1 (12.1) pour obtenir des informations plus détaillées et
des exemples de syntaxe.
Dans Oracle Database 12c Release 1 (12.1.0.2), les catalogues privés virtuels sont implémentés
via Oracle Virtual Private Database (VPD). VPD fourni la possibilité de créer
des stratégies de sécurité pour contrôler l'accès aux bases de données au niveau ligne et au
niveau colonne. Pour plus d'informations sur Oracle VPD, reportez-vous au manuel Oracle
Database Security Guide 12c Release 1 (12.1).
Les étapes décrites sur cette page et la suivante s'appliquent à la version 12.1.0.2. Reportez-vous
au manuel Oracle Database Backup and Recovery User’s Guide12c Release 1 (12.1) pour
obtenir des informations plus détaillées et des exemples de syntaxe.
A partir de la version Oracle Database 12c Release 1 (12.1.0.2), RMAN utilise Oracle Virtual
Private Database (VPD) pour implémenter des catalogues privés virtuels. Si vous avez créé un
catalogue de restauration et des catalogues privés virtuels dans une version antérieure, vous
devez procéder à leur mise à niveau vers VPD comme indiqué dans la diapositive. Vous
trouverez des exemples de syntaxe dans le manuel Oracle Database Backup and Recovery
User’s Guide12c Release 1 (12.1).
Réponse : b
Réponse : b
1. Dans cette série d'exercices, vous commencez par créer un utilisateur et vous lui octroyez
les privilèges appropriés.
2. Ensuite, vous créez le catalogue de restauration RMAN dans une base de données prévue
à cet effet dans votre environnement de cours.
3. L'exercice suivant consiste à enregistrer la base de données ORCL dans le catalogue
de restauration que vous venez de créer.
4. Pour finir, vous configurez le mode ARCHIVELOG, vous définissez la stratégie de
conservation du catalogue de restauration et vous sauvegarder la base de données
de ce dernier en utilisant la stratégie de sauvegarde des sauvegardes incrémentielles
appliquées aux copies d'image. Cette méthode garantit une restauration rapide en basculant
vers la copie d'image au lieu de copier les sauvegardes vers l'emplacement d'origine.
Vous devez préparer votre environnement de formation en effectuant une sauvegarde à froid de
la base de données ORCL. Cette sauvegarde vous permettra de restaurer la base de données si
vous n'arrivez pas à exécuter correctement les exercices à venir.
Vous abordez le premier chapitre du module "Sauvegarde" qui en comprend quatre au total,
à savoir :
• Chapitre 5 : Stratégies de sauvegarde et terminologie associée
• Chapitre 6 : Réaliser des sauvegardes
• Chapitre 7 : Améliorer des sauvegardes
• Chapitre 8 : Utiliser les sauvegardes RMAN cryptées
Fichiers de
Sauvegarde gérée Zone de Copies d'image
données
par l'utilisateur récupération
rapide ou
autres zones Eléments de sauvegarde
Fichiers de sur disque
journalisation RMAN
archivés Données de sauvegarde
Sauvegarde
sur disque Sauvegarde
avec un
Fichier de Sauvegarde dans RMAN gestionnaire
de support
contrôle le canal SBT tiers
BdD cible
Gestion des supports
(Exemple : Oracle Secure Backup)
Oracle Sauvegarde sur bande
Secure
Fichiers non BdD
Backup
Recovery Manager (RMAN) est l'outil recommandé pour sauvegarder une base de données
Oracle. Il permet d'effectuer des sauvegardes sur disque ou dans un canal de type SBT (System
Backup to Tape, sauvegarde sur bande de systèmes). Oracle conseille de stocker les
sauvegardes sur disque dans la zone de récupération rapide (FRA, Fast Recovery Area).
Oracle Secure Backup complète les fonctionnalités existantes en permettant la sauvegarde sur
bande et la sauvegarde des données du système de fichiers. Il interagit avec RMAN de manière
transparente. Des gestionnaires de support tiers peuvent aussi être utilisés pour les sauvegardes
sur bande.
Les sauvegardes gérées par l'utilisateur sont effectuées en dehors de RMAN, par exemple à
l'aide d'un utilitaire du système d'exploitation. Elles sont souvent basées sur des scripts écrits par
un DBA. Cette option est en cours d'abandon car elle exige davantage de travail.
— Sauvegarde différentielle
• Sauvegarde totale de la base de données : Elle inclut tous les fichiers de données et au
moins un fichier de contrôle. (Souvenez-vous que tous les fichiers de contrôle d'une base de
données sont identiques.)
• Sauvegarde partielle de la base de données : Elle peut inclure certains tablespaces et
fichiers de données, voire un fichier de contrôle.
• Sauvegarde complète : Copie de chaque bloc contenant des données et appartenant aux
fichiers soumis à la sauvegarde.
• Sauvegarde incrémentielle : Copie de tous les blocs de données qui ont subi des
modifications depuis une précédente sauvegarde. La base de données Oracle prend en
charge deux niveaux de sauvegarde incrémentielle (0 et 1). Une sauvegarde incrémentielle
de niveau 1 peut être cumulative ou différentielle. Une sauvegarde cumulative enregistre
toutes les modifications effectuées depuis la dernière sauvegarde de niveau 0. Une
sauvegarde différentielle conserve toutes les modifications effectuées depuis la dernière
sauvegarde incrémentielle (niveau 0 ou niveau 1). Le suivi des modifications effectué par
RMAN prend en charge les sauvegardes incrémentielles.
• Sauvegarde hors ligne (aussi appelée "sauvegarde à froid", "sauvegarde base fermée" ou
"sauvegarde cohérente") : Il s'agit d'une sauvegarde effectuée lorsque la base de données
est fermée. Elle est cohérente parce qu'au moment de sa création, le numéro SCN figurant
dans les en-têtes de fichier de données correspond à celui des fichiers de contrôle.
• Sauvegarde en ligne (aussi appelée "sauvegarde à chaud", "sauvegarde base ouverte" ou
"sauvegarde incohérente") : Il s'agit d'une sauvegarde effectuée lorsque la base de données
est ouverte. Ces sauvegardes 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.
Stratégie de sauvegarde • Améliore les performances de sauvegarde, mais avec un effet négatif sur
incrémentielle les performances de récupération.
• Suivi des modifications de bloc pour des sauvegardes incrémentielles plus
rapides.
• Sauvegardes incrémentielles, cumulatives et différentielles.
• L'option de "sauvegarde incrémentielle à vie" nécessite une sauvegarde
complète au départ.
Multiplexage • Sauvegarde des fichiers en parallèle par canal pour améliorer les
performances.
• Niveau de multiplexage = min (FILESPERSET, MAXOPENFILES). Définissez
MAXOPENFILES = 1 pour les fichiers de données SAME ou ASM.
• Définissez un nombre de canaux RMAN égal au nombre d'unités de bande.
Les options de stratégie de sauvegarde énoncées dans la diapositive sont décrites en détail dans
les pages suivantes.
Leurs avantages respectifs sont les suivants :
• Option 1 : Economique en termes d'espace de stockage et de coût
• Option 2 : Efficacité de la récupération
• Option 3 : Avantages des options 1 et 2, plus la possibilité de déporter la charge de
production
Les exemples proposés ci-après devraient vous aider à mettre au point votre propre stratégie de
sauvegarde et récupération, en combinant éventuellement les différentes options en fonction de
vos besoins spécifiques de récupération et de votre infrastructure disponible (bandes, disques,
etc.).
Cette option consiste à créer des sauvegardes mises à jour de façon incrémentielle. Vous créez
une copie d'image de chaque fichier de données, puis vous y appliquez les sauvegardes
journalières de niveau 1 pour les mettre à jour. Vous évitez ainsi de créer des copies d'image
complètes des fichiers de données tout en conservant la possibilité d'utiliser les copies
incrémentielles pour gagner du temps lors d'une opération de récupération.
Dans un environnement Data Guard, vous pouvez délester les sauvegardes incrémentielles vers
une base de secours physique. Les sauvegardes incrémentielles d'une base de secours et d'une
base principale sont interchangeables. Vous pouvez appliquer une sauvegarde incrémentielle
d'une base de secours à la base principale et inversement.
Remarque : L'option Oracle Active Data Guard est indispensable pour le suivi des modifications
au niveau bloc sur la base de secours physique.
À l'aide d'une commande similaire à la suivante, vous pouvez répartir la charge globale de
sauvegarde complète entre plusieurs jours :
BACKUP DATABASE NOT BACKED UP SINCE ‘SYSDATE-3’ DURATION 06:00 PARTIAL
MINIMIZE TIME;
Lorsque vous lancez cette commande (le premier jour), une sauvegarde complète débute et va
s'exécuter pendant six heures. Le jour suivant, la même commande s'exécute à nouveau. Elle
commence par le dernier fichier non sauvegardé la veille, puis une sauvegarde complète reprend
dans la même fenêtre de six heures. La base de données entière va ainsi être sauvegardée en
l'espace de quelques jours.
Fichier de Fichier de
données 1 données 1
Fichier de Fichier de
données 2 données 2
Fichier de Fichier de
données 3 données 3
Tablespace Jeu de
HR_DATA
sauvegarde
RMAN peut stocker ses sauvegardes dans un format qui lui est exclusif, appelé jeu de
sauvegarde. Un jeu de sauvegarde est un ensemble de fichiers appelés éléments de sauvegarde
qui contiennent chacun une ou plusieurs sauvegardes de fichiers de base de données.
Remarque : Le paramètre FORMAT indique un modèle à utiliser lors de la création d'un nom de
fichier pour les éléments de sauvegarde créés par cette commande. La spécification FORMAT
peut également être fournie via les commandes ALLOCATE CHANNEL et CONFIGURE.
Copie du fichier
Fichier de Fichier de de données 3
données 3 données 3
Copie du fichier de
journalisation archivé
Fichier de Fichier de
journalisation journalisation
archivé archivé
Une copie d'image est un clone représentant un seul fichier de données, fichier de journalisation
archivé ou fichier de contrôle. Elle peut être créée à l'aide de la commande BACKUP AS COPY ou
d'une commande du système d'exploitation. Lorsque vous créez la copie d'image avec la
commande RMAN BACKUP AS COPY, la session serveur valide les blocs du fichier et enregistre
les informations sur la copie dans le fichier de contrôle.
Une copie d'image présente les caractéristiques suivantes :
• Une copie d'image ne peut être écrite que sur disque. Avec des fichiers volumineux, le
processus de copie peut prendre plus de temps, mais le temps de restauration est
considérablement réduit puisque la copie est disponible sur le disque.
• Si les fichiers sont stockés sur disque, ils peuvent être utilisés immédiatement à l'aide de la
commande SWITCH de RMAN, qui est l'équivalent de l'instruction SQL ALTER DATABASE
RENAME FILE.
• Dans une copie d'image, tous les blocs sont copiés, qu'ils contiennent ou non des données,
parce qu'un processus de base de données Oracle copie le fichier et effectue d'autres
opérations telles que la recherche des blocs endommagés et l'enregistrement de la copie
dans le fichier de contrôle.
• Pour accélérer le processus de copie, vous pouvez utiliser le paramètre NOCHECKSUM. Par
défaut, RMAN calcule un checksum pour chaque bloc sauvegardé et le stocke avec la
sauvegarde. Le checksum est vérifié lors de la restauration de la sauvegarde.
• Une copie d'image peut faire partie d'une sauvegarde complète ou incrémentielle de
niveau 0 car elle inclut toujours tous les blocs. Utilisez l'option "level 0" si la copie doit être
utilisée avec un jeu de sauvegardes incrémentielles.
Fichier de
contrôle
Copies des fichiers de Copies des fichiers SPFILE
journalisation archivés de données
Une sauvegarde totale de la base comprend des jeux de sauvegardes ou des copies d'image
pour l'ensemble des fichiers de données et doit en outre comprendre le fichier de contrôle (inclus
automatiquement). Vous pouvez mentionner le fichier de paramètres serveur (SPFILE) et les
fichiers de journalisation archivés. Pour réaliser une copie d'image de tous les fichiers de la base
de données à l'aide de Recovery Manager (RMAN), il suffit de monter ou d'ouvrir la base, de
lancer RMAN et d'entrer la commande BACKUP illustrée dans la diapositive.
Vous pouvez éventuellement ajouter l'option DELETE INPUT pour sauvegarder des fichiers de
journalisation archivés. Ainsi, RMAN supprimera ces fichiers après les avoir sauvegardés. Cette
méthode est particulièrement utile en l'absence de zone de récupération rapide. En effet, celle-ci
gère automatiquement l'espace en supprimant des fichiers au besoin. Voici un exemple :
RMAN> BACKUP DATABASE PLUS ARCHIVELOG DELETE INPUT;
Pour effectuer la sauvegarde comme décrit précédemment, vous devez avoir exécuté les
commandes CONFIGURE suivantes :
• CONFIGURE DEFAULT DEVICE TYPE TO disk;
• CONFIGURE DEVICE TYPE DISK BACKUP TYPE TO COPY;
• CONFIGURE CONTROLFILE AUTOBACKUP ON;
Réponse : a
Réponse : b
Réponse : b, d, e
Dans ces exercices, vous allez développer des stratégies de sauvegarde pour divers types de
base de données présentant des besoins différents et vous allez mettre en oeuvre un programme
de sauvegarde à l'aide d'Enterprise Manager.
Vous abordez le deuxième chapitre du module "Sauvegarde" qui en comprend quatre au total, à
savoir :
• Chapitre 5 : Stratégies de sauvegarde et terminologie associée
• Chapitre 6 : Réaliser des sauvegardes
• Chapitre 7 : Améliorer des sauvegardes
• Chapitre 8 : Utiliser les sauvegardes RMAN cryptées
Sauvegardes complètes
Une sauvegarde complète est différente d'une sauvegarde de l'ensemble de la base de données.
En effet, une sauvegarde de fichier de données complète est une sauvegarde incluant chaque
bloc de données utilisé dans le fichier. RMAN copie tous les blocs dans le jeu de sauvegarde ou
dans la copie d'image, en ignorant uniquement les blocs qui ne sont pas inclus dans un segment
existant. Dans le cadre d'une copie d'image complète, tout le contenu du fichier est reproduit
exactement. Une sauvegarde complète ne peut pas faire partie d'une stratégie de sauvegarde
incrémentielle ; elle ne peut pas être le parent d'une sauvegarde incrémentielle ultérieure.
Sauvegardes incrémentielles
Une sauvegarde incrémentielle est soit une sauvegarde de niveau 0, qui inclut chaque bloc des
fichiers de données à l'exception des blocs qui n'ont jamais été utilisés, soit une sauvegarde de
niveau 1, qui inclut uniquement les blocs modifiés depuis une précédente sauvegarde. Une
sauvegarde incrémentielle de niveau 0 est physiquement identique à une sauvegarde complète.
La seule différence est que la sauvegarde de niveau 0 (de même qu'une copie d'image) peut
servir de point de départ pour une sauvegarde de niveau 1, tandis qu'une sauvegarde complète
ne peut jamais être utilisée pour effectuer une sauvegarde de niveau 1.
Fichiers de
sauvegarde
incrémentielle
Copie d'image d'un
fichier de données
Vous pouvez utiliser RMAN pour appliquer des sauvegardes incrémentielles à des copies
d'image de fichiers de données.
BACKUP AS COPY INCREMENTAL LEVEL 0 DATABASE;
Avec des sauvegardes mises à jour de façon incrémentielle, vous pouvez utiliser la commande
SWITCH pendant l'opération de récupération.
RMAN peut réimplémenter les modifications pour récupérer une copie d'image jusqu'à un point
spécifique dans le temps en lui appliquant les sauvegardes incrémentielles. La copie d'image est
mise à jour avec toutes les modifications jusqu'au numéro SCN au niveau duquel la sauvegarde
incrémentielle a été effectuée. RMAN utilise ensuite le fichier de données actualisé résultant pour
effectuer la restauration physique, comme il utiliserait une copie d'image complète prise au niveau
de ce numéro SCN. Cependant, cela permet d'éviter la surcharge liée à l'exécution quotidienne
d'une copie d'image complète de la base de données. L'application de sauvegardes
incrémentielles aux copies d'image de fichiers de données présente les avantages suivants :
• La restauration physique (à l'aide de fichiers journaux archivés) est plus rapide, car il suffit
d'appliquer uniquement les fichiers journaux qui ont été archivés depuis la dernière
sauvegarde incrémentielle.
• Il est inutile d'effectuer une copie d'image complète après la restauration incrémentielle.
Si vous exécutez quotidiennement les commandes illustrées sur la diapositive, vous disposez à
tout moment de copies d'image à jour pour l'ensemble des fichiers de données de la base.
Le tableau indique les conséquences de chaque exécution. Notez que cet algorithme requiert une
configuration initiale ; la stratégie ne se réalise qu'après le jour 3.
• Jour 1 : La commande RECOVER ne fait rien. Il n'existe aucune copie d'image à récupérer.
La commande BACKUP crée les copies d'image.
• Jour 2 : La commande RECOVER ne fait toujours rien. En effet, il n'existe pas de sauvegarde
incrémentielle. Comme des copies d'image de référence ont été créées le jour 1, la
commande BACKUP crée la sauvegarde incrémentielle.
• Jour 3 : La commande RECOVER applique les modifications aux copies d'image à partir de
la sauvegarde incrémentielle. La commande BACKUP effectue une autre sauvegarde
incrémentielle qui sera utilisée pour récupérer les copies d'image le jour 4, et ainsi de suite.
Lors de l'implémentation de ce type de stratégie de sauvegarde, il est important d'utiliser des
balises. Celles-ci permettent de relier des sauvegardes incrémentielles particulières aux copies
d'image réalisées. Sans balise, la sauvegarde incrémentielle la plus récente (peut-être incorrecte)
serait utilisée pour récupérer les copies d'image.
SGA Fichier de
Génération des infos journalisation
de journalisation
Vous pouvez effectuer une sauvegarde incrémentielle rapide en activant la fonctionnalité de suivi
des modifications de blocs (BCT, Block Change Tracking). Le fichier de suivi peut contenir au
maximum huit bitmaps. La sauvegarde ne peut donc pas être optimisée si plus de huit
sauvegardes incrémentielles ont eu lieu depuis la création de la sauvegarde parent servant de
base à la nouvelle sauvegarde incrémentielle. Tenez compte de cette limite de huit bitmaps
lorsque vous concevez votre stratégie de sauvegarde incrémentielle. Par exemple, si vous
réalisez une sauvegarde de niveau 0 suivie de sept sauvegardes incrémentielles différentielles, le
fichier de suivi des modifications de bloc a déjà atteint sa limite. Si vous effectuez ensuite une
sauvegarde incrémentielle de niveau 1 cumulative, RMAN ne peut plus assurer l'optimisation car
le bitmap correspondant à la sauvegarde parent (niveau 0) est alors remplacé par le bitmap de
suivi des modifications actuelles.
Lorsque vient le moment d'effectuer la sauvegarde incrémentielle, RMAN consulte le fichier de
suivi pour déterminer les morceaux de blocs modifiés et il sauvegarde uniquement ces derniers. Il
n'a pas à analyser chaque bloc pour savoir s'il a changé depuis la dernière sauvegarde. Cela
peut réduire la durée de la sauvegarde incrémentielle.
L'utilisation de la fonctionnalité de suivi des modifications de bloc est recommandée lorsque les
modifications ne représentent pas plus de 20 %.
La maintenance du fichier de suivi est entièrement automatique et ne requiert pas votre
intervention. La taille minimale du fichier de suivi est de 10 Mo. L'espace supplémentaire requis
est alloué par incréments de 10 Mo. Par défaut, le serveur de base de données Oracle
n'enregistre pas les informations relatives aux modifications de bloc.
Vous pouvez activer le suivi des modifications de bloc dans plusieurs outils
Dans Cloud Control, par exemple, accédez à la page d'accueil de l'instance de base de données
et sélectionnez Availability > Backup & Recovery > Backup Settings > Policy. Il n'est pas
nécessaire de préciser la destination du fichier de suivi si le paramètre d'initialisation
DB_CREATE_FILE_DEST est défini. Vous avez néanmoins la possibilité d'indiquer le nom de
fichier et l'emplacement de votre choix.
Vous pouvez également activer ou désactiver la fonctionnalité de suivi à l'aide de la commande
ALTER DATABASE. Si le fichier de suivi se trouve dans la même zone de stockage que les fichiers
de base de données, il est supprimé lorsque vous désactivez la fonctionnalité de suivi des
modifications.
Vous pouvez renommer le fichier de suivi à l'aide de la commande ALTER DATABASE RENAME.
Pour cela, il faut que la base de données soit dans l'état MOUNT. La commande ALTER DATABASE
RENAME FILE met à jour le fichier de contrôle pour qu'il renvoie au nouvel emplacement. Pour
modifier l'emplacement du fichier de suivi des modifications de blocs, vous pouvez utiliser la
syntaxe suivante :
ALTER DATABASE RENAME FILE '...' TO '...';
Remarque : RMAN ne prend pas en charge la sauvegarde et la récupération du fichier de suivi
des modifications de blocs. Vous ne devez donc pas placer ce fichier dans la zone de
récupération rapide.
Sauvegarde complète
+ sauv. incr. journalière
= nouvelle sauvegarde "complète"
+ fichiers de journalisation
archivés quotidiens pour la récupération
Commandes RMAN :
• LIST affiche des informations sur les jeux de sauvegarde,
les copies proxy et les copies d'image enregistrées dans
le référentiel.
• REPORT produit une analyse détaillée du référentiel.
• REPORT NEED BACKUP répertorie tous les fichiers de
données qui nécessitent une sauvegarde.
• REPORT OBSOLETE identifie les fichiers qui ne sont plus
nécessaires pour répondre aux stratégies de conservation
des sauvegardes.
Enterprise Manager Cloud Control :
• Interface graphique personnalisable
• La commande RMAN LIST permet d'afficher des informations sur les jeux de sauvegarde,
les copies proxy (déléguées à un système tiers) et les copies d'image enregistrées dans le
référentiel (repository). Il existe divers moyens d'afficher des informations sur les
sauvegardes.
• La commande RMAN REPORT permet d'analyser de façon plus détaillée les informations
figurant dans le référentiel RMAN.
• La commande REPORT NEED BACKUP est utilisée pour identifier tous les fichiers de données
qui nécessitent une sauvegarde. Le rapport est généré en supposant que la sauvegarde la
plus récente sera utilisée en cas de restauration.
• La commande REPORT OBSOLETE renvoie les fichiers qui ne sont plus nécessaires au
regard des stratégies de conservation des sauvegardes. Par défaut, cette commande
signale les fichiers qui sont obsolètes dans le cadre de la stratégie de conservation en
vigueur. Il est possible de générer des rapports sur les fichiers obsolètes en fonction de
diverses stratégies de conservation. Vous disposez à cet effet des options REDUNDANCY et
RECOVERY WINDOW avec la commande REPORT OBSOLETE.
De nombreuses vues fournissent des informations sur les sauvegardes. Les plus couramment
utilisées sont indiquées dans la diapositive ci-dessus.
Si vous utilisez un catalogue de restauration, vous pouvez interroger des vues contenant les
mêmes informations pour chaque base de données cible enregistrée dans la base du catalogue.
Elles portent le même nom, sauf que le préfixe V$ est remplacé par RC_. En outre, elles figurent
dans le schéma du propriétaire du catalogue de restauration. Par exemple, pour obtenir les
informations décrites sur la diapositive ci-dessus, vous devrez consulter les vues vues du
catalogue du restauration RC_BACKUP_SET, RC_BACKUP_PIECE, RC_DATAFILE_COPY et
RC_BACKUP_FILES.
Pour interroger la vue RC_BACKUP_FILES, vous devez d'abord exécuter la commande suivante
dans la base de données du catalogue de restauration :
SQL> CALL DBMS_RCVMAN.SETDATABASE(null,null,null,<dbid>);
où <dbid> est le DBID d'une base de données cible.
Utilisez la commande CROSSCHECK pour vous assurer que les données relatives aux
sauvegardes dans le catalogue de restauration ou le fichier de contrôle sont synchronisées avec
les fichiers réels présents sur le disque ou dans le catalogue de gestion des supports. Elle opère
uniquement sur les fichiers enregistrés dans le référentiel RMAN.
La commande CROSSCHECK ne vérifie que les objets marqués comme AVAILABLE ou EXPIRED.
Elle examine les fichiers situés sur le disque pour les canaux DISK ou elle interroge le
gestionnaire de support pour les canaux sbt. Lorsqu'elle ne trouve pas un fichier, elle affecte le
statut EXPIRED à l'enregistrement correspondant du référentiel. Elle ne supprime pas le fichier.
La commande DELETE peut supprimer tout fichier sur lequel les commandes LIST et
CROSSCHECK peuvent opérer. Par exemple, vous pouvez supprimer des jeux de sauvegarde, des
fichiers de journalisation archivés (archived redo logs) et des copies de fichiers de données. Elle
supprime à la fois le fichier physique et l'enregistrement de catalogue correspondant au fichier. La
commande DELETE OBSOLETE supprime les sauvegardes qui ne sont plus utiles. Elle utilise les
mêmes options REDUNDANCY et RECOVERY WINDOW que la commande REPORT OBSOLETE.
Si vous supprimez des sauvegardes sans utiliser RMAN, vous pouvez utiliser la commande
UNCATALOG pour supprimer les fichiers du catalogue de restauration, ou encore les commandes
CROSSCHECK et DELETE EXPIRED.
Pour obtenir des informations détaillées sur la syntaxe, reportez-vous au manuel Oracle
Database Backup and Recovery Reference.
Réponse : a
Réponse : a
Vous abordez le troisième chapitre du module "Sauvegarde" qui en comprend quatre au total, à
savoir :
• Chapitre 5 : Stratégies de sauvegarde et terminologie associée
• Chapitre 6 : Réaliser des sauvegardes
• Chapitre 7 : Améliorer des sauvegardes
• Chapitre 8 : Utiliser les sauvegardes RMAN cryptées
Pour certains types de sauvegarde, RMAN peut ignorer des blocs particuliers. C'est notamment le
cas des blocs qui ne sont pas alloués, situés au-dessus de la marque HWM. Par ailleurs, certains
blocs alloués n'appartenant plus à un segment (et donc inutilisés) peuvent être ignorés si les
conditions suivantes sont satisfaites :
• Aucun point de restauration garanti n'est défini.
• Le fichier de données contient des données associées uniquement à des tablespaces gérés
localement.
• Le fichier de données est sauvegardé dans un jeu dans le cadre d'une sauvegarde
complète ou d'une sauvegarde incrémentielle de niveau 0.
• La sauvegarde est effectuée sur disque ou Oracle Secure Backup assure la gestion des
supports.
run {
SET COMPRESSION ALGORITHM 'HIGH/MEDIUM/LOW/BASIC';
.. }
BACKUP AS COMPRESSED BACKUPSET DATABASE PLUS ARCHIVELOG;
Tandis que la compression des blocs inutilisés réduit le nombre de blocs écrits dans la
sauvegarde, la compression binaire peut compresser les données écrites au moyen d'un
algorithme. Les algorithmes de compression disponibles sont HIGH, MEDIUM, LOW et BASIC. Si
vous voulez une compression binaire pour un périphérique spécifique, précisez le mot-clé
COMPRESSED après la clause BACKUP TYPE TO.
La restauration d'une sauvegarde compressée ne requiert aucune opération supplémentaire.
Toutefois, il faut noter que les opérations de compression et de décompression mobilisent des
ressources de la CPU. Il est donc fort probable que la création et la restauration d'une
sauvegarde compressée va demander plus de temps et consommer davantage de ressources
système.
Lors du choix d'un algorithme, prenez en compte l'espace disque et les ressources système
dynamiques (CPU et mémoire, notamment).
Vous pouvez configurer la compression par type de périphérique ou pour chaque jeu de
sauvegarde comme indiqué dans la diapositive ci-dessus.
Comme l'indique la diapositive, la compression binaire des sauvegardes est prise en charge au
moyen de paramètres d'algorithme. Tous les modes à l'exception de BASIC requièrent l'option
Oracle Advanced Compression Database.
Etant donné que les différents niveaux de compression dépendent de la nature des données de la
base, de la configuration réseau, des ressources système, du type de système informatique et de
ses capacités, Oracle Corporation ne peut pas fournir de statistiques de performances
universelles. Pour choisir le niveau le plus adapté à votre système, tenez compte de l'équilibre
entre la bande passante de la CPU et la vitesse réelle de la CPU. Il est vivement recommandé
d'effectuer des tests avec différents niveaux. Le choix d'un niveau de compression adapté à votre
environnement, au trafic réseau (charge globale) et au jeu de données est le seul moyen de
répondre aux besoins de performances de votre organisation et aux exigences des contrats de
niveau de service en vigueur.
Les taux disponibles sont les suivants :
• LOW : Il s'agit du niveau le plus rapide. Il sollicite au minimum les ressources CPU mais
assure une compression inférieure au niveau MEDIUM.
• MEDIUM : Ce niveau assure un bon équilibre entre l'utilisation de la CPU et le taux de
compression.
• HIGH : Ce niveau offre le meilleur taux de compression, mais au prix d'une consommation
maximale de CPU.
• BASIC : Ce niveau offre un taux de compression comparable à celui de l'option MEDIUM
mais consomme davantage de ressources CPU.
Réponse : a
Recovery Session
Manager serveur
(RMAN) (canal)
Bibliothèque
de gestion
des supports
Oracle Secure Ou
Backup avec
MML intégré Logiciel serveur
de gestion
des supports
Pour sauvegarder la base de données sur bande, Recovery Manager a besoin d'Oracle Secure
Backup ou d'un gestionnaire de support.
Un gestionnaire de support est un utilitaire permettant de charger, de libeller et de décharger des
supports séquentiels (tels que des bandes) pour la sauvegarde, la restauration et la récupération
des données. Le serveur de base de données Oracle appelle des routines logicielles MML (Media
Management Library) pour sauvegarder les fichiers de données sur les supports contrôlés par le
gestionnaire de support, ainsi que pour les restaurer à partir de ces supports.
Notez qu'il n'est pas nécessaire que le serveur de base de données Oracle se connecte au
logiciel MML lors de la sauvegarde sur disque.
Le programme Oracle BSP (Backup Solutions Program) offre un large éventail de produits de
gestion des supports compatibles avec la spécification MML d'Oracle. Les logiciels compatibles
avec l'interface MML permettent à une session de base de données Oracle de sauvegarder les
données sur un gestionnaire de support et de demander à ce dernier de restaurer les
sauvegardes. Contactez votre fabricant de supports afin de déterminer s'il est membre du
programme Oracle BSP.
Pour pouvoir utiliser RMAN avec un gestionnaire de support, vous devez installer le logiciel de
gestion des supports et vous assurer que RMAN peut communiquer avec lui. Les instructions
relatives à cette procédure sont généralement fournies dans la documentation du logiciel de
gestion des supports.
Canal 2
Section 2
Canal 3
Section 3
Canal 4
Section 4
Fichier de données Jeu de sauvegarde
volumineux à plusieurs éléments
La taille d'un fichier de données Oracle peut atteindre 128 To. Normalement, la plus petite unité
d'une sauvegarde RMAN est un fichier entier, ce qui n'est pas pratique avec des fichiers aussi
gros. RMAN peut éventuellement diviser les fichiers volumineux en sections, puis sauvegarder et
restaurer ces dernières indépendamment. Cette fonctionnalité est intégrée dans RMAN. Pour
l'utiliser, créez des sauvegardes multisections : les fichiers générés pour le jeu de sauvegarde
sont ainsi divisés en plusieurs fichiers distincts. Cette méthode s'applique aux jeux de sauvegarde
et aux copies d'image.
Chaque section correspond à une plage contiguë de blocs d'un fichier. Les différentes sections
d'un fichier peuvent être traitées de manière indépendante, en série ou en parallèle. L'utilisation
de sections peut améliorer les performances des opérations de sauvegarde et permettre de
redémarrer des sauvegardes de fichiers volumineux.
Un travail de sauvegarde multisection produit un jeu de sauvegarde à plusieurs éléments.
Chaque élément contient une section du fichier. Toutes les sections d'une sauvegarde
multisection ont la même taille (à l'exception peut-être de la dernière). Chaque fichier est divisé
au maximum en 256 sections.
Exemple :
RMAN> BACKUP DATAFILE 5 SECTION SIZE = 25M TAG 'section25mb';
backing up blocks 1 through 3200
piece handle=/u01/.../o1_mf_nnndf_SECTION25MB_382dryt4_.bkp
tag=SECTION25MB comment=NONE
...
backing up blocks 9601 through 12800
piece handle=/u01/.../o1_mf_nnndf_SECTION25MB_382dsto8_.bkp
tag=SECTION25MB comment=NONE
Session
Recovery Manager serveur
(RMAN) (canal)
Bibliothèque
de gestion
des supports
Logiciel serveur
de gestion
des supports
Utilisez l'option PROXY de la commande RMAN BACKUP pour inviter une bibliothèque de gestion
des supports (MML, Media Management Library) à réaliser la copie des fichiers.
Syntaxe :
BACKUP [AS BACKUPSET] … PROXY [ONLY] DATABASE|TABLESPACE....
L'option PROXY ONLY est utile pour les gestionnaires de support et les réseaux de stockage pour
lesquels le trafic est notablement réduit lorsque la sauvegarde est effectuée par le proxy.
Certains produits de gestion des supports peuvent gérer totalement l'ensemble des déplacements
entre les fichiers de données Oracle et les périphériques de sauvegarde. Certains produits qui
utilisent des connexions haute vitesse entre les sous-systèmes de stockage et de support
peuvent réduire considérablement la charge de sauvegarde sur le serveur de base de données
principal. L'avantage réside dans le fait que la copie a lieu via le réseau SAN au lieu du réseau
LAN. Dans ce cas, RMAN n'est plus impliqué dans l'opération, excepté pour communiquer le
statut sur le réseau local et en provenance de la bibliothèque de gestion des supports.
Vous pouvez utiliser la commande RMAN LIST BACKUP pour afficher des informations sur la
copie proxy. La vue V$PROXY_DATAFILE contient les descriptions des sauvegardes de copies
proxy des fichiers de données et fichiers de contrôle.
Copie de Copie de
sauvegarde 1 sauvegarde 2
Vous pouvez utiliser la commande BACKUP avec l'option COPIES pour modifier les autres
paramètres COPIES ou DUPLEX afin de créer des jeux de sauvegarde duplexés.
Pour duplexer une sauvegarde à l'aide de la commande BACKUP COPIES, procédez comme suit :
1. Indiquez le nombre de copies identiques à effectuer à l'aide de l'option COPIES de la
commande BACKUP.
2. Exécutez une commande LIST BACKUP pour vérifier votre sauvegarde.
Les sauvegardes duplexées nécessitent des ressources supplémentaires. Par exemple, si une
sauvegarde sur bande non duplexée utilise trois canaux RMAN (réclamant chacun une unité de
bande), la même sauvegarde duplexée (générant deux copies) requiert six unités de bande (voir
l'illustration de la diapositive).
Un trait de soulignement et un numéro (_1, _2, et ainsi de suite) sont ajoutés au nom de l'élément
de sauvegarde pour signaler qu'il s'agit d'une copie duplexée.
Fichier de Fichier de
données 1 données 1
Fichier de
données 2
Fichier de
données 2 Fichier de
données 3
Fichier de
données 3
Fichiers de
journalisation
Fichiers de archivés
journalisation
archivés Jeux de sauvegarde
Utilisez la commande RMAN BACKUP BACKUPSET pour sauvegarder des jeux de sauvegarde
créés précédemment. Seuls les jeux de sauvegarde créés sur le type de périphérique DISK
peuvent être sauvegardés via RMAN. Il est possible d'utiliser n'importe quel type de périphérique
pour sauvegarder les jeux de sauvegarde.
La commande BACKUP BACKUPSET utilise le canal de disque par défaut pour copier des jeux de
sauvegarde entre disques. Pour effectuer une sauvegarde entre un disque et une bande,
configurez ou allouez manuellement un canal autre qu'un canal de disque.
Sauvegarde
d'archivage
Journal 250 Journal 900
Maintenant
Si vous avez besoin de conserver une sauvegarde base ouverte pendant un certain temps,
RMAN suppose que vous risquez à tout moment de vouloir effectuer une récupération en utilisant
cette sauvegarde comme point de départ. Pour satisfaire ce scénario, RMAN conserve les fichiers
de journalisation archivés pour la période définie. Toutefois, vous pouvez simplement vouloir
conserver une sauvegarde spécifique (ainsi que tous les éléments associés requis pour sa
cohérente et sa récupération) pendant une durée donnée (deux ans, par exemple). Vous n'avez
pas l'intention d'effectuer une récupération jusqu'à un point dans le temps ultérieur à partir de
cette sauvegarde, mais souhaitez simplement être en mesure de remonter au moment exact de la
sauvegarde. En outre, vous souhaitez préserver une stratégie de conservation qui garantisse
l'accessibilité de votre zone de sauvegarde. Il n'est donc pas acceptable pour vous de remonter
jusqu'à deux ans en arrière. Un tel besoin naît souvent des impératifs d'exploitation ou des
obligations légales en matière de conservation des données.
Une sauvegarde d'archivage permet d'y répondre. Si vous marquez une sauvegarde comme
étant une sauvegarde d'archivage, cet attribut passe outre n'importe quelle stratégie de
conservation configurée pour cette sauvegarde. Vous pouvez conserver des sauvegardes
d'archivage de manière à ce qu'elles ne soient jamais considérées comme obsolètes ou
uniquement au-delà de la durée indiquée. Dans le premier cas, vous devez utiliser un catalogue
de restauration.
Pour créer une sauvegarde d'archivage à l'aide de RMAN, utilisez la syntaxe suivante :
BACKUP ... KEEP {FOREVER|UNTIL TIME 'SYSDATE + <n>'} RESTORE POINT
<restore_point_name>
La clause UNTIL TIME vous permet d'indiquer à partir de quand la sauvegarde d'archivage sera
soumise à la stratégie de conservation. Vous pouvez éventuellement indiquer FOREVER. Dans ce
cas, la sauvegarde est une sauvegarde d'archivage et le demeure tant que vous n'effectuez
aucune opération pour modifier la situation.
Vous pouvez éventuellement utiliser la clause RESTORE POINT pour nommer le point de
restauration à associer à cette sauvegarde. La clause RESTORE POINT crée un point de
"cohérence" dans le fichier de contrôle. Elle affecte un nom à un SCN spécifique. Le SCN est
capturé juste après la fin de la sauvegarde du fichier de données. La sauvegarde d'archivage
peut être restaurée et récupérée pour ce point dans le temps. Cela permet d'ouvrir la base de
données. A l'inverse, la clause UNTIL TIME définit la date jusqu'à laquelle la sauvegarde doit être
conservée.
La commande CHANGE modifie le statut d'exemption d'une sauvegarde ou copie par rapport à la
stratégie de conservation configurée. Par exemple, vous pouvez indiquer CHANGE ... NOKEEP
pour qu'une sauvegarde actuellement exempte de la stratégie de conservation devienne
admissible pour le statut OBSOLETE.
Le premier exemple transforme une sauvegarde cohérente en sauvegarde d'archivage (que vous
envisagez de stocker hors site). Comme la base de données est cohérente et par conséquent ne
nécessite aucune restauration, vous n'avez pas besoin d'enregistrer les fichiers de journalisation
archivés avec la sauvegarde.
Le second exemple indique que les copies d'image à long terme des fichiers de données et des
fichiers de contrôle ne sont plus des exceptions et peuvent devenir obsolètes en fonction de la
stratégie de conservation existante. En résumé, cette instruction supprime l'attribut d'archivage
des fichiers de sauvegarde. Si vous n'indiquez aucune balise, comme dans le cas présent,
l'exécution de la commande CHANGE s'applique à l'ensemble des sauvegardes du type indiqué.
Vous devez indiquer une balise pour modifier uniquement les fichiers de sauvegarde souhaités.
Remarque : L'option RESTORE POINT n'est pas valide avec la commande CHANGE car il est
impossible de créer le point de restauration pour un instant passé (qui correspondrait à la date de
création de la sauvegarde).
Les fichiers trace sont des copies des fichiers de contrôle. Une telle sauvegarde contient
l'instruction SQL nécessaire pour recréer les fichiers de contrôle si toutes les copies sont perdues.
Même si ce scénario est très peu probable dans une base de données correctement configurée
(avec plusieurs copies du fichier de contrôle placées sur des disques et des contrôleurs distincts),
il reste néanmoins possible. C'est pourquoi vous devez sauvegarder le fichier de contrôle dans un
fichier trace après chaque modification de la structure physique de la base de données (ajout de
tablespaces ou de fichiers de données).
Vous pouvez effectuer cette tâche dans EM Express, dans Cloud Control ou de la manière
suivante à partir ligne de commande :
SQL> ALTER DATABASE BACKUP CONTROLFILE TO TRACE;
Le fichier trace de sauvegarde est créé à l'emplacement indiqué par le paramètre d'initialisation
DIAGNOSTIC_DEST.
Si vous disposez de copies supplémentaires pour le fichier de contrôle et les fichiers de données
ainsi que d'autres éléments de sauvegarde ou fichiers de journalisation archivés sur disque, vous
pouvez les enregistrer dans le catalogue de restauration à l'aide de la commande CATALOG. Si
des sauvegardes ont été retirées du fichier de contrôle en raison de leur ancienneté, vous pouvez
les enregistrer dans le catalogue afin que RMAN puisse les utiliser lors d'une opération de
restauration. L'exemple suivant enregistre dans le catalogue tous les fichiers de la zone de
récupération rapide active :
RMAN> CATALOG RECOVERY AREA NOPROMPT;
Utilisez l'option START WITH pour enregistrer dans le catalogue tous les fichiers figurant dans
l'arborescence de répertoires indiquée. Fournissez un préfixe indiquant le répertoire et
éventuellement un préfixe de fichier à rechercher. Vous ne pouvez pas utiliser de caractères
génériques ; il s'agit seulement d'un préfixe.
Le deuxième exemple illustré dans la diapositive enregistre dans le catalogue tous les types de
fichier de sauvegarde figurant dans le répertoire /tmp/arch_logs.
Supposons que vous souhaitiez être sûr de n'enregistrer dans le catalogue que les fichiers du
répertoire /tmp dont le nom commence par la chaîne bset. La commande suivante permet de le
faire :
RMAN> CATALOG START WITH '/tmp/bset';
Cette commande catalogue aussi les fichiers de sauvegarde qui figurent dans les répertoires dont
le chemin commence par /tmp/bset.
La commande CATALOG peut être utilisée sans connexion à un catalogue de restauration.
Vous pouvez utiliser la commande ASMCMD md_backup pour créer un fichier de sauvegarde
des métadonnées d'un groupe de disques ASM. En cas de perte du groupe de disques, ce fichier
permet de le reconstruire ainsi que ses métadonnées. En l'absence de fichier de sauvegarde des
métadonnées, vous devriez re-créer le groupe de disques ASM manuellement.
Le premier exemple de la diapositive ci-dessus montre comment utiliser la commande
md_backup pour sauvegarder les métadonnées de tous les groupes de disques montés. L'option
–G permet de nommer des groupes de disques spécifiques à sauvegarder.
Si vous ne précisez pas de chemin complet pour le fichier de sauvegarde, il est enregistré dans le
répertoire de travail en cours.
Réponse : a
Réponse : b
Dans ces exercices, vous créez des sauvegardes des fichiers de base de données importants qui
ne font pas partie du jeu de sauvegarde par défaut.
Vous abordez le dernier chapitre du module "Sauvegarde" qui en comprenait quatre au total, à
savoir :
• Chapitre 5 : Stratégies de sauvegarde et terminologie associée
• Chapitre 6 : Réaliser des sauvegardes
• Chapitre 7 : Améliorer des sauvegardes
• Chapitre 8 : Utiliser les sauvegardes RMAN cryptées
Remarque : Vous trouverez des détails supplémentaires sur la fonctionnalité de cryptage
transparent des données (TDE, Transparent Data Encryption) dans le cours Oracle Database
12c: Security et le manuel Oracle Database Advanced Security Guide.
Mot de passe
Dès lors que l'infrastructure de gestion des clés requise est disponible, Recovery Manager
(RMAN) peut créer des sauvegardes cryptées sur bande ou sur disque. Le cryptage effectué à
l'aide de RMAN peut utiliser soit une clé basée sur un mot de passe soit une clé générée stockée
dans le portefeuille Oracle.
RMAN crypte les données, puis les transmet au périphérique de stockage (unité de disque ou de
bande). Aucune autre opération de cryptage n'est effectuée.
Le cryptage des données de sauvegarde à l'aide de RMAN est disponible uniquement dans
Oracle Database Enterprise Edition. En outre, la valeur 10.2.0 ou supérieure doit être affectée au
paramètre COMPATIBLE. L'option Oracle Advanced Security (ASO) est requise pour les
sauvegardes cryptées par RMAN.
Si vous utilisez Oracle Secure Backup (OSB) pour assurer le cryptage, les clés de cryptage sont
gérées par OSB. Le mécanisme est différent du cryptage RMAN.
Niveau global ou hôte Niveau global, hôte, Niveau base de données ou tablespace
sauvegarde ou volume
Cryptage des données sur l'hôte client Cryptage des données dans la base : aucun
cryptage supplémentaire
Algorithmes de cryptage : AES128, AES192 (par Algorithmes de cryptage AES jusqu'à 256 bits
défaut) et AES256
Décryptage transparent au sein d'un domaine Mot de passe fourni par l'utilisateur pour le
décryptage
Le cryptage des sauvegardes d'Oracle Database peut être effectué selon deux méthodes :
• Cryptage OSB :
- à la fois pour les données de sauvegarde RMAN (Oracle 9i et versions ultérieures) et
pour les données des systèmes de fichiers
- Oracle Secure Backup crypte les données sur l'hôte client. (Aucune installation de
logiciel client n'étant disponible sur NAS, les données NAS ne peuvent pas être
cryptées par OSB.) Le cryptage a lieu en dehors de la base de données, mais les
données sont cryptées avant leur transfert via le réseau ou avant leur écriture sur un
périphérique de bande rattaché localement. Le décryptage au sein du même domaine
n'a pas besoin de phrase de passe.
- La technologie SSL incorporée assure le transport sécurisé des données de
sauvegarde et des messages entre serveurs authentifiés bidirectionnellement.
• Cryptage RMAN (disponible avec Oracle Advanced Security) :
- RMAN peut crypter les sauvegardes d'une base de données Oracle au niveau base de
données ou tablespace. Il crypte les données au sein de la base de données. Le
processus est généralement plus rapide que le cryptage OSB. Les clés de cryptage
RMAN sont stockées dans des fichiers de clés et contrôlées par la base de données.
- Les sauvegardes cryptées RMAN requièrent Oracle Advanced Security.
• Si OSB rencontre des sauvegardes cryptées par RMAN, il n'effectue aucun cryptage
supplémentaire.
Pour renforcer la sécurité, vous pouvez crypter les sauvegardes RMAN créées en tant que jeux
de sauvegarde. Cette information apparaît dans la colonne ENCRYPTED de la vue
V$BACKUP_PIECE.
En revanche, les sauvegardes de copie d'image ne peuvent pas être cryptées.
Les sauvegardes cryptées sont décryptées automatiquement au cours des opérations de
restauration et de récupération, tant que les clés de décryptage nécessaires sont disponibles, au
moyen d'un mot de passe entré par l'utilisateur ou de la clé TDE. La clé TDE est stockée dans un
fichier de clés qui constitue un conteneur protégé par mot de passe et qui était appelé portefeuille
(wallet) dans les versions précédentes.
RMAN prend en charge trois modes de cryptage :
• Transparent
• Avec mot de passe
• Double
Chaque mode est décrit en détail dans les pages qui suivent.
(privilèges) 3///?.?OYzJdfvQf
6. Cryptage des
1. SELECT ccn FROM emp; 2368{]]}.:oz§§!! données
§/.?564#{[|`\^@@ 2çàéèù*%I&456A/.!
4. INSERT ccn INTO emp
@~[|12effs”éèàù°
VALUES (4222222222222);
Le mode de cryptage transparent TDE (Transparent Data Encryption) est disponible avec Oracle
Advanced Security. Facile à utiliser, il protège vos données sans que vous ayez à modifier vos
applications. TDE permet de crypter les données sensibles figurant dans des colonnes
spécifiques ou dans la totalité d'un tablespace sans avoir à gérer de clés de cryptage. TDE n'a
aucune incidence sur les contrôles d'accès, qui sont configurés à l'aide de rôles de base de
données, de rôles d'application sécurisés, de privilèges système et de privilèges sur les objets, de
vues, de Virtual Private Database (VPD), d'Oracle Database Vault et d'Oracle Label Security.
Toute application ou tout utilisateur qui disposait d'un accès à une table conserve l'accès à la
version cryptée par TDE de cette même table.
TDE est conçu pour protéger les données stockées, mais ne se substitue en aucun cas à un
contrôle d'accès adéquat.
TDE est transparent pour les applications existantes. Le cryptage et le décryptage des données
peuvent être effectués au niveau tablespace ou colonne. Dans les deux cas, les valeurs cryptées
ne sont ni affichées ni traitées par l'application. Considérons par exemple une application conçue
pour afficher des numéros de carte de crédit à 16 chiffres. Vous n'avez pas besoin de la recoder,
même si les chaînes qu'elle doit traiter comportent bien plus de 16 caractères une fois cryptées
par TDE.
Pour que la base de données puisse utiliser le mode de cryptage transparent (TDE), il doit exister
un fichier de clés. TDE crée une clé pour chaque table comprenant des colonnes cryptées et une
clé pour chaque tablespace crypté. La clé de la table est stockée dans le dictionnaire de données,
tandis que les clés des tablespaces sont stockées dans les fichiers de données des tablespaces.
Les clés des tablespaces et des tables sont cryptées à l'aide d'une clé maître. Celle-ci est unique
pour la base de données.
Pour créer un fichier de clés logiciel et une clé maître, procédez comme suit :
1. Créez le répertoire destiné à contenir le fichier de clés. Il doit être accessible par le
propriétaire du logiciel Oracle.
2. Indiquez l'emplacement du fichier de clés utilisé pour stocker la clé maître de cryptage en
ajoutant une entrée dans le fichier $ORACLE_HOME/network/admin/sqlnet.ora,
comme illustré dans la diapositive.
Remarque : Cette entrée respecte les indentations et les espaces.
Les clés maître sont nécessaires pour accéder aux données cryptées. Vous devez donc les
protéger au moyen de sauvegardes. Comme elles se trouvent dans un fichier de clés, il est
nécessaire de sauvegarder celui-ci périodiquement dans un emplacement sécurisé avec les
fichiers de données de la base. Vous devez sauvegarder une copie du fichier de clés de cryptage
chaque fois que vous définissez une nouvelle clé maître.
De la sorte, si vous perdez le fichier contenant la clé maître, vous pourrez toujours restaurer
l'accès aux données cryptées en copiant la version sauvegardée du fichier de clés à
l'emplacement approprié. Si le fichier de clés restauré a été archivé après la dernière
régénération de la clé maître, aucune autre action n'est requise.
En revanche, s'il ne contient pas la clé maître la plus récente, vous ne pouvez récupérer que les
données antérieures au changement de clé. Toutes les modifications apportées aux colonnes
cryptées après la modification de la clé maître sont perdues.
Chaque fois que le fichier de clés est ouvert, deux fichiers peuvent être disponibles : celui qui est
basé sur un mot de passe, identifié par l'extension p12, et un fichier de clés de connexion
automatique nommé cwallet.sso. Le fichier de clés de connexion automatique change lors de
chaque ouverture du fichier de clés ; il n'est donc pas utile de l'inclure dans les sauvegardes. En
revanche, le fichier de clés d'accès basé sur un mot de passe contient les clés maître actuelles et
antérieures et vous devez l'inclure dans les sauvegardes.
Des fichiers de clés d'accès distincts sont utilisés pour le cryptage par Recovery Manager
(RMAN) et par Oracle Secure Backup (OSB).
Lorsque vous utilisez ce mode, vous devez indiquer un mot de passe pour créer et restaurer des
sauvegardes cryptées. Lorsque vous restaurez une sauvegarde qui a été cryptée avec un mot de
passe, vous devez fournir le même mot de passe que celui qui a été utilisé pour créer la
sauvegarde. Le cryptage avec mot de passe est la meilleure solution pour les sauvegardes qui
sont restaurées sur des sites distants et qui doivent rester sécurisées lors du transport.
Pour activer le cryptage basé sur un mot de passe, utilisez la commande SET ENCRYPTION ON
IDENTIFIED BY password ONLY dans vos scripts RMAN. Ce mode de cryptage ne peut pas
être configuré de façon permanente.
L'interface Enterprise Manager insère la commande appropriée dans les scripts de sauvegarde
RMAN qu'elle génère.
Remarque : Pour des raisons de sécurité, il est impossible de configurer de manière permanente
un environnement de sauvegarde de sorte que les sauvegardes RMAN soient cryptées avec mot
de passe. Vous ne pouvez activer le cryptage des sauvegardes avec mot de passe que pour la
durée d'une session RMAN.
Les sauvegardes cryptées en mode double peuvent être restaurées de manière transparente ou
avec un mot de passe. Le mode double est utile lorsque vous créez des sauvegardes qui sont
censées être restaurées à l'aide du portefeuille de cryptage Oracle mais qui doivent aussi pouvoir
être restaurées lorsque ce portefeuille n'est pas disponible.
Pour créer des jeux de sauvegarde cryptés en mode double, insérez la commande SET
ENCRYPTION ON IDENTIFIED BY password dans vos scripts RMAN.
• Vous pouvez crypter n'importe quelle sauvegarde RMAN créée sous forme de jeu
de sauvegarde. En revanche, les copies d'image ne peuvent pas être cryptées.
• La vue V$RMAN_ENCRYPTION_ALGORITHMS fournit la liste des algorithmes de cryptage
pris en charge par RMAN. Si aucun algorithme de cryptage n'est indiqué, l'algorithme utilisé
par défaut est AES 128 bits. Vous pouvez changer d'algorithme à l'aide des commandes
indiquées dans la diapositive ci-dessus.
• Le serveur de base de données Oracle utilise une nouvelle clé de cryptage pour chaque
sauvegarde cryptée. La clé de cryptage de la sauvegarde est ensuite cryptée à l'aide du mot
de passe et/ou de la clé maître de la base de données, en fonction du mode de cryptage
sélectionné. Les clés de cryptage et les mots de passe des sauvegardes ne sont jamais
stockés en texte clair.
• Le cryptage peut affecter les performances de la sauvegarde sur disque. En effet, les
sauvegardes cryptées utilisent davantage la CPU que les sauvegardes non cryptées. Vous
pouvez améliorer les performances des sauvegardes cryptées sur disque en faisant appel à
plusieurs canaux RMAN.
Utilisez la commande SET DECRYPTION pour indiquer le(s) mot(s) de passe de décryptage à
utiliser lors de la lecture de sauvegardes ayant fait l'objet d'un cryptage en mode double ou d'un
cryptage avec mot de passe. Lorsque RMAN lit un élément de sauvegarde crypté, il essaie
chaque mot de passe figurant dans la liste jusqu'à ce qu'il trouve celui qui lui permet de décrypter
l'élément. Une erreur est générée si aucune des clés indiquées n'est correcte.
Si vous perdez le mot de passe d'une sauvegarde cryptée en mode Mot de passe, vous ne
pouvez pas restaurer cette sauvegarde.
Etant donné que l'infrastructure Oracle de gestion des clés archive toutes les clés maître
précédentes dans le fichier de clés d'accès (ou portefeuille de cryptage), la modification ou la
réinitialisation de la clé maître de la base de données en cours n'affecte pas la capacité de
restauration des sauvegardes cryptées effectuées à l'aide d'une ancienne clé maître. Vous
pouvez recréer la clé maître de la base de données à tout moment. Mais RMAN pourra toujours
restaurer toutes les sauvegardes cryptées créées par cette base.
Si vous perdez le fichier contenant la clé d'une sauvegarde cryptée en mode Transparent, vous
ne pouvez plus restaurer cette sauvegarde. Comme le fichier de clés d'accès contient toutes les
clés de cryptage des sauvegardes antérieures, vous pouvez en restaurer une sauvegarde pour
récupérer les sauvegardes qui ont été cryptées antérieurement. En revanche, les sauvegardes
cryptées après la sauvegarde du fichier de clés d'accès resteront inaccessibles.
Méthode recommandée : Sauvegardez fréquemment le fichier de clés d'accès.
Réponses : a, c
Le premier exercice utilise le cryptage par mot de passe, technique appropriée pour les
sauvegardes destinées à être restaurées sur un site distant.
Le second est un exercice facultatif de mise à l'épreuve, dans la mesure où le cours n'a
probablement pas encore traité des opérations de restauration et de récupération. Il ne doit être
tenté que s'il reste du temps par rapport à la chronologie du cours.
Vous abordez le premier chapitre du module "Récupération" qui en comprend quatre, à savoir :
• Chapitre 9 : Diagnostiquer les défaillances
• Chapitre 10 : Concepts de restauration et de récupération
• Chapitre 11 : Procéder à une récupération I
• Chapitre 12 : Procéder à une récupération II
Des études montrent que les administrateurs de base de données passent une grande partie de
leur temps de "réparation" à essayer de déterminer quelles données ont été altérées, pourquoi et
de quelle manière. Ils peuvent ainsi être amenés à analyser des fichiers d'erreurs, d'alertes et de
trace. Data Recovery Advisor permet d'identifier les problèmes d'une base de données de façon
intelligente et peut réduire le temps d'arrêt global du système en éliminant ou réduisant le temps
passé par l'administrateur de base de données à rechercher l'origine des problèmes.
Par ailleurs, Data Recovery Advisor diminue l'incertitude et la confusion qui se produisent souvent
pendant une indisponibilité de la base de données. Il utilise un référentiel spécial appelé ADR
(Automatic Diagnostic Repository).
DBA
My Oracle Support
Alerte du DBA Contrôles
Création d'incident
1 automatique 2 ciblés de l'état général
Rédaction assistée d'une SR
Capture de la première erreur
Non
Bug connu ?
DBA
Support Workbench
Packaging des infos Support Workbench :
4 sur l'incident Application de patch/ 3
DBA
Réparation des données réparation de données
Un utilitaire de suivi en mémoire, toujours activé, permet aux composants de la base de données
de capturer des données de diagnostic relatives aux erreurs critiques dès le premier échec. Le
référentiel ADR (Automatic Diagnostic Repository) est mis à jour automatiquement afin de
contenir les informations de diagnostic concernant les erreurs critiques. Ces informations peuvent
être utilisées par Data Recovery Advisor, mais aussi pour créer des packages sur les incidents à
destination des services de support technique Oracle.
Voici un workflow standard de session de diagnostic qui inclut les services de support technique
Oracle :
1. Un incident entraîne le déclenchement d'une alerte dans Enterprise Manager (EM).
2. L'administrateur de base de données (DBA) peut afficher cette alerte dans la page Alert de
Cloud Control.
3. Il peut afficher les détails de l'incident et du problème.
4. Le DBA (ou le support technique) peut décider (ou demander) de packager ces informations
et de les envoyer au support technique Oracle via la plate-forme My Oracle Support. Le
DBA peut ajouter des fichiers aux données automatiquement incluses dans le package.
$ORACLE_BASE
$ORACLE_HOME/log
Base
ADR Support Workbench
diag
rdbms
Nom de
BdD
Dumps noyau ADR
SID métadonnées Traces des processus
Home
de premier plan et
Fichier d'alertes d'arrière-plan et données
alert cdump incpkg incident hm trace (autres) du fichier d'alertes
Dumps d'incident
incdir_1 … incdir_n
Le référentiel ADR (Automatic Diagnostic Repository) est un référentiel basé sur des fichiers. Il
est destiné aux données de diagnostic de la base de données telles que les traces, les dumps et
packages d'incident, le fichier d'alertes, les rapports Health Monitor, les dumps noyau (core
dumps), etc. Il possède une structure de répertoires unifiée couvrant plusieurs instances et
plusieurs produits qui est stockée en dehors de toute base de données. Il est donc accessible
pour le diagnostic des problèmes lorsque la base est arrêtée.
Depuis la version Oracle Database 11g R1, la base de données, la fonction ASM (Automatic
Storage Management), CRS (Cluster Ready Services) et d'autres produits ou composants Oracle
stockent l'ensemble des données de diagnostic dans le référentiel ADR. Chaque instance de
chaque produit stocke les données de diagnostic dans son propre répertoire ADR Home. Par
exemple, dans un environnement Real Application Clusters doté d'une zone de stockage
partagée et d'ASM, chaque instance de base de données et chaque instance ASM dispose d'un
répertoire d'origine au sein du référentiel ADR. La structure de répertoires unifiée du référentiel
ADR, les formats de données de diagnostic cohérents pour tous les produits et instances, et un
ensemble d'outils homogène permettent aux clients et au support technique Oracle de corréler et
d'analyser les données de diagnostic sur plusieurs instances.
Le répertoire racine du référentiel ADR est appelé base ADR. Son emplacement est défini par le
paramètre d'initialisation DIAGNOSTIC_DEST. Si ce paramètre est omis ou laissé vide, la base de
données définit DIAGNOSTIC_DEST au démarrage, de la façon suivante : Si la variable
d'environnement ORACLE_BASE est définie, DIAGNOSTIC_DEST prend la valeur
$ORACLE_BASE. Si la variable d'environnement ORACLE_BASE n'est pas définie,
DIAGNOSTIC_DEST prend la valeur $ORACLE_HOME/log.
$ adrci
ADRCI: Release 12.1.0.1.0 - Production on Thu Nov 29 21:15:27 2012
Copyright (c) 1982, 2012, Oracle and/or its affiliates. All rights
reserved.
ADR base = "/u01/app/oracle" ADRCI> set editor gedit
ADRCI> ADRCI> show alert
ADRCI> show incident
. . .
ADR Home = /u01/app/oracle/diag/rdbms/em12rep/em12rep:
*************************************************************************
INCIDENT_ID PROBLEM_KEY CREATE_TIME
----------- ----------------- ------------------------
4985 ORA 4031 2012-11-21 00:57:43.823000 +00:00
5161 ORA 4031 2012-11-21 00:58:17.284000 +00:00
2 incident info records fetched
ADRCI est un outil de ligne de commande qui fait partie de l'infrastructure permettant
l'établissement de diagnostics de panne pour les bases de données. ADRCI vous permet de :
• consulter les données de diagnostic au sein du référentiel ADR
• regrouper les informations relatives aux incidents et aux problèmes dans un fichier ZIP à
transmettre au support technique Oracle.
ADRCI peut être utilisé en mode interactif ou à l'aide de scripts. De plus, ADRCI peut exécuter
des scripts de commandes ADRCI de la même manière que SQL*Plus exécute des scripts de
commandes SQL et PL/SQL. Aucune étape de connexion à ADRCI n'est requise, car il n'a pas
été prévu de sécuriser les données figurant dans le référentiel ADR. Ces données sont
uniquement sécurisées par les autorisations du système d'exploitation affectées aux répertoires
ADR.
Le moyen le plus simple de packager et de gérer les données de diagnostic est d'utiliser
l'interface Support Workbench d'Enterprise Manager (qui aide à résoudre les erreurs de base de
données et les erreurs ASM).
ADRCI fournit une alternative en mode ligne de commande à la plupart des fonctionnalités de
Support Workbench et ajoute d'autres fonctions telles que la consignation et la recherche dans
les fichiers trace. L'exemple de la diapositive illustre une session ADRCI dans laquelle vous
répertoriez tous les incidents ouverts stockés dans le référentiel ADR.
Remarque : Pour plus d'informations sur ADRCI et Support Workbench, reportez-vous au manuel
Oracle Database Utilities.
NAME VALUE
------------------- -------------------------------------------------
Diag Enabled TRUE
ADR Base /u01/app/oracle
ADR Home /u01/app/oracle/diag/rdbms/orcl/orcl
Diag Trace /u01/app/oracle/diag/rdbms/orcl/orcl/trace
Diag Alert /u01/app/oracle/diag/rdbms/orcl/orcl/alert
Diag Incident /u01/app/oracle/diag/rdbms/orcl/orcl/incident
Diag Cdump /u01/app/oracle/diag/rdbms/orcl/orcl/cdump
Health Monitor /u01/app/oracle/diag/rdbms/orcl/orcl/hm
Default Trace File /u01/app/oracle/diag/.../trace/orcl_ora_11424.trc
Active Problem Count 3
Active Incident Count 8
La vue V$DIAG_INFO répertorie tous les principaux emplacements pour le référentiel ADR :
• ADR Base : Chemin de la base ADR.
• ADR Home : Chemin du répertoire d'origine ADR pour l'instance de base de données en
cours.
Remarque : Il s'agit d'un nom de chemin. Il n'existe pas de variable d'environnement
officielle nommée ADR_HOME.
• Diag Trace : Emplacement du fichier texte d'alertes et des fichiers trace des processus en
arrière-plan/avant-plan.
• Diag Alert : Emplacement d'une version XML du fichier d'alertes.
• Diag Incident : Emplacement pour l'écriture des journaux d'incidents.
• Diag Cdump : Répertoire dans lequel sont écrits les dumps noyau (core dumps) pour le
diagnostic.
• Health Monitor : Emplacement des journaux issus de l'exécution de Health Monitor.
• Default Trace File : Chemin d'accès du fichier trace associé à votre session. Des
fichiers trace SQL sont écrits à cet emplacement.
La sortie de la commande RMAN contient les actions pertinentes pour le travail RMAN, ainsi que
les messages d'erreur générés par RMAN, le serveur et le fabricant du média. Les messages
d'erreur RMAN sont identifiés par le préfixe RMAN-nnnn. La sortie s'affiche sur le terminal (sortie
standard) mais elle peut être consignée dans un fichier si vous définissez l'option LOG ou la
redirection en shell.
Le fichier trace RMAN contient la sortie DEBUG. Il n'est utilisé que lorsque vous vous servez de
l'option de commande TRACE.
Le fichier d'alertes contient un journal chronologique des erreurs, des paramètres d'initialisation
non définis par défaut et des opérations d'administration. Dans la mesure où il enregistre les
valeurs des enregistrements remplacés du fichier de contrôle, il peut être utile pour la
maintenance RMAN en l'absence de catalogue de restauration.
Le fichier trace Oracle contient la sortie détaillée générée par les processus serveur Oracle. Il est
créé à l'apparition d'un message d'erreur ORA-600 ou ORA-3113 (suivant un message ORA-
7445), chaque fois que RMAN ne peut pas allouer un canal et en cas d'échec du chargement de
la bibliothèque de gestion des supports (MML, Media Management Library).
Le fichier sbtio.log contient des informations propres au fabricant, écrites par le logiciel de gestion
des supports et se trouvant dans USER_DUMP_DEST. Notez que ce journal ne contient pas les
erreurs RMAN, ni celles du serveur Oracle.
L'option DEBUG affiche toutes les instructions SQL exécutées au cours des compilations RMAN,
ainsi que les résultats de ces exécutions. Toute information générée par les packages PL/SQL du
catalogue de restauration s'affiche également. Dans l'exemple suivant, la sortie DEBUG est écrite
pendant la sauvegarde du fichier de données 3, mais pas du fichier de données 4 :
RMAN> run {
debug on;
allocate channel c1 type disk;
backup datafile 3;
debug off;
backup datafile 4; }
N'oubliez pas que la sortie de la commande DEBUG peut être volumineuse. Il est donc essentiel
de disposer de suffisamment d'espace disque pour le fichier trace. La session de sauvegarde
simple suivante, qui ne génère aucune erreur, crée un fichier trace d'environ un demi mégaoctet :
$ rman target / catalog rman/rman debug trace sample.log
RMAN> backup database;
RMAN> host "ls –l sample.log";
-rw-r--r-- 1 user02 dba 576270 Apr 6 10:38 sample.log
host command complete
RMAN-00571: ===========================================
RMAN-00569: ======= ERROR MESSAGE STACK FOLLOWS =======
RMAN-00571: ===========================================
RMAN-03009: failure of backup command on c1 channel at
09/04/2012 13:18:19
ORA-19506: failed to create sequential file,
name="07d36ecp_1_1", parms=""
ORA-27007: failed to open file
SVR4 Error: 2: No such file or directory
Additional information: 7005
Additional information: 1
ORA-19511: Error from media manager layer,error text:
En raison de la quantité de données enregistrée par RMAN, il peut s'avérer difficile d'identifier les
messages utiles dans la pile d'erreurs RMAN. Tenez compte des conseils et des suggestions ci-
après :
• Dans la mesure où bon nombre des messages de la pile d'erreurs ne sont pas utiles pour la
résolution des problèmes, essayez d'identifier les quelques erreurs les plus importantes.
• Recherchez les lignes avec le texte Additional information suivi d'un nombre entier.
Ces lignes indiquent une erreur du gestionnaire de support. L'entier qui suit fait référence à
un code expliqué dans le texte du message d'erreur.
• Lisez les messages de bas en haut car RMAN les génère dans cet ordre. La pile se termine
souvent par une ou deux erreurs informatives.
• Recherchez le message RMAN-03002 ou RMAN-03009 situé juste après l'en-tête. Le
message RMAN-03009 est le même que RMAN-03002, mais il comprend l'ID de canal. Si le
problème est lié à une commande RMAN, ces messages mentionnent la commande
concernée. Les erreurs de syntaxe génèrent une erreur RMAN-00558.
La fonction Data Recovery Advisor collecte automatiquement les informations sur les problèmes
de données lorsqu'une erreur est détectée. Elle peut, par ailleurs, effectuer une recherche
proactive des défaillances éventuelles. Dans ce mode, elle détecte les défaillances et les analyse
avant qu'un processus de base de données ne soulève le problème de corruption et ne signale
une erreur. (Notez que les réparations sont toujours sous contrôle manuel.)
Les défaillances de données peuvent être très graves. Par exemple, en l'absence des fichiers de
journalisation actuels, vous ne pouvez pas démarrer la base. Toutefois, certaines défaillances
(comme les corruptions de blocs dans les fichiers de données) ont des conséquences moindres
car elles ne mettent pas la base hors service ou n'empêchent pas de démarrer l'instance Oracle.
La fonction de conseil Data Recovery Advisor permet de gérer ces deux cas de figure, à savoir
lorsque la base ne peut pas être démarrée (les fichiers de base de données requis étant
manquants, incohérents ou endommagés) et lorsque des corruptions de fichier sont détectées
lors de l'exécution.
Dans Oracle Database 11g, le workflow de diagnostic automatique fonctionne comme indiqué ci-
après. Avec Data Recovery Advisor, vous devez simplement lancer la fonction de conseil, puis
exécuter la solution associée.
1. Health Monitor exécute automatiquement les vérifications. Il consigne des échecs et leurs
symptômes en tant que résultats (Findings) dans le référentiel ADR.
2. La fonction de conseil Data Recovery Advisor exprime les résultats sous forme de
défaillances. Elle répertorie les résultats des évaluations de défaillances précédemment
exécutées par degré de gravité (critique ou élevée).
3. Lorsque vous demandez un conseil pour réparer une défaillance, Data Recovery Advisor
détermine des options automatiques et manuelles, vérifie leur faisabilité et vous propose
une solution.
4. Vous pouvez choisir d'exécuter manuellement une réparation ou demander à Data
Recovery Advisor de s'en charger.
5. En plus des vérifications automatiques (essentiellement "réactives") de Health Monitor et de
Data Recovery Advisor, Oracle recommande d'utiliser la commande VALIDATE pour un
contrôle "proactif".
Les défaillances de données sont détectées par des vérifications définies dans le cadre des
procédures de diagnostic de l'état de la base de données ou de ses composants. Chaque
vérification peut diagnostiquer une ou plusieurs défaillances et déterminer la réparation
appropriée.
Une vérification peut être réactive ou proactive. Lorsqu'une erreur se produit dans la base, des
vérifications réactives sont exécutées automatiquement. Vous pouvez également lancer des
vérifications proactives, notamment en exécutant la commande VALIDATE DATABASE.
Dans Cloud Control, accédez à la page Perform Recovery si vous détectez que votre base de
données est en état arrêté ou monté.
La fonction de conseil Data Recovery Advisor peut analyser les défaillances et suggérer des
options de réparation, comme illustré dans la diapositive.
Si vous constatez ou suspectez une défaillance de base de données, utilisez la commande LIST
FAILURE pour obtenir des informations à son sujet. Vous pouvez afficher la totalité ou un sous-
ensemble des défaillances et limiter la sortie de différentes manières. Les défaillances sont
identifiées de manière unique par un numéro. Notez que ces numéros ne sont pas consécutifs.
Les écarts n'ont aucune signification.
La commande ADVISE FAILURE affiche une option de réparation recommandée pour les
défaillances indiquées. Elle affiche une synthèse de la défaillance en entrée et ferme
implicitement toutes les défaillances ouvertes qui ont été réparées. Lorsqu'aucune option n'est
utilisée, le comportement par défaut consiste à donner des conseils sur toutes les défaillances de
priorité CRITICAL et HIGH enregistrées dans le référentiel ADR.
La commande REPAIR FAILURE est utilisée après une commande ADVISE FAILURE au sein
de la même session RMAN. Par défaut, elle utilise l'unique recommandation de réparation de la
dernière commande ADVISE FAILURE exécutée dans la session en cours. En l'absence de
recommandation, la commande REPAIR FAILURE lance une commande ADVISE FAILURE
implicite. Une fois la réparation terminée, la commande ferme la défaillance.
La commande CHANGE FAILURE modifie la priorité ou ferme une ou plusieurs défaillances. Vous
pouvez seulement modifier les priorités HIGH et LOW. Les défaillances ouvertes sont fermées
implicitement lorsqu'elles sont réparées. Toutefois, vous pouvez également fermer une
défaillance de façon explicite.
Syntaxe :
LIST FAILURE
[ ALL | CRITICAL | HIGH | LOW | CLOSED |
failnum[,failnum,…] ]
[ EXCLUDE FAILURE failnum[,failnum,…] ]
[ DETAIL ]
La commande RMAN LIST FAILURE affiche la liste des défaillances. Si l'instance cible utilise un
catalogue de restauration, elle peut être en mode STARTED. Sinon, elle doit être en mode
MOUNTED. La commande LIST FAILURE ne lance pas de vérifications pour diagnostiquer de
nouvelles défaillances. Elle affiche les résultats d'évaluations exécutées précédemment.
L'exécution répétée de la commande LIST FAILURE revalide toutes les défaillances existantes.
Si de nouvelles défaillances sont détectées, elles sont affichées. Si un utilisateur résout
manuellement des défaillances ou si des défaillances transitoires disparaissent, Data Recovery
Advisor les supprime de la sortie de la commande LIST FAILURE. Voici une description de la
syntaxe :
• failnum : Numéro de la défaillance pour laquelle il faut afficher des options de réparation.
• ALL : Affichage de toutes les défaillances, quelle que soit leur priorité.
• CRITICAL : Affichage des défaillances de priorité CRITICAL dont le statut est OPEN. Ces
défaillances nécessitent une attention immédiate car elles rendent la base de données
totalement indisponible (il peut s'agir, par exemple, d'un fichier de contrôle manquant).
• HIGH : Affichage des défaillances de priorité HIGH dont le statut est OPEN. Ces défaillances
rendent la base de données partiellement indisponible ou irrécupérable ; elles doivent donc
être réparées rapidement (par exemple, en cas de fichiers de journalisation archivés
manquants).
La commande RMAN ADVISE FAILURE affiche une option de réparation recommandée pour les
défaillances indiquées. Elle affiche une synthèse de la défaillance indiquée en entrée. Elle ferme
implicitement toutes les défaillances ouvertes qui ont été réparées.
Lorsqu'aucune option n'est utilisée, le comportement par défaut consiste à donner des conseils
sur toutes les défaillances de priorité CRITICAL et HIGH enregistrées dans le référentiel ADR. Si
une nouvelle défaillance a été enregistrée dans le référentiel ADR depuis la dernière commande
LIST FAILURE, elle affiche un message d'avertissement (WARNING) avant de fournir un conseil
sur les défaillances présentant la priorité CRITICAL ou HIGH.
Deux options générales de réparation peuvent être implémentées : sans ou avec perte de
données.
Lorsque la fonction de conseil Data Recovery Advisor propose une option de réparation
automatisée, elle génère un script qui indique comment RMAN compte réparer le problème. Si
vous ne voulez pas effectuer la réparation automatiquement, vous pouvez utiliser ce script
comme point de départ d'une réparation manuelle. L'emplacement du script au niveau du
système d'exploitation est affiché à la fin du résultat de la commande. Vous pouvez analyser,
personnaliser (si nécessaire) ou exécuter manuellement ce script, par exemple si cela est
recommandé par les informations de la trace d'audit.
Syntaxe
ADVISE FAILURE
[ ALL | CRITICAL | HIGH | LOW | failnum[,failnum,…] ]
[ EXCLUDE FAILURE failnum [,failnum,…] ]
Syntaxe :
REPAIR FAILURE
[USING ADVISE OPTION integer]
[ { {NOPROMPT | PREVIEW}}...]
Cette commande doit être utilisée après une commande ADVISE FAILURE exécutée dans la
même session RMAN. Par défaut (sans option explicite), elle utilise l'unique recommandation de
réparation de la dernière commande ADVISE FAILURE exécutée dans la session en cours. En
l'absence de recommandation, la commande REPAIR FAILURE lance une commande ADVISE
FAILURE implicite.
Avec USING ADVISE OPTION integer, vous indiquez le numéro de l'option de réparation
voulue par son numéro (provenant de la commande ADVISE FAILURE) ; il ne s'agit pas du
numéro de l'erreur.
Par défaut, vous êtes invité à confirmer l'exécution de la commande car des modifications
substantielles peuvent être requises. Au cours de l'exécution de la réparation, la sortie de la
commande indique la phase actuellement déployée.
Une fois la réparation terminée, la commande ferme la défaillance.
Il est impossible d'exécuter plusieurs sessions de réparation simultanées. En revanche,
les sessions REPAIR … PREVIEW simultanées sont autorisées.
• PREVIEW signifie : Ne pas exécuter les réparations, mais afficher le script RMAN généré
précédemment avec l'ensemble des actions de réparation et commentaires.
• NOPROMPT signifie : Ne pas afficher d'invite de confirmation.
Vues V$ :
• V$IR_FAILURE : Liste de toutes les défaillances, y
compris celles qui ont été fermées (résultat de la
commande LIST FAILURE)
• V$IR_MANUAL_CHECKLIST : Liste des réparations
manuelles conseillées (résultat de la commande ADVISE
FAILURE)
• V$IR_REPAIR : Liste des réparations (résultat de
la commande ADVISE FAILURE)
• V$IR_FAILURE_SET : Correspondance
entre les identifiants des défaillances
et ceux des réparations conseillées
Pour obtenir des détails sur les vues dynamiques utilisées par Data Recovery Advisor, reportez-
vous au manuel Oracle Database Reference.
Réponse : a
Réponse : b
Réponse : b
Un bloc de données corrompu (endommagé) est un bloc qui n'est pas dans un format Oracle
reconnu ou dont le contenu n'est pas cohérent en interne. En général, les corruptions sont
provoquées par du matériel défectueux ou par des problèmes du système d'exploitation. La base
de données Oracle distingue deux types de corruption : la "corruption logique" et la "corruption
physique". Une corruption logique suppose une erreur interne Oracle. Les blocs faisant l'objet
d'une corruption logique sont marqués comme endommagés par la base Oracle dès lors qu'une
incohérence est détectée. Dans le cas d'une corruption physique, le bloc a un format incorrect.
Les informations lues à partir du disque n'ont aucun sens.
Comme nous venons de le voir, plusieurs défaillances et corruptions de données peuvent être
réparées avec Data Recovery Advisor. Nous allons maintenant étudier la méthode manuelle.
Vous pouvez réparer une corruption physique de bloc en récupérant le bloc et/ou en supprimant
l'objet de base de données qui le contient. Si une corruption physique est due à du matériel
défectueux, le problème ne sera pas totalement résolu tant que la défaillance matérielle n'aura
pas été corrigée.
En général, l'erreur ORA-01578 est due à un problème matériel. Lorsqu'elle renvoie toujours les
mêmes arguments, il est probable qu'un bloc fait l'objet d'une corruption physique.
Si les arguments changent chaque fois, il peut s'agir d'un problème matériel et vous devez vérifier
la mémoire et l'espace de stockage (page), ainsi que rechercher la présence éventuelle de
contrôleurs défectueux dans le sous-système d'E/S.
Remarque : ORA-01578 renvoie le numéro de fichier relatif, mais l'erreur ORA-01110 associée
affiche le numéro absolu.
...
Détecter les écritures non persistantes dans la base de secours physique
Dans la plupart des cas, la base de données marque un bloc comme faisant l'objet d'une
corruption physique, puis l'écrit sur le disque à la première rencontre de la corruption. Aucune
lecture ultérieure du bloc ne réussira tant que ce dernier n'aura pas été récupéré. Vous ne pouvez
procéder à une récupération que sur des blocs marqués comme endommagés ou signalés lors
d'une vérification de corruption. La restauration physique de bloc (BMR) est réalisée à l'aide de la
commande RECOVER...BLOCK. Par défaut, RMAN recherche dans les journaux Flashback des
copies valides des blocs, puis recherche ces blocs dans des sauvegardes complètes ou de
niveau 0. Lorsque RMAN trouve des copies valides, il les restaure et procède à une restauration
physique sur les blocs. La restauration physique de bloc ne peut utiliser que des fichiers de
journalisation, pas de sauvegardes incrémentielles.
La vue V$DATABASE_BLOCK_CORRUPTION affiche les blocs marqués comme endommagés par
des composants de base de données (commandes RMAN, commande ANALYZE, utilitaire dbv,
interrogations SQL, etc.) Les types de corruption suivants entraînent l'ajout de lignes dans cette
vue :
• Corruption physique : La base de données ne reconnaît pas le bloc ; le checksum n'est
pas valide, le bloc ne contient que des zéros ou l'en-tête du bloc est fracturé. La vérification
de corruption physique est activée par défaut.
• Corruption logique : Le bloc présente un checksum valide, l'en-tête et la fin du bloc
correspondent, mais le contenu est incohérent. La restauration physique de bloc ne peut
pas réparer une corruption logique du bloc. La vérification de corruption logique est
désactivée par défaut. Vous pouvez l'activer en indiquant l'option CHECK LOGICAL dans les
commandes BACKUP, RESTORE, RECOVER et VALIDATE.
La récupération des blocs requiert l'identification préalable des blocs endommagés. En général,
les corruptions de bloc sont signalées aux emplacements suivants :
• Résultats de la commande LIST FAILURE, VALIDATE ou BACKUP ... VALIDATE
• Vue V$DATABASE_BLOCK_CORRUPTION
• Messages d'erreur dans la sortie standard
• Fichier d'alertes et fichiers trace utilisateur (identifiés dans la vue V$DIAG_INFO)
• Résultats des commandes SQL ANALYZE TABLE et ANALYZE INDEX
• Résultats de l'utilitaire DBVERIFY
Par exemple, vous pouvez découvrir les messages suivants dans un fichier trace utilisateur :
ORA-01578: ORACLE data block corrupted (file # 7, block # 3)
ORA-01110: data file 7: '/oracle/oradata/orcl/tools01.dbf'
ORA-01578: ORACLE data block corrupted (file # 2, block # 235)
ORA-01110: data file 2: '/oracle/oradata/orcl/undotbs01.dbf'
Une fois que les blocs sont identifiés, exécutez la commande RECOVER ... BLOCK à l'invite
RMAN en précisant les numéros de fichier et de bloc concernés.
RECOVER
DATAFILE 7 BLOCK 3
DATAFILE 2 BLOCK 235;
Pour les bases de données très volumineuses, vous souhaiterez peut-être exécuter des
vérifications proactives supplémentaires (par exemple, quotidiennement pendant les périodes de
faible activité). Vous pouvez planifier des contrôles périodiques de l'état du système via le
vérificateur Health Monitor ou la commande RMAN VALIDATE. En règle générale, lorsqu'un
contrôle réactif détecte une ou plusieurs défaillances dans un composant de base de données, il
est préférable d'effectuer une vérification plus poussée de ce composant.
La commande RMAN VALIDATE DATABASE permet de lancer des contrôles de l'état de la base
de données et de ses composants. Elle étend la commande VALIDATE BACKUPSET existante.
Tout problème détecté lors de la validation est affiché. Les problèmes déclenchent l'exécution
d'une évaluation des défaillances. Si une défaillance est détectée, elle est consignée dans le
référentiel ADR en tant que résultat. Vous pouvez utiliser la commande LIST FAILURE pour
afficher toutes les défaillances enregistrées dans le référentiel.
La commande VALIDATE prend en charge la validation de blocs de données et de jeux de
sauvegarde individuels. Dans le cas d'une corruption physique, la base de données ne reconnaît
pas du tout le bloc. Dans le cas d'une corruption logique, le contenu du bloc est logiquement
incohérent. Par défaut, la commande VALIDATE ne recherche que les corruptions physiques.
Vous pouvez indiquer l'option CHECK LOGICAL pour rechercher également les corruptions
logiques.
Les corruptions de bloc peuvent être interblocs ou intrablocs. Dans le cas d'une corruption
intrabloc, la corruption se produit dans le bloc lui-même et peut être physique ou logique. Dans le
cas d'une corruption interbloc, la corruption se produit entre des blocs et ne peut être que logique.
La commande VALIDATE ne recherche que les corruptions intrablocs.
La fonctionnalité de réparation automatique des blocs utilise les blocs d'une base de secours
physique pour effectuer une récupération de blocs sans intervention manuelle. Elle nécessite que
l'interrogation en temps réel soit activée sur la base de secours physique.
Quand une interrogation est exécutée sur une base de secours physique configurée avec
l'interrogation en temps réel et qu'un bloc endommagé est détecté, un bloc valide est extrait de la
base principale.
Quand un bloc endommagé est détecté au cours d'une opération de récupération sur la base de
secours, le processus de récupération extrait un bloc valide de la base principale.
Cette fonctionnalité réduit le délai pendant lequel les données de production ne sont pas
accessibles à cause d'une corruption de bloc en réparant automatiquement cette corruption dès
qu'elle est détectée. Le délai de récupération des blocs est réduit car les blocs utilisés pour la
réparation ne proviennent pas de sauvegardes sur disque ou bande mais sont des blocs valides
et à jour trouvés dans une base de secours physique synchronisée accessible en temps réel.
Remarque : La réparation automatique de bloc s'applique uniquement aux corruptions physiques
(lorsque le checksum n'est pas valide, que le bloc ne contient que des zéros ou que l'en-tête de
bloc est fracturé).
L'interrogation en temps réel fait partie de l'option Oracle Active Data Guard.
Vous abordez le deuxième chapitre du module "Récupération" qui en comprend quatre, à savoir :
• Chapitre 9 : Diagnostiquer les défaillances
• Chapitre 10 : Concepts de restauration et de récupération
• Chapitre 11 : Procéder à une récupération I
• Chapitre 12 : Procéder à une récupération II
Des fichiers peuvent être perdus ou endommagés pour les raisons suivantes :
• Erreur de l'utilisateur : Un administrateur peut supprimer ou écraser par inadvertance un
fichier important du système d'exploitation.
• Erreur d'application : Une application ou un script peut contenir une erreur logique et, lors
du traitement de fichiers de base de données, provoquer la perte ou l'altération d'un fichier.
• Défaillance physique : Un lecteur ou un contrôleur de disque peut subir une défaillance
totale ou partielle provoquant l'altération (voire la perte totale) de fichiers.
Un fichier non critique est un fichier dont la base de données et la plupart des applications
peuvent se passer. Par exemple, si la base de données perd un fichier de journalisation
multiplexé, d'autres copies du fichier de journalisation peuvent être utilisées pour préserver
le fonctionnement de la base de données.
Bien que la perte d'un fichier non critique n'entraîne pas la panne de la base de données,
elle peut avoir un impact sur le fonctionnement de celle-ci, par exemple :
• La perte d'un tablespace d'index peut ralentir considérablement les applications et les
interrogations, voire rendre l'application inutilisable si les index servaient à appliquer
des contraintes.
• La perte d'un groupe de fichiers de journalisation en ligne, dès lors qu'il ne s'agit pas
du groupe en cours, peut entraîner la suspension des opérations de base de données
jusqu'à la génération de nouveaux fichiers journaux.
Restauration :
• de base de données RMAN assure automatiquement :
(tous les fichiers de données) • la sélection des sauvegardes
• de tablespaces • le basculement en cas de défaillance
• l'optimisation de la restauration
• de fichiers de contrôle etc.
• de fichiers de journalisation
archivés
• de fichiers de paramètres
serveur
Fichier de
journalisation
Récupération
La reconstitution de tout ou partie du contenu d'une base de données à partir d'une sauvegarde
implique généralement deux phases : extraction d'une copie du fichier de données à partir d'une
sauvegarde, puis réapplication des changements effectués depuis la sauvegarde à l'aide des
fichiers de journalisation archivés (archived redo logs) et en ligne (online redo logs), afin d'amener
la base de données jusqu'au numéro SCN souhaité (généralement le plus récent).
• RESTORE {DATABASE | TABLESPACE name [,name]... | DATAFILE name
[,name] }...
La commande RESTORE extrait le fichier de données sur disque à partir d'un emplacement
de sauvegarde sur bande, sur disque ou sur tout autre support, puis elle le met à la
disposition du serveur de base de données. RMAN restaure à partir d'une sauvegarde tous
les fichiers de journalisation archivés qui sont nécessaires pour l'opération de récupération.
Si des sauvegardes sont stockées sur un gestionnaire de support, des canaux doivent être
configurés ou alloués pour l'accès aux sauvegardes stockées à cet emplacement.
• RECOVER {DATABASE | TABLESPACE name [,name]... | DATAFILE name
[,name] }...
La commande RECOVER utilise la copie restaurée du fichier de données et lui applique les
modifications enregistrées dans les sauvegardes incrémentielles et les fichiers de
journalisation de la base de données.
Vous pouvez aussi effectuer une récupération complète ou jusqu'à un point dans le temps à l'aide
de l'assistant de récupération Recovery Wizard. A partir de la page d'accueil de la base de
données dans Cloud Control, accédez à Availability > Backup & Recovery > Perform Recovery.
Remarque : La fonction de conseil Data Recovery Advisor offre une méthode automatisée pour
détecter la nécessité d'une récupération et la réaliser.
Un échec d'instance se produit lorsque l'instance de base de données s'arrête avant que tous les
fichiers de la base soient synchronisés. Il peut être provoqué par une défaillance matérielle ou
logicielle ou par les commandes d'arrêt d'urgence SHUTDOWN ABORT et STARTUP FORCE.
Il est rarement nécessaire que l'administrateur intervienne pour remédier à un échec d'instance si
Oracle Restart est activé et surveille la base de données. Oracle Restart essaie de redémarrer
l'instance dès que l'échec se produit. Si une intervention manuelle est requise, il y a sans doute
un problème plus sérieux qui empêche le redémarrage, par exemple une défaillance de CPU.
La base de données Oracle se rétablit automatiquement après un échec d'instance. Il suffit pour
cela que l'instance soit démarrée normalement. Si Oracle Restart est activé et configuré pour
surveiller la base de données concernée, ce démarrage se produit automatiquement. 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, elle utilise les informations
contenues dans les groupes de fichiers de journalisation pour réimplémenter les modifications
dans les fichiers de données jusqu'à l'instant de l'arrêt. Une fois la base de données ouverte, les
transactions non validées sont annulées (rollback).
SCN:
SCN : 129 SCN : 143 102-143
Annulation
SCN: 99
Fichiers Groupe de
Fichiers de de fichiers de
données contrôle journalisation
Pour qu'une instance puisse ouvrir un fichier de données, le numéro SCN (System Change
Number) contenu dans l'en-tête du fichier doit correspondre au numéro SCN stocké dans les
fichiers de contrôle de la base.
Si les numéros ne correspondent pas, l'instance applique les données des fichiers de
journalisation en ligne, en réexécutant de manière séquentielle les transactions jusqu'à ce que les
fichiers de données soient à jour. Une fois que tous les fichiers de données ont été synchronisés
avec les fichiers de contrôle, la base de données est ouverte et les utilisateurs peuvent s'y
connecter.
Lors de l'application des fichiers de journalisation, toutes les transactions sont implémentées afin
de rétablir la base dans l'état où elle se trouvait au moment de l'échec. Parmi ces transactions,
certaines étaient probablement en cours et n'avaient pas encore été validées (commit). Une fois
la base de données ouverte, ces transactions non validées sont annulées (rollback).
A la fin de la phase d'annulation de la récupération d'instance, les fichiers de données
contiennent uniquement des données validées.
Transactions
Les informations relatives à une transaction sont enregistrées dans les groupes de fichiers de
journalisation avant que l'instance renvoie le message de validation commit complete de cette
transaction. Les informations des groupes de fichiers de journalisation garantissent que la
transaction pourra être récupérée en cas d'échec. Les informations de transaction doivent
également être écrites dans le fichier de données. L'écriture dans le fichier de données a
généralement lieu un peu après l'enregistrement des informations dans les groupes de fichiers de
journalisation, car elle est beaucoup plus lente que l'écriture des informations de journalisation.
(L'écriture est aléatoire dans les fichiers de données et séquentielle dans les journaux.)
Toutes les trois secondes, le processus de point de reprise (checkpoint) enregistre dans le fichier
de contrôle des informations concernant la position du point de reprise dans le fichier de
journalisation. Ainsi, la base de données Oracle sait que toutes les entrées de journalisation
enregistrées avant ce point ne sont pas nécessaires pour la récupération. Dans le graphique de la
diapositive, les blocs à rayures roses n'ont pas encore été écrits sur le disque.
Le temps nécessaire à la récupération de l'instance correspond au temps nécessaire pour rétablir
les fichiers de données de leur état au moment du dernier point de reprise jusqu'à l'état
correspondant au dernier numéro SCN enregistré dans le fichier de contrôle. L'administrateur
contrôle cet instant en définissant une durée moyenne de récupération (MTTR) cible (en
secondes), ainsi que la taille des groupes de fichiers de journalisation. Par exemple, pour deux
groupes de fichiers de journalisation, la distance entre la position du point de reprise et la fin du
groupe ne peut pas dépasser 90 % de la taille du plus petit groupe.
La lecture des blocs de données auxquels les informations de journalisation sont appliquées
implique évidemment un délai supplémentaire.
Secondes
Oracle Corporation définit une défaillance physique comme une défaillance entraînant la perte ou
la corruption d'un ou de plusieurs fichiers de base de données (fichiers de données, de contrôle
ou 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 pourra être récupérée suite à une défaillance
physique, appliquez les méthodes recommandées décrites dans les pages qui suivent.
Moment de la
Récupération défaillance
complète
PITR
Heure de début
Restauration Transactions manquantes de la tâche de
à partir de cette après récupération incomplète récupération
sauvegarde
Lorsque vous effectuez une récupération complète, vous rétablissez la base de données dans
l'état le plus à jour, en incluant toutes les modifications validées jusqu'au moment présent.
En revanche, une récupération incomplète ramène la base de données ou le tablespace à un état
spécifique du passé. On parle aussi de "récupération jusqu'à un point dans le temps" (PITR,
Point-In-Time Recovery). Certaines transactions sont donc manquantes. Toute modification de
données effectuée entre le moment cible de la récupération et le temps présent est perdue. Ce
type de récupération est préférable dans bon nombre de cas, notamment lorsque des
modifications indésirables ont été apportées à la base de données et doivent être annulées. La
récupération jusqu'à un point du passé constitue un moyen de supprimer ces erreurs.
Journal
archivé
Journal
archivé
Journal
en ligne Application des
informations
Modifications d'annulation
appliquées
4
2
1 3 5
Fichiers de données Fichiers de données contenant
restaurés des transactions validées Fichiers de données
et non validées récupérés
La procédure qui suit décrit ce qui se produit au cours d'une récupération complète :
1. Les fichiers endommagés ou manquants sont restaurés à partir d'une sauvegarde.
2. Les modifications enregistrées dans les sauvegardes incrémentielles, dans les fichiers de
journalisation archivés et dans les fichiers de journalisation en ligne sont appliquées si
nécessaire. Les modifications des fichiers de journalisation sont appliquées aux fichiers de
données jusqu'au fichier de journalisation en ligne actuel et jusqu'à ce que les transactions
les plus récentes aient été réappliquées. Des blocs d'annulation sont générés tout au long
de cette procédure. Cette étape est appelée réimplémentation des modifications ou
récupération de cache.
3. Les fichiers de données restaurés peuvent à présent contenir des modifications validées
(commit) et des modifications non validées.
4. Les blocs d'annulation sont utilisés pour annuler (rollback) les modifications non validées.
Cette étape est parfois dite de récupération des transactions.
5. Les fichiers de données sont à présent rétablis dans un état cohérent avec les autres
fichiers de données de la base.
Journal
X
en ligne
Ouverture Application des
Application des modifications jusqu'à de la base informations
un point dans le temps de données d'annulation
2
4 5
1 3 6
Fichiers de données Fichiers de données contenant
restaurés remontant des transactions validées Fichiers de données
aussi loin dans le et non validées récupérés jusqu‘à
temps que nécessaire jusqu'à un point donné un point donné
La récupération jusqu'à un point dans le temps est la seule possibilité si vous devez effectuer une
récupération et que vous constatez qu'il manque un fichier de journalisation archivé contenant
des transactions intervenues entre le moment de la sauvegarde à partir de laquelle vous
effectuez la restauration et le numéro SCN ciblé par la récupération. En l'absence du fichier de
journalisation manquant, vous n'avez aucune trace des mises à jour apportées aux fichiers de
données au cours de cette période. La seule solution consiste à récupérer la base de données à
partir de l'instant correspondant à la sauvegarde restaurée, jusqu'à l'instant le plus avancé pour
lequel vous disposez d'une série ininterrompue de fichiers de journalisation archivés, puis à ouvrir
la base de données avec l'option RESETLOGS. Toutes les modifications effectuées dans le fichier
de journalisation manquant ou postérieurement sont perdues.
Une incarnation de base de données "en cours" est créée lorsque vous ouvrez une base avec
l'option RESETLOGS. L'incarnation dont elle est issue est appelée "incarnation parent". Un numéro
d'incarnation est utilisé pour étiqueter et identifier de manière unique chaque flux d'informations
de journalisation.
Une fois la récupération terminée, vous pouvez reprendre des opérations normales sans utiliser
OPEN RESETLOGS. Toutefois, après une récupération de base de données jusqu'à un point dans
le temps ou une récupération avec un fichier de contrôle de sauvegarde, vous devez ouvrir la
base avec l'option RESETLOGS de manière à créer une nouvelle incarnation. La base de données
requiert une nouvelle incarnation afin d'éviter toute confusion lorsque deux flux de données de
journalisation distincts présentent les mêmes numéros SCN mais interviennent à des moments
différents. Si vous appliquez les informations de journalisation incorrectes à votre base de
données, elle sera corrompue.
L'existence de plusieurs incarnations d'une même base détermine la manière dont RMAN traite
les sauvegardes qui ne figurent pas dans chemin de l'incarnation en cours. En général,
l'incarnation en cours est celle qu'il convient d'utiliser.
Réponses : a, b, c
Réponses : b, c
Réponse : a
Réponse : a
Dans cet exercice, vous allez étudier les circonstances d'une défaillance et la configuration de la
sauvegarde pour déterminer une stratégie de restauration et de récupération.
Vous abordez le troisième chapitre du module "Récupération" qui en comprend quatre, à savoir :
• Chapitre 9 : Diagnostiquer les défaillances
• Chapitre 10 : Concepts de restauration et de récupération
• Chapitre 11 : Procéder à une récupération I
• Chapitre 12 : Procéder à une récupération II
Utilisez les commandes suivantes pour vous assurer que toutes les sauvegardes nécessaires
sont disponibles et pour déterminer si vous devez prescrire à RMAN d'utiliser ou d'éviter des
sauvegardes spécifiques :
• RESTORE PREVIEW : Affiche les sauvegardes et les fichiers de journalisation archivés que
RMAN peut utiliser pour restaurer et récupérer la base de données jusqu'au point dans le
temps indiqué. RMAN interroge les métadonnées, mais ne lit pas réellement les fichiers de
sauvegarde. Le résultat de cette commande présente le même format que celui de la
commande LIST BACKUP.
• RESTORE VALIDATE : Indique que RMAN doit décider quels jeux de sauvegarde, copies de
fichiers de données et fichiers de journalisation archivés ont besoin d'être restaurés, puis les
valider. Aucun fichier n'est restauré. Pour les fichiers sur disque et sur bande, RMAN lit tous
les blocs de l'élément de sauvegarde ou de la copie d'image. RMAN valide également les
sauvegardes hors site.
• RECOVER VALIDATE HEADER : Signale et valide les sauvegardes que RMAN peut utiliser
pour restaurer les fichiers nécessaires à la récupération. Lorsque vous exécutez la
commande RECOVER VALIDATE HEADER, RMAN effectue les mêmes opérations que pour
la commande RESTORE PREVIEW. En revanche, en plus de répertorier les fichiers
nécessaires à la restauration et à la récupération, il valide les en-têtes des fichiers de
sauvegarde pour déterminer si les fichiers sur disque ou dans le catalogue de gestion des
supports correspondent à ce qui est indiqué dans les métadonnées de son référentiel.
RMAN vous permet de valider des bases de données Conteneur (CDB) et des bases de données
pluggables (PDB). Ces types de base sont traités dans le cours Oracle Database 12c: Managing
Multitenant Architecture.
La perte d'un fichier de données (quel qu'il soit) dans une base de données en mode
NOARCHIVELOG nécessite une restauration complète de la base, y compris des fichiers de
contrôle et de tous les fichiers de données.
Lorsque la base est en mode NOARCHIVELOG, il n'est possible de récupérer que l'état de la plus
récente sauvegarde. Par conséquent, les utilisateurs doivent de nouveau entrer toutes les
modifications qui ont été apportées depuis cette sauvegarde.
Pour effectuer ce type de récupération :
1. Arrêtez l'instance si elle est encore active.
2. Dans la page Maintenance Properties, cliquez sur Perform Recovery.
3. Sélectionnez le type de récupération Whole Database.
Si vous avez une base de données en mode NOARCHIVELOG qui utilise une stratégie de
sauvegarde incrémentielle, RMAN restaure d'abord le niveau 0 le plus récent, puis la récupération
RMAN applique les sauvegardes incrémentielles.
Vous pouvez effectuer une récupération limitée d'une base de données en mode NOARCHIVELOG
à l'aide des sauvegardes incrémentielles. Ces dernières doivent être cohérentes.
Si vous avez effectué des sauvegardes incrémentielles, RMAN utilise les sauvegardes de
niveau 0 et 1 pour restaurer et récupérer la base.
Vous devez indiquer l'option NOREDO dans la commande RECOVER DATABASE si les fichiers de
journalisation en ligne sont perdus ou si les informations de journalisation ne peuvent pas être
appliquées aux sauvegardes incrémentielles. Si vous ne spécifiez pas l'option NOREDO, RMAN
recherche les fichiers de journalisation en ligne après avoir appliqué les sauvegardes
incrémentielles. Si ces fichiers ne sont pas disponibles, il émet un message d'erreur.
Si les fichiers de journalisation en ligne en cours contiennent toutes les modifications depuis la
dernière sauvegarde incrémentielle, vous pouvez exécuter la commande RECOVER DATABASE
sans l'option NOREDO. Les modifications seront appliquées.
Remarque : Vous devez restaurer le fichier de contrôle uniquement s'il n'est pas à jour.
Lorsque la base de données est en mode ARCHIVELOG, la perte d'un fichier de données, quel
qu'il soit tant qu'il n'appartient pas au tablespace SYSTEM ou UNDO, affecte uniquement les objets
figurant dans le fichier manquant. Le reste de la base de données est toujours disponible pour les
utilisateurs.
Pour restaurer et récupérer le fichier de données manquant :
1. Dans Cloud Control, accédez à la page Perform Recovery.
2. Choisissez le type de récupération Datafiles et sélectionnez l'option "Recover to current
time".
3. Ajoutez tous les fichiers de données à récupérer.
4. Déterminez si vous voulez restaurer les fichiers vers l'emplacement par défaut ou (en cas de
disque ou de contrôleur manquant) vers un nouvel emplacement.
5. Lancez le travail RMAN afin de restaurer et de récupérer les fichiers manquants.
Comme la base de données est en mode ARCHIVELOG, la récupération peut aller jusqu'au
moment de la dernière validation (commit) et les utilisateurs n'ont pas besoin d'entrer à nouveau
leurs données les plus récentes.
Les fichiers de données appartenant au tablespace SYSTEM ou contenant des données UNDO ont
une importance critique pour le système. La perte d'un de ces fichiers nécessite une restauration
de la base de données à partir de l'état MOUNT (à la différence d'autres fichiers de données qui
peuvent être restaurés pendant que la base est ouverte).
Pour procéder à cette récupération :
1. Arrêtez l'instance si ce n'est déjà fait.
2. Montez la base de données.
3. Dans Cloud Control, accédez à la page Perform Recovery.
4. Choisissez le type de récupération Datafiles et sélectionnez l'option "Recover to current
time".
5. Ajoutez tous les fichiers de données à récupérer.
6. Déterminez si vous voulez restaurer les fichiers vers l'emplacement par défaut ou (en cas de
disque ou de contrôleur manquant) vers un nouvel emplacement.
7. Lancez le travail RMAN afin de restaurer et de récupérer les fichiers manquants.
8. Ouvrez la base de données. Les utilisateurs n'ont pas à entrer de nouveau certaines
données car la récupération va jusqu'au moment de la dernière validation (commit).
Les exemples présentés dans la diapositive ci-dessus illustrent plusieurs options de la commande
ASMCMD md_restore.
Le troisième exemple crée un script SQL. Le groupe de disques n'est pas re-créé lorsque l'option
–S est utilisée.
Reportez-vous au manuel Oracle Automatic Storage Management Administrator’s Guide pour
plus d'informations sur la commande md_restore.
Fichiers de
sauvegarde
incrémentielle
Copie d'image d'un
fichier de données
Vous pouvez utiliser RMAN pour appliquer des sauvegardes incrémentielles à des copies
d'image de fichiers de données. Avec cette méthode de récupération, vous utilisez RMAN pour
récupérer une copie d'un fichier de données, c'est-à-dire que vous réimplémentez (récupérez) les
modifications de la copie d'image jusqu'à un certain point dans le temps, via l'application des
sauvegardes incrémentielles. La copie d'image est mise à jour avec toutes les modifications
jusqu'au numéro SCN au niveau duquel la sauvegarde incrémentielle a été effectuée. RMAN
utilise ensuite le fichier de données actualisé résultant pour effectuer la restauration physique,
comme il utiliserait une copie d'image complète prise au niveau de ce numéro SCN. Cependant,
cela permet d'éviter la surcharge liée à l'exécution quotidienne d'une copie d'image complète de
la base de données. L'application de sauvegardes incrémentielles aux copies d'image de fichiers
de données présente les avantages suivants :
• La restauration physique (à l'aide de fichiers journaux archivés) est plus rapide, car il suffit
d'appliquer uniquement les fichiers journaux qui ont été archivés depuis la dernière
sauvegarde incrémentielle.
• Il est inutile d'effectuer une copie d'image complète après la restauration incrémentielle.
Si le processus de récupération échoue pendant l'application du fichier de sauvegarde
incrémentielle, relancez-le tout simplement. RMAN détermine automatiquement les fichiers de
sauvegarde incrémentielle à appliquer : ceux-ci peuvent être antérieurs à la copie d'image du
fichier de données et s'échelonner jusqu'au moment où vous voulez arrêter le processus de
récupération. S'il existe plusieurs versions d'une copie d'image dans le catalogue RMAN, RMAN
utilise automatiquement la dernière. RMAN signale une erreur s'il n'est pas en mesure de
fusionner un fichier de sauvegarde incrémentielle avec une copie d'image.
Si vous exécutez quotidiennement les commandes illustrées sur la diapositive, vous disposez à
tout moment de copies d'image à jour pour l'ensemble des fichiers de données de la base.
Le tableau indique les conséquences de chaque exécution. Notez que cet algorithme requiert une
configuration initiale ; la stratégie ne se réalise qu'après le jour 3.
• Jour 1 : La commande RECOVER ne fait rien. Il n'existe encore aucune copie d'image
à récupérer. La commande BACKUP crée les copies d'image.
• Jour 2 : La commande RECOVER ne fait toujours rien. Cela est dû à l'absence de
sauvegarde incrémentielle. Comme des copies d'image de référence ont été créées
le jour 1, la commande BACKUP crée la sauvegarde incrémentielle.
• Jour 3 : La commande RECOVER applique les modifications aux copies d'image à partir de
la sauvegarde incrémentielle. La commande BACKUP effectue une autre sauvegarde
incrémentielle qui sera utilisée pour récupérer les copies d'image le jour 4, et ainsi de suite.
Lors de l'implémentation de ce type de stratégie de sauvegarde, il est important d'utiliser
des balises. Celles-ci permettent de relier des sauvegardes incrémentielles particulières aux
copies d'image réalisées. Sans balise, la sauvegarde incrémentielle la plus récente (peut-être
incorrecte) serait utilisée pour récupérer les copies d'image.
Vous pouvez utiliser des copies d'image de fichiers de données en vue d'une récupération rapide
en procédant comme suit :
1. Mettez les fichiers de données hors ligne.
2. Utilisez la commande SWITCH TO ... COPY pour pointer vers la copie d'image
des fichiers.
3. Récupérez les fichiers de données.
4. Mettez les fichiers de données en ligne.
A ce stade, la base est utilisable et les fichiers de données ont été récupérés. Toutefois, si vous
souhaitez remettre ces derniers à leur emplacement d'origine, procédez comme suit :
5. Créez une copie d'image des fichiers de données à leur emplacement d'origine à l'aide de la
commande BACKUP AS COPY.
6. Mettez les fichiers de données hors ligne.
7. Basculez vers la copie que vous avez effectuée à l'étape 5 à l'aide de la commande SWITCH
TO COPY.
8. Récupérez les fichiers de données.
9. Mettez les fichiers de données en ligne.
Cette commande vous permet de récupérer des fichiers de données, des tablespaces, des
fichiers temporaires ou l'intégralité de la base de données. Les fichiers vers lesquels vous
basculez doivent être des copies d'image.
La commande SET NEWNAME ne peut être utilisée qu'à l'intérieur d'un bloc RUN. Elle prépare un
mapping des noms pour les opérations ultérieures. Dans l'exemple de la diapositive, la
commande SET NEWNAME définit l'emplacement d'écriture pour une opération de restauration de
ce fichier de données. L'exécution de la commande RESTORE entraîne la restauration du fichier
de données users01.dbf vers /disk2/users01.dbf. Le fichier de données est écrit à cet
emplacement, mais le fichier de contrôle ne pointe toujours pas vers ce dernier. La commande
SWITCH entraîne la mise à jour du fichier de contrôle avec le nouvel emplacement.
Il est plus efficace d'utiliser la clause SET NEWNAME pour définir le format de nom par défaut pour
tous les fichiers de données d'un tablespace spécifique ou de la base (au lieu de définir chaque
nom individuellement comme dans les versions de base de données antérieures à Oracle
Database 11g Release 2).
L'ordre de priorité associé à la commande SET NEWNAME est le suivant :
1. SET NEWNAME FOR DATAFILE et SET NEWNAME FOR TEMPFILE
2. SET NEWNAME FOR TABLESPACE
3. SET NEWNAME FOR DATABASE
• Dans le passé :
SQL> CREATE RESTORE POINT end_q1 AS OF SCN 100;
Chronologie
Vous pouvez attribuer un nom à un point dans le temps ou un numéro SCN particulier.
Cela permet par la suite de le référencer, notamment lors de la réalisation d'opérations
de flashback ou d'une récupération jusqu'à un point dans le temps.
• Le premier exemple de la diapositive crée un point de restauration qui correspond au
moment présent. Ainsi, si vous vous apprêtez à appliquer une mise à jour d'une application
ou de données dans la base, vous savez que vous pourrez revenir à l'état précédant
immédiatement la mise à jour en utilisant le point de restauration BEFORE_MODS.
• Le second exemple de la diapositive crée un point de restauration qui représente un SCN
passé : 100. Ce point de restauration peut être utilisé de la même manière que le précédent.
Normalement, les points de restauration sont gardés dans la base de données pendant au moins
la durée indiquée par le paramètre d'initialisation CONTROL_FILE_RECORD_KEEP_TIME.
Toutefois, lorsque vous créez un point de restauration, vous pouvez utiliser l'option PRESERVE
afin qu'il soit stocké jusqu'à ce que vous le supprimiez de façon explicite.
Les points de restauration sont listés dans la vue V$RESTORE_POINT avec leur nom, leur numéro
SCN, un horodatage et d'autres informations.
Vous pouvez effectuer une récupération jusqu'à un point dans le temps gérée par le serveur en
procédant comme suit. La base de données doit être exécutée en mode ARCHIVELOG.
1. Déterminez la cible de la restauration. Il peut s'agir d'une date et d'une heure, d'un SCN,
d'un point de restauration ou d'un numéro de séquence de journal. Par exemple, si vous
savez que des transactions incorrectes ont été soumises hier à 15h00, vous pouvez choisir
hier à 14h59 comme point cible de la restauration.
2. Définissez les variables d'environnement NLS (National Language Support) de sorte que les
constantes temporelles que vous fournissez à RMAN soient formatées correctement. Voici
des exemples de paramétrage :
$ export NLS_LANG = american_america.us7ascii
$ export NLS_DATE_FORMAT = "yyyy-mm-dd:hh24:mi:ss"
3. Montez la base de données. Si elle est ouverte, vous devez d'abord l'arrêter, comme dans
l'exemple suivant :
RMAN> shutdown immediate
RMAN> startup mount
Réponse : b
Dans le premier exercice, vous allez procéder à une récupération complète de la base de
données après la perte d'un fichier de données essentiel. Dans ce cas, Data Recovery Advisor ne
peut pas être utilisé.
Le second exercice vous place dans un scénario qui nécessite une récupération incomplète.
Vous abordez le dernier chapitre du module "Récupération" qui en comprenait quatre au total, à
savoir :
• Chapitre 9 : Diagnostiquer les défaillances
• Chapitre 10 : Concepts de restauration et de récupération
• Chapitre 11 : Procéder à une récupération I
• Chapitre 12 : Procéder à une récupération II
Le moyen le plus simple de récupérer un fichier de paramètres serveur est d'utiliser la clause
FROM MEMORY qui crée un fichier de paramètres d'initialisation de type texte (PFILE) ou un fichier
de paramètres serveur (SPFILE) à partir des paramètres définis au niveau système. Dans un
environnement RAC, le fichier créé contient les valeurs de paramètre de chaque instance.
Au démarrage de l'instance, toutes ces valeurs sont enregistrées dans le fichier d'alertes
alert.log. Depuis la version Oracle Database 11g, le dump des paramètres consigné dans
alert.log est écrit avec une syntaxe valide. Ainsi, vous pouvez plus facilement couper-coller
les paramètres dans un fichier distinct, puis utiliser ce dernier en tant que fichier PFILE pour une
nouvelle instance. Le nom du fichier PFILE ou SPFILE est consigné dans le fichier alert.log
au démarrage de l'instance. Par ailleurs, le fichier d'alertes vous avertit en cas d'utilisation d'un
fichier PFILE inconnu côté client.
Pour prendre en charge cette fonctionnalité supplémentaire, vous devez attribuer la valeur
11.0.0.0 ou ultérieure au paramètre d'initialisation COMPATIBLE.
Recovery
Manager
(RMAN) Zone de récupération
rapide
Fichier de
paramètres
serveur Base de données
Si vous avez perdu le fichier de paramètres serveur et ne pouvez pas utiliser la clause FROM
MEMORY, vous pouvez le restaurer à partir de la sauvegarde automatique. La procédure est
similaire à la restauration du fichier de contrôle à partir de la sauvegarde automatique. Si la
sauvegarde automatique n'est pas dans la zone de récupération rapide, indiquez le paramètre
DBID de la base. Exécutez la commande RESTORE SPFILE FROM AUTOBACKUP.
Si vous restaurez le fichier SPFILE dans un emplacement autre que celui par défaut, utilisez la
syntaxe suivante :
RESTORE SPFILE TO <file_name> FROM AUTOBACKUP
Si vous restaurez le fichier SPFILE à partir de la zone de récupération rapide, utilisez la syntaxe
suivante :
RMAN> run {
2> restore spfile from autobackup
3> recovery area = '<flash recovery area destination>'
4> db_name = '<db_name>';
5> }
Les options de récupération disponibles suite à la perte d'un fichier de contrôle sont différentes
selon la configuration de stockage des fichiers de contrôle et selon qu'il existe encore au moins
une copie du fichier de contrôle ou que toutes ont été perdues.
Si vous utilisez un espace de stockage ASM et qu'il reste encore au moins une copie du fichier de
contrôle, vous pouvez effectuer soit une récupération assistée à l'aide de Cloud Control, soit une
récupération manuelle en utilisant RMAN comme suit :
1. Placez la base de données en mode NOMOUNT.
2. Connectez-vous à RMAN et lancez la commande RESTORE CONTROLFILE pour restaurer
le fichier de contrôle à partir d'une copie existante de ce dernier, par exemple :
restore controlfile from
'+DATA/orcl/controlfile/current.260.695209463';
3. Une fois le fichier de contrôle restauré, ouvrez la base de données.
Remarque : Vous pouvez également utiliser la commande ASMCMD cp pour restaurer le fichier
de contrôle.
Si vos fichiers de contrôle sont stockés en tant qu'éléments standard du système de fichiers et
qu'il reste au moins une copie du fichier de contrôle, vous pouvez simplement copier celle-ci à
l'emplacement du fichier perdu pendant que la base est arrêtée. Si la défaillance physique est
due à la perte d'un disque ou d'un contrôleur, copiez l'un des fichiers de contrôle restants vers un
autre emplacement et mettez à jour le fichier de paramètres de l'instance afin qu'il pointe vers ce
nouvel emplacement. Vous pouvez également supprimer du fichier de paramètres d'initialisation
la référence au fichier de contrôle manquant. Souvenez-vous qu'Oracle recommande de disposer
à tout moment d'au moins deux copies du fichier de contrôle.
A jour Sauvegarde
La perte de l'ensemble des fichiers de contrôle ne devrait jamais se produire. La prévention est
préférable à la récupération. Même si vous avez placé des copies du fichier de contrôle à
différents emplacements, vous pouvez être amené à effectuer une récupération suite à la perte de
l'ensemble de ces copies. Si vous avez perdu toutes les copies du fichier de contrôle en cours et
que vous disposez d'une sauvegarde de ce fichier, la procédure à suivre dépend du statut des
fichiers de journalisation en ligne et des fichiers de données. Si vous n'avez pas de sauvegarde
du fichier de contrôle mais disposez d'un fichier texte créé avec la commande ALTER DATABASE
BACKUP CONTROLFILE TO TRACE, vous pouvez être en mesure d'utiliser ce fichier texte pour
recréer le fichier de contrôle.
Fichiers de journalisation en ligne disponibles
Si, d'une part, les fichiers de journalisation en ligne sont disponibles et contiennent les
informations de journalisation nécessaires à la récupération et que, d'autre part, les fichiers de
données sont à jour, vous pouvez restaurer un fichier de contrôle de sauvegarde, effectuer une
récupération complète, puis ouvrir la base de données avec l'option RESETLOGS. Vous devez
indiquer le nom des fichiers de journalisation en ligne pendant la récupération. Si ces fichiers ne
sont pas à jour, effectuez la même procédure.
Fichiers de journalisation en ligne non disponibles
Si les fichiers de journalisation en ligne ne sont pas disponibles et que les fichiers de données
sont à jour, recréez le fichier de contrôle et ouvrez la base de données avec l'option RESETLOGS.
Si les fichiers de données ne sont pas à jour, restaurez un fichier de contrôle de sauvegarde,
effectuez une récupération jusqu'à un point dans le temps, puis ouvrez la base de données avec
l'option RESETLOGS.
Fichier de contrôle
Si vous disposez d'un catalogue de restauration, vous n'êtes pas obligé de définir le DBID ou
d'utiliser la sauvegarde automatique du fichier de contrôle pour restaurer ce dernier. Vous pouvez
utiliser la commande RESTORE CONTROLFILE sans argument :
RMAN> RESTORE CONTROLFILE;
L'instance doit être dans l'état NOMOUNT lorsque vous effectuez cette opération, et RMAN doit être
connecté au catalogue de restauration. Le fichier de contrôle restauré est écrit dans tous les
emplacements indiqués par le paramètre d'initialisation CONTROL_FILES.
Utilisez la commande RESTORE CONTROLFILE... TO <destination> pour restaurer le fichier de
contrôle vers un emplacement autre que ceux par défaut.
Si vous avez également perdu le fichier SPFILE associé à la base de données et que vous devez
le restaurer à partir de la sauvegarde automatique, la procédure à suivre est similaire à la
restauration du fichier de contrôle à partir de la sauvegarde automatique. Vous devez d'abord
définir le DBID de la base de données, puis utiliser la commande RESTORE SPFILE FROM
AUTOBACKUP.
Une fois que vous avez démarré l'instance avec le fichier de paramètres serveur restauré, RMAN
peut restaurer le fichier de contrôle à partir de la sauvegarde automatique. Après avoir restauré et
monté le fichier de contrôle, vous disposez des informations de sauvegarde nécessaires pour
restaurer et récupérer la base de données.
Après avoir restauré les fichiers de contrôle de la base de données à partir de la sauvegarde,
vous devez procéder à une restauration physique complète puis ouvrir la base avec l'option
RESETLOGS.
Réponses : a, d
Fichier de
journalisation
Si vous le pouvez, tirez parti des avantages offerts par l'attribut NOLOGGING des tables et des
index. Lorsque vous créez une table avec cet attribut, les données écrites dans le flux des
informations de journalisation se limitent à la consignation de la création de l'objet. Les insertions
volumineuses sont ainsi plus rapides.
Dans l'exemple de la diapositive, la table SALES_COPY est créée en tant que table NOLOGGING.
Lorsqu'une insertion est effectuée avec le conseil (hint) APPEND, aucune information de
journalisation n'est donc générée. Il s'ensuit que vous ne pouvez pas récupérer cette
transaction sur la table SALES_HISTORY. Si cela pose problème, il est important de réaliser une
sauvegarde des tables alimentées de cette manière immédiatement après chaque transaction
d'insertion. Vous pourrez alors accéder à la sauvegarde la plus récente de la table.
Si vous effectuez une restauration physique et que des objets NOLOGGING sont impliqués, ceux-
ci seront marqués comme faisant l'objet d'une corruption logique pendant le processus de
récupération. Dans ce cas, supprimez les objets NOLOGGING, puis recréez-les.
La récupération suite à la perte d'un seul membre d'un groupe de fichiers de journalisation ne
devrait pas affecter le fonctionnement de l'instance.
Pour procéder à cette récupération :
1. Déterminez si un fichier de journalisation est manquant en consultant le fichier d'alertes.
2. Restaurez le fichier manquant en commençant par supprimer le fichier de journalisation
membre perdu :
ALTER DATABASE DROP LOGFILE MEMBER ''
Ajoutez alors un membre pour remplacer celui qui a été perdu :
ALTER DATABASE ADD LOGFILE MEMBER '' TO GROUP n
Vous pouvez également utiliser Cloud Control pour supprimer et recréer le membre du
groupe de fichiers de journalisation.
Remarque : Si vous avez opté pour des fichiers de journalisation OMF (Oracle Managed
Files) et utilisez la syntaxe précédente pour ajouter un membre à un groupe de fichiers de
journalisation existant, le nouveau membre n'est pas un fichier OMF. Pour garantir que le
nouveau membre sera un fichier OMF, l'option de récupération la plus simple consiste à
créer un nouveau groupe de fichiers de journalisation, puis à supprimer celui dont un
membre a été perdu.
3. Si la défaillance physique est due à la perte d'une unité de disque ou d'un contrôleur,
renommez le fichier manquant
4. Si le groupe a déjà été archivé, ou si vous êtes en mode NOARCHIVELOG, vous avez la
possibilité de résoudre le problème en vidant le groupe de journalisation pour recréer les
fichiers manquants. Sélectionnez le groupe approprié, puis l'action Clear Logfile. Vous
pouvez également vider manuellement le groupe défectueux à l'aide de la commande
suivante :
ALTER DATABASE CLEAR LOGFILE GROUP #
Pour aborder le thème de la perte de fichiers de journalisation (fichiers redo log), il est important
de comprendre les différents statuts possibles d'un groupe de fichiers de journalisation. Au cours
de l'exécution normale d'une base de données Oracle, les groupes de fichiers de journalisation
peuvent prendre successivement trois états. Ces états sont les suivants, dans l'ordre du cycle :
• CURRENT : Cet état signifie que le processus LGWR écrit actuellement dans ce groupe les
données de journalisation relatives aux transactions qui ont lieu dans la base. Le groupe
conserve cet état jusqu'à ce qu'un changement de groupe de fichiers de journalisation se
produise.
• ACTIVE : Le groupe de fichiers de journalisation contient encore des données de
journalisation requises pour la récupération d'instance. Il conserve ce statut jusqu'à
l'exécution du point de reprise (checkpoint) au cours duquel toutes les modifications
de données indiquées dans le groupe sont écrites dans les fichiers de données.
• INACTIVE : L'exécution du point de reprise a eu lieu, ce qui signifie que le groupe
de fichiers de journalisation n'est plus requis pour la récupération d'instance et peut devenir
le prochain groupe CURRENT.
Non ACTIVE
Non
Vider le Exécuter Effectuer un Instance
Non changement
fichier Archivé ? point de en panne ?
journal. reprise. de journal.
Sauvegarder
la base de Oui
Oui CKPT
données. Oui
Vider le fichier réussi ?
journal.
Non
Restaurer et effectuer
une récupération incomplète
jusqu'à annulation.
Si vous avez perdu un groupe de fichiers de journalisation entier, toutes les copies des fichiers de
journalisation de ce groupe sont inutilisables ou ont disparu.
Dans le cas le plus simple, le groupe de fichiers de journalisation présente l'état INACTIVE. Cela
signifie qu'il ne fait actuellement l'objet d'aucune écriture et n'est plus nécessaire à la récupération
d'instance. Si le problème est temporaire ou si vous pouvez réparer le support, la base de
données continue à s'exécuter normalement et le groupe est réutilisé lorsque suffisamment
d'événements de changement de fichier de journalisation se produisent. Sinon, si le support ne
peut pas être réparé, vous pouvez vider le fichier journal. Lorsque vous effectuez cette opération,
vous indiquez que le fichier journal peut être réutilisé.
Si le groupe de fichiers de journalisation en question est dans l'état ACTIVE, il reste nécessaire à
la récupération d'instance même s'il ne fait actuellement pas l'objet d'écritures. Si vous ne pouvez
pas créer de point de reprise (checkpoint), le groupe de fichiers de journalisation n'est plus
nécessaire à la récupération d'instance et vous pouvez continuer comme si le groupe présentait
l'état inactif.
Si le groupe de fichiers de journalisation présente l'état CURRENT, il faisait l'objet d'écritures
actives lors de la perte. Dans ce cas, il est même possible que le processus LGWR échoue. Le
cas échéant, l'instance tombe en panne. A ce stade, la seule option qui s'offre à vous consiste à
effectuer une restauration à partir de la sauvegarde, à procéder à une récupération incomplète
jusqu'à annulation (cancel), puis à ouvrir la base de données avec l'option RESETLOGS.
Début
Oui
ALTER DATABASE CLEAR LOGFILE ... Fichier journal
archivé ?
Non
Nécessaire Oui
pour fichier de
données ?
Non
ALTER DATABASE CLEAR UNARCHIVED LOGFILE ...
Faites appel à l'utilitaire orapwd pour créer un fichier de mots de passe. Lorsque vous vous
connectez à l'aide du privilège SYSDBA, vous vous connectez sous le schéma SYS et non sous le
schéma associé à votre nom utilisateur. Pour SYSOPER, vous êtes connecté au schéma PUBLIC.
L'accès à la base de données à l'aide du fichier de mots de passe est fourni par des commandes
GRANT émises par des utilisateurs dotés de privilèges.
En général, le fichier de mots de passe n'est pas inclus dans les sauvegardes car, dans presque
tous les cas, il peut facilement être recréé.
Il est très important, pour la sécurité du système, de protéger le fichier de mots de passe et les
variables d'environnement qui identifient l'emplacement de ce fichier. Tout utilisateur ayant accès
à ces informations pourrait compromettre la sécurité de la connexion.
Ne supprimez ni ne modifiez le fichier de mots de passe dans le cas d'une base de données ou
d'une instance montée avec REMOTE_LOGIN_PASSWORDFILE=EXCLUSIVE ou SHARED. Si vous
le faites, vous ne pourrez pas vous reconnecter à distance avec le fichier de mots de passe.
Remarque : Lorsque vous recréez le fichier de mots de passe, vous devez tenir compte du fait
que les mots de passe distinguent les majuscules des minuscules. Par ailleurs, si le fichier de
mots de passe d'origine a été créé avec l'option IGNORECASE=Y, il doit être recréé avec la même
option.
Les index sont des objets calculés dans le sens où ils ne fournissent aucune donnée d'origine. Il
s'agit simplement d'une représentation différente de données qui existent déjà. Ainsi, dans la
plupart des cas, il est facile de les recréer. Si vous disposez d'un tablespace contenant
uniquement des index, la récupération suite à la perte d'un fichier de données appartenant à ce
tablespace peut être simplifiée.
En cas de perte d'un fichier de données de ce type, vous pouvez procéder comme suit :
1. Supprimez le fichier de données.
2. Supprimez le tablespace.
3. Recréez le tablespace d'index.
4. Recréez les index qui figuraient dans le tablespace.
Lors de la création ou de la recréation d'un index, vous pouvez utiliser les mots-clés suivants afin
de réduire le temps nécessaire à l'opération :
• PARALLEL : Permet à plusieurs processus d'oeuvrer simultanément pour créer un index.
L'option par défaut est NOPARALLEL.
• NOLOGGING : Avec ce mot-clé, la création de l'index est plus rapide car la quantité d'entrées
de journalisation générées pendant le processus de création est réduite au minimum.
Si vous devez recréer des index, utilisez le package DBMS_METADATA pour extraire les
métadonnées du dictionnaire de données.
Les tablespaces en lecture seule ne faisant l'objet d'aucune écriture, des éléments particuliers
sont à prendre en considération afin d'optimiser leur processus de récupération. Il est inutile de
placer un tablespace en lecture seule en mode sauvegarde ou de le mettre hors ligne avant de le
copier vers l'emplacement de sauvegarde. Il suffit de le copier.
Lorsque vous restaurez un tablespace en lecture seule, mettez-le hors ligne, restaurez les fichiers
de données lui appartenant, puis remettez-le en ligne.
Prenons l'exemple suivant, où un tablespace en lecture seule est placé en lecture/écriture :
1. Effectuez une sauvegarde du tablespace en lecture seule.
2. Placez le tablespace en lecture/écriture.
3. Récupérez le tablespace.
La sauvegarde que vous avez réalisée à l'étape 1 peut encore être utilisée pour récupérer ce
tablespace ; toutefois, depuis la réalisation de cette sauvegarde, le tablespace a été placé en
lecture/écriture et a peut-être fait l'objet d'écritures. Dans ce cas, il doit faire l'objet d'une
récupération.
Heureusement :
• Les fichiers temporaires sont recréés automatiquement
au démarrage.
• Possibilité de recréer manuellement les fichiers.
Copyright © 2015, Oracle et/ou ses affiliés. Tous droits réservés.
Sauvegardes RMAN>
Fichier de Fichier de
paramètres paramètres
serveur serveur
Utilisez la procédure décrite dans les pages suivantes pour effectuer des tests de restauration.
Vous pouvez également l'utiliser pour déplacer une base de données de production vers un
nouvel hôte.
L'identificateur (DBID) de la base de données test qui est restaurée est identique à celui de la
base de données cible. Si vous utilisez un catalogue de restauration et que vous vous connectez
à la base de données test et à la base de données du catalogue de restauration, ce dernier est
mis à jour avec les informations sur la base de données test. Cette opération peut avoir un impact
sur la capacité de RMAN à restaurer et récupérer la base de données cible.
Si votre intention est de créer une copie de la base de données cible en vue d'une utilisation sur
un nouvel hôte, vous devez créer une base dupliquée à l'aide de la commande RMAN
DUPLICATE. En effet, la base dupliquée se voit attribuer un nouveau DBID qui permet son
enregistrement dans le même catalogue de restauration que la base cible d'origine. Reportez-
vous au chapitre intitulé "Dupliquer une base de données" pour plus d'informations sur la
commande DUPLICATE.
Effectuez les étapes mentionnées dans la diapositive pour préparer la restauration de la base de
données sur un nouvel hôte.
Remarque : Si vous effectuez un test de restauration, ne vous connectez pas au catalogue de
restauration lors de la restauration des fichiers de données. En effet, si vous vous y connectez,
RMAN enregistre des informations sur les fichiers de données restaurés dans le catalogue et
considère la base restaurée comme la base cible en cours. Par ailleurs, si le fichier de contrôle
n'est pas suffisamment volumineux pour contenir l'ensemble des données du référentiel RMAN
relatives aux sauvegardes à restaurer et que vous devez utiliser un catalogue de restauration,
exportez le catalogue, puis importez-le dans un autre schéma ou une autre base. Utilisez le
catalogue de restauration copié pour effectuer le test de restauration.
Pour restaurer la base de données, effectuez sur l'hôte de restauration les étapes mentionnées dans
cette page et dans la page suivante.
1. Configurez la variable d'environnemen ORACLE_SID comme indiqué dans l'exemple suivant :
$ setenv ORACLE_SID orcl
2. Démarrez RMAN et connectez-vous à l'instance cible. Ne vous connectez pas au catalogue de
restauration, comme indiqué dans l'exemple suivant :
$ rman TARGET /
3. Définissez l'identificateur de la base de données (DBID). Vous pouvez trouver le DBID de la
base source en interrogeant la colonne DBID de la vue V$DATABASE.
RMAN> SET DBID 1090770270;
4. Démarrez l'instance en mode NOMOUNT :
RMAN> STARTUP NOMOUNT
Vous recevez un message d'erreur similaire à celui qui suit car le fichier de paramètres serveur
(SPFILE) n'a pas été restauré. RMAN utilise un fichier de paramètres "fictif" pour démarrer
l'instance.
startup failed: ORA-01078: failure in processing system parameters
9. Créez un bloc RUN pour restaurer le fichier de contrôle à partir d'une sauvegarde
automatique et montez la base de données, comme indiqué dans l'exemple suivant :
RUN
{
RESTORE CONTROLFILE FROM AUTOBACKUP;
ALTER DATABASE MOUNT;
}
10. Interrogez la vue V$DATAFILE sur le nouvel hôte pour déterminer les noms de fichier de
base de données enregistrés dans le fichier de contrôle. Créez le script de récupération
RMAN pour restaurer et récupérer la base de données, en effectuant les opérations
appropriées :
a. A l'aide de la commande SET NEWNAME, indiquez le chemin du nouvel hôte pour
chacun des fichiers de données qui est restauré sur une destination différente de l'hôte
d'origine.
b. Utilisez la commande SQL ALTER DATABASE RENAME FILE pour indiquer le chemin
des fichiers de journalisation en ligne.
c. Incluez la commande SET UNTIL pour limiter la récupération à la fin des fichiers de
journalisation archivés.
d. Incluez la commande SWITCH afin que le fichier de contrôle reconnaisse les nouveaux
chemins comme des noms corrects de fichiers de données.
Procédure de base :
1. Restaurez une sauvegarde automatique du fichier
de paramètres serveur (SPFILE).
2. Démarrez l'instance de la base de données cible.
3. Restaurez le fichier de contrôle à partir de la sauvegarde
automatique.
4. Montez la base de données.
5. Restaurez les fichiers de données.
6. Récupérez les fichiers de données.
7. Ouvrez la base de données en utilisant l'option
RESETLOGS.
La procédure de base pour effectuer une récupération après sinistre est décrite dans la
diapositive ci-dessus. Après avoir monté la base de données, suivez la procédure permettant
d'effectuer la récupération à l'aide d'un fichier de contrôle de sauvegarde.
Utilisez la commande SET DECRYPTION pour indiquer le(s) mot(s) de passe de décryptage à
utiliser lors de la lecture de sauvegardes ayant fait l'objet d'un cryptage en mode double ou d'un
cryptage avec mot de passe. Lorsque RMAN lit un élément de sauvegarde crypté, il essaie
chaque mot de passe figurant dans la liste jusqu'à ce qu'il trouve celui qui lui permet de décrypter
l'élément. Une erreur est générée si aucune des clés indiquées n'est correcte.
Si vous perdez le mot de passe d'une sauvegarde cryptée en mode Mot de passe, vous ne
pouvez pas restaurer cette sauvegarde.
Etant donné que l'infrastructure Oracle de gestion des clés archive toutes les clés maître
précédentes dans le fichier de clés d'accès (ou portefeuille de cryptage), la modification ou la
réinitialisation de la clé maître de la base de données en cours n'affecte pas la capacité de
restauration des sauvegardes cryptées effectuées à l'aide d'une ancienne clé maître. Vous
pouvez recréer la clé maître de la base de données à tout moment. Mais RMAN pourra toujours
restaurer toutes les sauvegardes cryptées créées par cette base.
Si vous perdez le fichier contenant la clé d'une sauvegarde cryptée en mode Transparent, vous
ne pouvez plus restaurer cette sauvegarde. Comme le fichier de clés d'accès contient toutes les
clés de cryptage des sauvegardes antérieures, vous pouvez en restaurer une sauvegarde pour
récupérer les sauvegardes qui ont été cryptées antérieurement. En revanche, les sauvegardes
cryptées après la sauvegarde du fichier de clés d'accès sont inaccessibles.
Méthode recommandée : Sauvegardez fréquemment le fichier de clés d'accès.
Réponses : a, b, c
Ces exercices vous permettent d'apprendre à restaurer une base de données après la perte de
différents fichiers. Vous pouvez les exécuter dans l'ordre de votre choix ; toutefois, une fois que
vous en avez commencé un, vous devez le mener à bien.
• Dans le premier exercice, vous créez une sauvegarde cryptée qui est protégée contre la
violation des données en cas de perte du support de la sauvegarde. En l'occurrence, vous
utiliserez le mode de cryptage transparent qui s'appuie sur un portefeuille de cryptage. Si le
portefeuille de cryptage est perdu, la sauvegarde n'est pas récupérable. Pour alléger les
conséquences de ce type de perte, ou pour permettre la récupération de la sauvegarde sur
une machine différente, vous pouvez utiliser un cryptage basé sur un mot de passe au lieu
d'un cryptage transparent. Vous pouvez aussi cumuler les deux modes pour garantir que la
sauvegarde pourra être récupérée soit par le mot de passe, soit par le portefeuille de
cryptage.
• Dans le deuxième exercice, vous récupérez un fichier de données perdu à l'aide d'une
sauvegarde cryptée.
• Dans le troisième exercice, vous récupérez un portefeuille de cryptage perdu.