Administration de la Base
de Données ORACLE – Partie 2
Pr. Amal KHTIRA
2022/2023
Plan du cours
1) Gestion des utilisateurs
2) Sauvegarde et Restauration de la BD
3) Introduction à RMAN
4) Catalogue de restauration RMAN
5) Sauvegarde avec RMAN
6) Restauration et récupération avec RMAN
7) Technologie Flashback
Amal KHTIRA
Chapitre 4
Catalogue de Restauration RMAN
- Le catalogue de restauration
- Création du catalogue de restauration
- Gestion des enregistrements du catalogue
- Resynchronisation du catalogue de restauration
- Sauvegarde du catalogue de restauration
- Catalogues privés virtuels RMAN
Amal KHTIRA 3
Le catalogue de restauration
4
Le catalogue de restauration
Stockage des informations dans RMAN
Les données du référentiel RMAN sont toujours stockées
Dans le fichier de Dans une base distincte,
contrôle de la base appelée catalogue de
de données cible restauration
Amal KHTIRA 5
Le catalogue de restauration
Définition
Catalogue de restauration RMAN
Le catalogue est un référentiel (ensemble de tables) pour RMAN contenant des
informations sur :
Les jeux de sauvegardes des fichiers de données et archives ;
Les copies de fichiers de données ;
La structure physique de la base de données cible ;
Les archives logs ;
Les scripts de travail (si utilisés).
Ce catalogue est une base de données qu'il faut créer de préférence sur un serveur
distinct de la base cible.
Amal KHTIRA 6
Le catalogue de restauration
Utilité
Conserve les informations de sauvegarde dans une base de données distincte, ce qui peut s’avérer utile en cas
de perte du fichier de contrôle.
Stocke un historique des sauvegardes plus long qu’avec un référentiel basé sur un fichier de contrôle.
Stocke les informations relatives à plusieurs bases de données cibles
Contient des scripts RMAN stockés, qui sont des séquences de commandes RMAN
Permet la création d’états personnalisés pour l’ensemble des cibles enregistrées
Permet l’utilisation de la clause KEEP FOREVER de la commande BACKUP
Permet de répertorier à un instant spécifique les fichiers de données et les tablespaces figurant dans la base
ou qui y figuraient.
Amal KHTIRA 7
Création du catalogue
de restauration
8
Création du catalogue de restauration
Les étapes de création
01 Configurer la base de données du catalogue de restauration
02 Créer le propriétaire du catalogue de restauration
03 Créer le catalogue de restauration
Amal KHTIRA 9
Création du catalogue de restauration
Etape 1. Configurer la base de données de restauration
Allouer de l’espace pour le catalogue de restauration, en prenant en compte les éléments suivants :
Nombre de bases de données prises en charge par le catalogue de restauration
Nombre de sauvegardes et de fichiers de journalisation archivés enregistrés
Utilisation de scripts RMAN stockés
Créer pour le catalogue de restauration un tablespace qui sera le tablespace par défaut du propriétaire
du catalogue.
SQL > CREATE TABLESPACE rcat_ts DATAFILE SIZE 15M;
Amal KHTIRA 10
Création du catalogue de restauration
Etape 2. Créer le propriétaire du catalogue de restauration
Créer un utilisateur comme propriétaire du catalogue de restauration
Définir le tablespace créé pour le catalogue comme tablespace par défaut pour cet utilisateur.
Affecter à cet utilisateur un quota UNLIMITED sur le tablespace
Octroyer à l’utilisateur le rôle RECOVERY_CATALOG_OWNER qui inclut les privilèges système suivants :
ALTER SESSION, CREATE CLUSTER, CREATE DATABASE LINK, CREATE PROCEDURE,
CREATE SEQUENCE, CREATE SESSION, CREATE SYNONYM, CREATE TABLE, CREATE
TRIGGER, CREATE TYPE et CREATE VIEW
SQL > CREATE USER rcowner IDENTIFIED BY rcpass
DEFAULT TABLESPACE rcat_ts
TEMPORARY TABLESPACE temp
QUOTA UNLIMITED on rcat_rs;
SQL > GRANT recovery_catalog_owner TO rcowner;
Amal KHTIRA 11
Création du catalogue de restauration
Etape 3. Créer le catalogue de restauration
Se connecter à la base de données du catalogue de restauration en tant que propriétaire du catalogue :
> RMAN
RMAN > CONNECT CATALOG rcowner/rcpass@orcl
Remarque : Si la valeur de la variable d’environnement ORACLE_SID est le SID de la base de données
du catalogue, il est inutile de fournir la valeur de net_service_name (orcl) dans l’instruction CONNECT.
Exécuter la commande CREATE CATALOG :
RMAN > CREATE CATALOG;
Amal KHTIRA 12
Gestion des enregistrements
du catalogue
13
Gestion des enregistrements du catalogue
Les opérations possibles
La gestion des enregistrements de la base de données cible dans le catalogue de restauration inclut les
opérations suivantes :
1) Enregistrer une base de données cible dans le catalogue de restauration
2) Supprimer l’enregistrement d’une base de données cible dans le catalogue
3) Enregistrer des fichiers de sauvegarde supplémentaires dans le catalogue
Amal KHTIRA 14
Gestion des enregistrements du catalogue
1) Enregistrer une BD cible dans le catalogue
Appeler RMAN, puis se connecter à la base de données du catalogue et à la base cible :
> RMAN CATALOG rcowner/rcpass TARGET sys/password;
OU
> RMAN TARGET / CATALOG rcowner/rcpass #Connexion à la base actuelle
Vérifier que la base de données cible est montée ou ouverte.
Exécuter la commande REGISTER pour enregistrer la base de données cible dans le catalogue de
restauration :
RMAN > REGISTER DATABASE ;
Amal KHTIRA 15
Gestion des enregistrements du catalogue
2) Supprimer l’enregistrement d’une BD cible dans le catalogue
Les enregistrements du catalogue concernant cette base se basent sur le contenu du fichier de contrôle
au moment du nouvel enregistrement.
L’enregistrement d’une base cible est supprimé dans le cas où :
Le catalogue de restauration n’est plus utilisé pour cette base
Si la base n’existe plus
> RMAN TARGET / CATALOG rcowner/rcpass@orcl
RMAN > UNREGISTER DATABASE;
Amal KHTIRA 16
Gestion des enregistrements du catalogue
3) Enregistrement des fichiers de sauvegarde supplémentaires (1/5)
La commande CATALOG est utilisée pour ajouter au catalogue de restauration les types suivants de
fichier de sauvegarde :
Copies du fichier de contrôle
Copies des fichiers de données
Fichiers de journalisation archivés
Eléments de sauvegarde
RMAN > CATALOG BACKUPPIECE 'file_name';
Si des sauvegardes ont été supprimées du fichier de contrôle en raison de leur ancienneté, on peut les
enregistrer dans le catalogue de sorte que RMAN puisse les utiliser pour une opération de restauration.
Amal KHTIRA 17
Gestion des enregistrements du catalogue
3) Enregistrement des fichiers de sauvegarde supplémentaires (2/5)
Exemple d’enregistrement dans le catalogue d’un fichier de contrôle, d’un fichier de données, d’un fichier
de journalisation archivé et d’un élément de sauvegarde :
RMAN > CATALOG CONTROLFILECOPY 'file_name';
RMAN > CATALOG DATAFILECOPY 'file_name';
RMAN > CATALOG ACHIVELOG 'file_name' ;
RMAN > CATALOG BACKUPPIECE 'file_name';
Amal KHTIRA 18
Gestion des enregistrements du catalogue
3) Enregistrement des fichiers de sauvegarde supplémentaires (3/5)
Il est possible d’enregistrer dans le catalogue tous les fichiers figurant dans la zone de récupération
rapide actuellement active.
Pour ce faire, on procède comme suit :
RMAN > CATALOG RECOVERY AREA NOPROMPT;
NOPROMPT permet de supprimer la demande de confirmation, lors de l’exécution effective d’une commande.
Amal KHTIRA 19
Gestion des enregistrements du catalogue
3) Enregistrement des fichiers de sauvegarde supplémentaires (4/5)
L’option START WITH permet d’enregistrer dans le catalogue tous les fichiers figurant dans
l’arborescence de répertoires indiquée.
Exemples :
Enregistrer dans le catalogue tous les fichiers de sauvegarde figurent dans le répertoire
C:/app/CC/tmp/arch_logs :
RMAN > CATALOG START WITH 'C:/app/CC/tmp/arch_logs/';
Limiter l’enregistrement dans le catalogue aux fichiers du répertoire C:/app/CC/tmp dont le nom
commence par la chaine bset ou qui figurent dans le chemin C:/app/CC/tmp/bset
RMAN > CATALOG START WITH 'C:/app/CC/tmp/bset';
Amal KHTIRA 20
Gestion des enregistrements du catalogue
3) Enregistrement des fichiers de sauvegarde supplémentaires (5/5)
Amal KHTIRA 21
Gestion des enregistrements du catalogue
Les informations sur les enregistrements du catalogue (1/4)
La vue RC_DATABASE donne des informations sur les bases de données enregistrées dans le catalogue
RMAN
SQL > connect rcowner/rcpass
SQL > select * from RC_DATABASE;
Amal KHTIRA 22
Gestion des enregistrements du catalogue
Les informations sur les enregistrements du catalogue (2/4)
La vue RC_DATAFILE donne des informations sur les fichiers de données.
SQL > connect rcowner/rcpass
SQL > select name, tablespace_name from RC_DATAFILE;
Amal KHTIRA 23
Gestion des enregistrements du catalogue
Les informations sur les enregistrements du catalogue (3/4)
« Report schema » affiche la liste des fichiers de données de la base de données
RMAN > report schema;
OU
RMAN > report schema at time 'sysdate-100';
# 'at time' ne peut s’exécuter que si
RMAN est connecté au catalogue.
Amal KHTIRA 24
Gestion des enregistrements du catalogue
Les informations sur les enregistrements du catalogue (4/4)
Vue Contenu
RC_ARCHIVED_LOG L’historique des informations sur les fichiers de journalisation en ligne et archivés.
RC_BACKUP_CONTROLFILE Les informations sur les fichiers de contrôle dans les jeux de sauvegarde.
RC_BACKUP_CORRUPTION La liste des blocs corrompus dans les backups des fichiers de données (v$backup_corruption).
RC_DATABASE_BLOCK_CORRUPTION Les informations sur les blocs de données corrompus depuis la dernière sauvegarde.
RC_BACKUP_DATAFILE Les informations sur les fichiers de données dans les jeux de sauvegarde.
RC_BACKUP_PIECE Les informations sur les pièces de sauvegarde.
RC_BACKUP_SET Les informations sur les jeux de sauvegarde.
RC_BACKUP_SPFILE Les informations sur le fichier de paramètres dans les jeux de sauvegarde.
RC_CONTROLFILE_COPY Les informations sur les copies du fichier de contrôle dans les jeux de sauvegarde
RC_DATABASE Les informations sur les bases de données enregistrées dans le catalogue de restauration.
RC_DATABASE_INCARNATION
RC_DATAFILE Les informations sur les fichiers de données enregistrés dans le catalogue de restauration.
RC_RESYNC Les informations sur les resynchronisations du catalogue de restauration.
RC_RMAN_CONFIGURATION Les informations sur la configuration RMAN.
RC_RMAN_STATUS Les informations sur toutes les opérations déroulées dans les bases de données enregistrées dans le
catalogue de restauration.
RC_STORED_SCRIPT Les informations sur les scripts stockés dans le catalogue de restauration.
RC_STORED_SCRIPT_LINE
Amal KHTIRA 25
Resynchronisation du catalogue
de restauration
26
Resynchronisation du catalogue
Resynchronisation partielle vs complète
Partielle
Lorsque RMAN effectue une resynchronisation, il
Jeux de sauvegarde
Copies des fichiers de données compare le catalogue de restauration au fichier
Fichiers de journalisation archivés
de contrôle en cours pour la base de données
cible ou à un fichier de contrôle de sauvegarde.
RMAN met ensuite à jour le catalogue de
Cliché restauration avec les informations manquantes ou
Fichier de contrôle
de la base de Catalogue de modifiées
données cible restauration
Complète
Il existe deux types de resynchronisation : Partielle
Structure de la
Partielle + base de données et complète.
Amal KHTIRA 27
Resynchronisation du catalogue
Resynchronisation partielle vs complète
La resynchronisation partielle :
1) RMAN compare le fichier de contrôle au catalogue.
2) Puis, il met à jour ce dernier avec toutes les métadonnées concernant les sauvegardes, les fichiers de
journalisation archivés, les copies des fichiers de données, etc.
La resynchronisation complète :
1) RMAN crée d'abord un cliché du fichier de contrôle (soit une simple copie temporaire).
2) Il utilise ensuite ce cliché pour établir une comparaison avec le catalogue de restauration.
3) Enfin, il met à jour l'ensemble des données qui auraient été traitées lors d’une resynchronisation
partielle.
4) Il inclut également les éventuelles modifications apportées à la structure de la base de données (Les
modifications de schéma de tables ou les nouveaux tablespaces).
Amal KHTIRA 28
Resynchronisation du catalogue
Resynchronisation manuelle
La resynchronisation du catalogue est effectuée manuellement dans les cas suivants :
Si RMAN n'a pas pu effectuer la resynchronisation automatique en raison de l'indisponibilité du catalogue
Si on n'effectue que rarement des sauvegardes de la base de données cible
Si des modifications ont été apportées à la structure physique de la base de données cible
La resynchronisation manuelle déclenche une resynchronisation complète.
RMAN > RESYNC CATALOG;
Amal KHTIRA 29
Sauvegarde du catalogue
de restauration
30
Sauvegarde du catalogue
Bonnes pratiques
Ne jamais stocker un catalogue RMAN dans la base cible ou sur les mêmes disques que la base cible.
Configurer la sauvegarde automatique du fichier de contrôle de sorte que ce dernier soit enregistré à chaque
sauvegarde du catalogue de restauration.
Sauvegarder le catalogue de restauration après chaque sauvegarde dans la base de données cible.
Amal KHTIRA 31
Sauvegarde du catalogue
Recréer partiellement un catalogue de restauration perdu
Pour recréer partiellement le contenu d'un catalogue de restauration perdu, utiliser les commandes suivantes :
1) Mettre à jour le catalogue de restauration avec les informations du référentiel RMAN provenant du
fichier de contrôle de la base de données cible ou d'une copie de ce fichier.
RMAN > RESYNC CATALOG;
2) Enregistrer à nouveau dans le catalogue les sauvegardes disponibles.
RMAN > CATALOG START WITH … ;
Amal KHTIRA 32
Sauvegarde du catalogue
Le cas d’un catalogue de restauration irrécupérable
Méthode de configuration de l'environnement de sauvegarde et récupération pour le catalogue de restauration :
1) Exécuter le catalogue de restauration en mode ARCHIVELOG.
2) Attribuer à la stratégie de conservation une valeur REDUNDANCY supérieure à un.
3) Sauvegarder le catalogue de restauration sur disque et sur bande.
4) Pour effectuer les sauvegardes, utiliser la commande BACKUP DATABASE PLUS ARCHIVELOG.
5) Utiliser comme référentiel RMAN le fichier de contrôle (NOCATALOG) et non un autre catalogue de
restauration.
6) Activer la sauvegarde automatique du fichier de contrôle (ON).
Amal KHTIRA 33
Sauvegarde du catalogue
Mettre à niveau le catalogue de restauration
Pour mettre à niveau le catalogue de restauration vers la version requise par le client RMAN, utiliser la
commande suivante :
RMAN > UPGRADE CATALOG;
Pour installer le nouveau schéma du catalogue de restauration, l'utilisateur du catalogue doit disposer du
privilège CREATE TYPE.
Remarques :
Il faut être connecté à la base du catalogue et celle-ci doit être ouverte.
Il est inutile de vous connecter à la base de données cible.
Amal KHTIRA 34
Sauvegarde du catalogue
Supprimer le catalogue de restauration
Pour supprimer le schéma du catalogue de restauration, utiliser la commande suivante :
RMAN > DROP CATALOG;
Exécuter cette commande seulement si RMAN le demande.
Il faut être connecté à la base de données du catalogue de restauration via la commande CONNECT
CATALOG.
La base de données du catalogue doit être ouverte. Il est inutile de se connecter à la base de données
cible.
Entrer la commande deux fois pour confirmer qu’on veut supprimer le schéma.
Amal KHTIRA 35
Catalogues privés virtuels RMAN
36
Catalogues privés virtuels RMAN
Définition
Les catalogues privés virtuels (VPC) permettent de :
Gérer l’accès aux bases de données enregistrés dans le Bases de données enregistrées dans le catalogue RMAN
catalogue RMAN principal.
Séparer les responsabilités, ce qui est une condition de
base pour assurer la sécurité.
Amélioration de la sécurité
Le propriétaire du catalogue peut accéder à toutes les Catalogue RMAN en renseignant
de base l’accès aux méta-données
informations concernant les bases de données inscrites dans le
catalogue.
SQL > SELECT DISTINCT db_name FROM DBINC;
Le propriétaire d'un catalogue virtuel voit seulement les Catalogues privés virtuels
bases de données pour lesquelles il a obtenu un droit d'accès.
Amal KHTIRA 37
Catalogues privés virtuels RMAN
Création d’un catalogue privé virtuel
1) Le propriétaire du catalogue crée le catalogue de base.
RMAN > CONNECT CATALOG user_rman/oracle
RMAN > CREATE CATALOG;
2) L'administrateur de base de données crée l'utilisateur VPC qui possédera le catalogue privé virtuel et lui
attribue le privilège RECOVERY_CATALOG_OWNER.
SQL > CONNECT SYS/oracle AS SYSDBA
SQL > GRANT RECOVERY_CATALOG_OWNER to vpc_owner;
Amal KHTIRA 38
Catalogues privés virtuels RMAN
Création d’un catalogue privé virtuel
3) Le propriétaire du catalogue peut accorder au propriétaire du catalogue virtuel l'accès à des bases de
données précédemment enregistrées ou le privilège REGISTER.
Octroyer le privilège REGISTER au propriétaire du VPC :
RMAN > CONNECT CATALOG user_rman/oracle
RMAN > GRANT REGISTER DATABASE TO vpc_owner;
Octroyer le privilège CATALOG FOR DATABASE :
RMAN > GRANT CATALOG FOR DATABASE orcl TO vpc_owner;
Amal KHTIRA 39
Catalogues privés virtuels RMAN
Création d’un catalogue privé virtuel
4) Créer un catalogue virtuel :
RMAN > CONNECT CATALOG vpc_owner/oracle
RMAN > CREATE VIRTUAL CATALOG;
5) Enregistrer une nouvelle base de données dans le catalogue :
RMAN > CONNECT TARGET / CATALOG vpc_owner/oracle;
RMAN > REGISTER DATABASE;
6) Utiliser le catalogue virtuel :
RMAN > CONNECT TARGET / CATALOG vpc_owner/oracle;
RMAN > BACKUP DATABASE;
Amal KHTIRA 40
Merci pour votre attention