2. Réalisé par :
o Nabila MORCHID
o FatimaZahra METROUF
o FatimaZahra FAGROUD
o Youssef NAIMI
o Otmane EL AHRACH
Encadré par :
o Mr HANOUNE Mostafa
o Mme YALID Amal
3. Partie 1 : La recuperation d’une BD
Introduction
Procédure de récupération
Récupération de fichier de contrôle
Récupération incomplète
Les raisons d’une récupération incomplète
La méthodologie de récupération incomplète
La récupération de la BD jusqu’à un point dans le temps par :
L’utilisateur
RMAN
ENTREPRISE MANAGER
5. Récupération gérée par le serveur :
Commande RESTORE et RECOVER
Vous pouvez procéder à la restauration physique de tablespaces individuels avec RMAN.
RMAN permet de restaurer à partir d'une sauvegarde les fichiers de journalisation archivés nécessaires
au cours de l'opération de récupération.
La recréation du contenu de tout ou partie 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.
ré application des changements au fichier depuis la sauvegarde à partir des fichiers de
journalisation archivés et des fichiers de journalisation en ligne ,afin d'amener la base de donné
es au numéro SCN souhaité
6. Mettre le TS endommagé hors service (Offline) - ALTER TABLESPACE <TS> OFFLINE IMMEDIATE;
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.
RECOVER utilise la copie restaurée du fichier de données et applique au fichier les modifications
enregistrées dans les fichiers de journalisation de la base de données.
DELETE ARCHIVELOG provoque la suppression des fichiers de journalisation archivés restaurés sur
le disque dès lors qu'ils ne sont plus nécessaires pour l'opération RECOVER.
Mettre le TS restauré en service (Online) - ALTER TABLSPACE <TS> ONLINE.
Récupération gérée par le serveur :
Commande RESTORE et RECOVER
7. RMAN restaure les fichiers de journalisation archivés vers
la zone de récupération rapide afin de procéder à une
opération RECOVER, les fichiers de journalisation restaurés
sont automatiquement supprimés une fois appliqués aux
fichiers de données, même si vous n'utilisez pas l'option
DELETE ARCHIVELOG,
Récupération gérée par le serveur :
Commande RESTORE et RECOVER
8. La récupération par l ‘utilisateur :
commandes RECOVER
La première étape d'une restauration physique consiste à restaurer manuellement les fichiers de
données en les copiant à partir d'une sauvegarde.
Si vous ne restaurez pas le fichier de données vers son emplacement d'origine, vous devez mettre
à jour le fichier de contrôle avec le nouvel emplacement à l'aide d'une commande ALTER DATABASE
RENAME FILE .
Vous devez également restaurer les fichiers de journalisation archivés nécessaires pour récupérer
les fichiers de données restaurés.
Pour les restaurations RMAN, vous utilisez la commande SET NEWNAME afin d'indiquer le nouvel
emplacement de ce fichier.
9. La récupération par l ‘utilisateur :
commandes RECOVER
RECOVER [AUTOMATIC] DATABASE
Cette commande peut uniquement être utilisée pour une récupération base fermée.
RECOVER [AUTOMATIC] TABLESPACE <NUMBER> | <NAME>
Cette commande peut uniquement être utilisée pour une récupération base ouverte
.
RECOVER [AUTOMATIC] DATAFILE <'filename'> | <NAME>
Cette commande peut être utilisée à la fois pour une récupération base ouverte et pour
une récupération base fermée.
10. Récupérer une sauvegarde automatique du
fichier de contrôle
Pour restaurer le fichier de contrôle à partir d'une sauvegarde automatique :
la base de données doit être dans un état NOMOUNT.
L'extraction des sauvegardes automatiques nécessite l'ID de la base de données DBID.
Le DBID doit être enregistré avec d'autres informations élémentaires sur la base de données.
Si vous ne connaissez pas le DBID de la base de données, vous pouvez le trouver facilement
dans deux endroits distincts :
A partir du nom formaté d'une sauvegarde automatique du fichier de contrôle.
A partir d'un fichier journal de session RMAN. Le DBID est affiché par le client RMAN lorsqu'il démarre
et se connecte à la base de données.
11. Récupérer une sauvegarde automatique du
fichier de contrôle
Utiliser la commande RESTORE CONTROLFILE FROM AUTOBACKUP
RMAN> SHUTDOWN IMMEDIATE;
RMAN> SET DBID 320066378;
RMAN> RUN {
SET CONTROLFILE AUTOBACKUP FORMAT
FOR DEVICE TYPE DISK TO 'autobackup_format';
RESTORE CONTROLFILE FROM AUTOBACKUP;
}
12. Récupérer une sauvegarde automatique du
fichier de contrôle
RMAN utilise le format de sauvegarde automatique et le DBID pour déterminer où trouver
la sauvegarde automatique du fichier de contrôle. Si une telle sauvegarde est trouvée, RMAN restaure
le fichier de contrôle vers tous les emplacements répertoriés dans le paramètre d'initialisation
CONTROL_FILES.
Si vous disposez d'un catalogue de restauration, il n'est pas nécessaire 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 arguments :
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 répertoriés dans le paramètre d'initialisation CONTROL_FILES.
13. Récupérer une sauvegarde automatique du
fichier de contrôle
Créer un nouveau fichier de contrôle
14. Récupérer une sauvegarde automatique du
fichier de contrôle
ALTER DATABASE BACKUP CONTROLFILE TO TRACE: génère un fichier trace utilisateur contenant
la commande SQL
Copiez le fichier trace vers un fichier script, tel que new_control.sql
supprimez les informations d'en-tête du fichier trace avant les mots STARTUP NOMOUNT
apportez les autres modifications souhaitées
Vous devez utilisez ce processus lorsque la base de données est montée ou ouverte et pendant
que vous êtes connecté en tant qu'utilisateur avec des privilèges DBA.
Créer un nouveau fichier de contrôle
15. Récupérer une sauvegarde automatique du
fichier de contrôle
Créer un nouveau fichier de contrôle
La console Database Control vous permet de gérer
les fichiers de contrôle utilisés par la base de
données. Dans la page Administration, sélectionnez
Controlfiles,
Vous pouvez cliquez sur le bouton Backup To Trace
afin de créer un fichier trace pour le fichier de
contrôle.
16. la récupération incomplète
Une récupération incomplète
Restauration partielle.
Récupération jusqu'à un point dans le temps.
Basé sur une sauvegarde.
N'appliquez pas tous les enregistrements de journalisation générés après la sauvegarde
la plus récente.
C’est la seule possibilité si vous devez effectuer une récupération et que vous constatez
qu'il manque un fichier de journalisation archivé
17. la récupération incomplète
Pour effectuer une récupération incomplète les éléments suivants sont nécessaires:
Une sauvegarde base fermée ou base ouverte valide de tous les fichiers de données
effectuée avant le point de récupération.
Tous les fichiers de journalisation archivés doivent être présents entre le moment
de la sauvegarde et l'heure de récupération indiquée.
Les situations nécessitant une récupération incomplète :
Un fichier de journalisation archivé est manquant.
Un fichier non archivés et un fichier de données sont manquants.
Fichier de contrôle de sauvegarde.
les fichiers de contrôle sont perdues.
La structure de la base a été changé.
18. la récupération incomplète
Types de récupération incomplète:
Il existe quatre types de récupération incomplète
la récupération
incomplète
Récupération
jusqu'à un point
dans le temps
Récupération
jusqu'à un numéro
de séquence de
journal
Récupération
basée sur le SCN
Récupération
jusqu'à annulation
19. la récupération incomplète
Récupération jusqu'à un point dans le temps:
Avec la clause UNTIL TIME vous indiquez l'instant jusqu'auquel la base de
données doit être récupérée.
Annuler les modifications non souhaitées à mes des données.
Exemple:
SQL> RECOVER DATABASE UNTIL TIME '2015-05-01:12:10:03';
Récupération jusqu'à annulation :
Un fichier de journalisation ou un groupe de fichiers de journalisation actuel
est endommagé et ne peut pas être récupéré.
Un fichier de journalisation archivé nécessaire pour la récupération est perdu.
SQL> RECOVER DATABASE UNTIL CANCEL;
20. la récupération incomplète
Récupération basée sur le SCN
UNTIL CHANGE
UNTIL SCN
Exemple
SQL> RECOVER DATABASE UNTIL SCN ‘NumeroSCN ’;
Récupération jusqu'à un numéro de séquence de journal
UNTIL SEQUENCE RMAN.
Exemple
SQL> RECOVER DATABASE UNTIL SEQUENCE 120 THREAD 1;
l'utilisateur.
RMAN .
21. la récupération incomplète
Etapes recommandées pour la récupération incomplète :
Suivez soigneusement toutes les étapes.
Effectuez des sauvegardes totales de la base de données avant et après la récupération.
Vérifiez toujours que la récupération a réussi.
Sauvegardez et supprimez les fichiers de journalisation archivés.
22. la récupération incomplète
Procédure de récupération UNTIL TIME
Arrêtez la base de données.
Restaurez les fichiers de données.
Montez la base de données.
Récupérez la base de données.
Ouvrez la base de données avec l'option RESETLOGS.
Sauvegardez la base de données.
SQL> shutdown immediate
$ cp /BACKUP/* /u01/db01/ORADATA
SQL> startup mount
SQL> recover database until time '2015-05-01:11:44:00';
SQL> alter database open resetlogs;
SQL> shutdown;
$ cp /u01/db01/ORADATA/* /BACKUP
23. la récupération incomplète
Récupération incomplète d'une base de données avec RMAN
Montez la base de données.
Allouez plusieurs canaux pour l'exécution en parallèle.
Restaurez tous les fichiers de données.
Récupérez la base de données avec UNTIL TIME, UNTIL SEQUENCE ou UNTIL SCN.
Ouvrez la base de données avec RESETLOGS.
Effectuez une sauvegarde totale de la base de données.
RMAN> RUN {
2> SET UNTIL TIME = '2015-05-03:11:44:00';
3> RESTORE DATABASE;
4> RECOVER DATABASE;
5> ALTER DATABASE OPEN RESETLOGS; }
27. Récupération avec Entreprise Manager
Sélectionnez Whole Database et entrez les informations d'identification
et de connexion auprès du sytème d'exploitation
32. Plan de cette Partie :
• I. Présentation de flashback
• II. Les avantages de flashback database
• III. L'Architecture de flashback (Les fonctionnalités, Les niveaux)
• IV. Configuration de flashback database (avec les commandes et avec
EM)
• V. Surveiller la base de données flashback (avec les commandes et av
ec EM)
• VI. Exemple d’exécution des opérations flashback à l’aide des comma
ndes et avec EM
• VII. TP
33. I. Présentation de Flashback
• Les techniques de flashback sont un ensemble de
fonctionnalités proposées par Oracle qui permettent d
e voir l’état passé des données, ou de ramener une ta
ble ou la totalité de la base de données dans le passé.
34. II. Les Avantages de Flashback
•La technologie flashback est une avancée révolutionnaire en termes de
récupération.
•Les techniques de récupération traditionnelles sont lentes.
➢ L'intégralité de la base de données ou du fichier doit être restaurée,
et pas uniquement les données incorrectes.
➢ Toute modification dans le journal de la base de données doit être
examinée.
• Flashback est rapide.
➢ Les modifications sont indexées par ligne et par transaction.
➢ Seules les données modifiées sont restaurées.
• Les commandes flashback sont simples.
➢ Pas de procédures complexes à plusieurs étapes
38. A-Niveau ligne:
Flashback Query
Pour lire les données telles qu’elles étain à un instant donné,vous pouvez utilisez AS OF sur une
présente dans la clause FROM d’une requête SELECT.
Syntaxe:
nom_table AS OF (TIMESTAMP| SCN ) expression
• ➢ select prenom from adherent where numero =1 ;
-- retourne Sébastien
• ➢ select to_char(sysdate,'DD/MM/YYYY HH24:MI:SS') SYSDATE, dbms_flashback.get_system_change_numb
er « SCN » FROM dual ;
-- retourne 176032
-- un peu plus tard
• ➢ update adherent set prenom = 'Olivier' where numero = 1 ; Commit ;
• ➢ select prenom from adherent as of timestamp systimestamp – interval '30' SECOND where numero =
1 ;
OU:
• ➢ select prenom from adherent as of SCN 176032 where numero =1 ;
39. B-Niveau Table:
Flashback Table
Pour ramener une table à l'état où elle était à un moment donné du passé , vous pouvez utiliser l'ordre SQL
:
Syntaxe:
FLASHBACK TABLE nom_table [,....] TO { TIMESTAMP | SCN } expression [ ENABLE TRIGGERS ] ;
Example :
• ➢ delete from diane.adherent;
commit;
• ➢ select count(*) from diane.adherent ;
-- retourne 0
-- 5 minutes plus tard
• ➢ Flashback table diane.adherent to timestamp systimestamp – interval '5' MINUTE ;
• ➢ select count(*) from diane.adherent ;
-- retourne 20
40. B-Niveau Table:
Flashback Drop
Lorsque vous supprimez une table , elle ne l'est pas complètement, elle est mise dans une corbeille a moins
d'utiliser l'option PURGE de l'ordre DROP TABLE .
Syntaxe:
FLASHBACK TABLE nom_table TO BEFORE DROP [ RENAME TO nouveau_nom] ;
Example :
• ➢ DROP TABLE diane.adherent ;
• ➢ select original_name , object_name, type, ts_name , can_undrop , can_purge from dba_recyclebin wher
e owner='DIANE' ;
-- voir que la table est bien présente dans la table avec un object_name différent
• ➢ select owner , table_name, dropped from dba_tables where table_name = 'BIN$2tv........' ;
• ➢ select segment_name, blocks from dba_segments where segment_name = 'BIN$2tv........' ;
• ➢ FLASHBACK TABLE diane.adherent TO BEFORE DROP ;;
41. C-Niveau Base:
Flashback Database
• ➢La fonctionnalité de Flashback Database permet de faire revenir la base à un instant
donné passé .
• ➢la base soit mise en mode FLASHBACK
• ➢la base de données génère des journaux complémentaires , les flashback log pour
sauvegarder les blocs modifiés
• ➢La durée de conservation est définit par le paramètre dynamique :
DB_FLASHBACK_RETENTION_TARGET ( en minutes, 1440 par default = 1 jour )
• ➢Si l'espace n'est suffisant dans la zone de récupération rapide , Oracle réduira la durée
de conservation.
43. • Avant d'exécuter la commande permettant d'activer Flashback
Database, la base de données doit être configurée pour l'archivage
et être démarrée en mode MOUNT EXCLUSIVE.
• Vous pouvez utiliser l'interrogation suivante pour déterminer si Flashback
Database est activé :
SELECT flashback_on FROM v$database;
• Vous pouvez désactiver Flashback Database avec la commande ALTER DAT
ABASE FLASHBACK OFF.
• ➢ Par conséquent, tous les journaux Flashback Database existants sont
supprimés automatiquement.
45. III. Configurer Flashback Database avec EM
Activez la journalisation flashback et désignez une zone de récupération rapide
46. IV. Surveiller la base de données flashback :
- Pour établir un FLASHBACK de la base de données il nous faut savoir vers quelle point
maximum il nous est possible de revenir en arrière. Pour cela, la vue système
V$FLASHBACK_DATABASE_LOG nous permettra d’obtenir la réponse.
- OLDEST_FLASHBACK_SCN et OLDEST_FLASHBACK_TIME indiquent le SCN et l'heure approximatif
s jusqu'auxquels vous pouvez procéder à un flashback de la base de données
Observation des espaces utilisés par les logs de flashback:
- La vue V$FLASHBACK_DATABASE_LOG nous permet de superviser l’espace nécessarie pour
les logs de l’option flashback.
47. Exemple:
Interrogation de la vue V$FLASHBACK_DATABASE_LOG:
• Pour tenir la rétention de deux jours, la taille de la zone de recouvrement
dédiée à cet espace devra être 9,5 Go.Cette vue nous permet donc d’allouer
une taille suffisante à la zone de recouvrement.
• ESTIMATED_FLASHBACK_SIZE utilise les données flashback enregistrées
précédemment pour évaluer la quantité d'espace disque nécessaire dans la zone
de récupération rapide pour que les journaux Flashback satisfassent au délai de
conservation flashback souhaité.
• FLASHBACK_SIZE indique la taille actuelle des données flashback.
• Il n’y aura pas de blocage de la base si la zone de recouvrement arrive à saturat
ion, mais les logs de flashback les plus anciens seront supprimés, impliquant un
non respect de notre politique de rétention.
48. • La vue V$FLASHBACK_DATABASE_STAT nous donne des informations sur les
plages de recouvrement, pour surveiller la surcharge liée à la journalisation des données
flashback dans les journaux Flashback Database. .
Exemple:
Interrogation de la vue V$FLASHBACK_DATABASE_STAT :
SQL> SELECT begin_time, end_time, flashback_data, db_data,
2 redo_data, estimated_flashback_size AS EST_FB_SZE
3 FROM V$FLASHBACK_DATABASE_STAT;
BEGIN_TIM END_TIME FLASHBACK_DATA DB_DATA REDO_DATA EST_FB_SZE
--------- --------- -------------- ---------- ---------- ----------
12-FEB-04 12-FEB-04 16384 0 24576 0
12-FEB-04 12-FEB-04 6594560 7471104 1533440 815923200
12-FEB-04 12-FEB-04 17235968 12361728 5150720 839467008
12-FEB-04 12-FEB-04 311648256 37249024 10272768 855195648
A partir de ces informations, vous pouvez être amené à ajuster le délai de conservation ou la taille de la zone de
récupération rapide.
FLASHBACK_DATA et REDO_DATA représentent respectivement le nombre d'octets de données flashback et
de données de journalisation écrits au cours de l'intervalle, tandis que DB_DATA indique le nombre d'octets
de blocs de données lus et écrits. Cette vue contient également l'espace flashback estimé nécessaire pour
l'intervalle.
49. Vous pouvez interroger la vue V$RECOVERY_FILE_DEST afin d'afficher les informations relatives à la zone de récup
ération rapide. Les colonnes sont les suivantes :
• NAME : nom de la zone de récupération rapide, indiquant la chaîne d'emplacement
• SPACE_LIMIT : limite de disque indiquée dans le paramètre DB_RECOVERY_FILE_DEST_SIZE
• SPACE_USED : espace utilisé par les fichiers de la zone de récupération rapide (en octets)
• SPACE_RECLAIMABLE : quantité d'espace pouvant être récupérée par la suppression des fichiers obsolètes, des
fichiers redondants et des autres fichiers de faible priorité, par l'intermédiaire de l'algorithme de gestion de l'e
space
• NUMBER_OF_FILES : nombre de fichiers
Exemple:
SQL> SELECT name, space_limit AS quota,
2 space_used AS used,
3 space_reclaimable AS reclaimable,
4 number_of_files AS files
5 FROM v$recovery_file_dest ;
NAME QUOTA USED RECLAIMABLE FILES
------------------------ ---------- ---------- ----------- -----
/u01/flash_recovery_area 5368709120 2509807104 203386880 226
50. Surveiller la base de données flashback avec EM:
• La plupart des statistiques Flashback Database peuvent être affichées à partir de la page
Configure Recovery Settings. Ces mesures de performance incluent la taille actuelle des jo
urnaux Flashback, le numéro SCN le plus faible et l'heure correspondant au numéro SCN l
e plus faible des données flashback.
51. Surveiller la zone de récupération rapide avec EM:
• Les mesures de performance en temps réel de la zone de récupération rapide peuvent égalem
ent être affichées via la console EM Database Control. Dans la page Maintenance, faites défiler
jusqu'à Related links et sélectionnez All Metrics. Parcourez la liste et cliquez sur Recovery Area
.
• La page qui s'affiche montre la mesure de performance Recovery Area Free Space (%), qui rep
résente le pourcentage d'espace libre dans la zone de récupération.
52. V. Sauvegarder la zone de récupération rapide :
• Vous devez sauvegarder régulièrement les fichiers de la zone de récupération rapide. Pour
cela, accédez à l'onglet Maintenance. Cliquez sur le lien Schedule Backup dans la région B
ackup/Recovery. Sélectionnez Customized dans la liste déroulante Backup Strategy, puis s
électionnez l'option All Recovery Files on Disk.