J'ai fait une actualisation sur une base de données de non-production et ce sont les incarnations:
Liste des incarnations de base de données
DB Key Inc Key DB Name DB ID STATUS Reset SCN Reset Time
1 1 ORCL 1355555557 PARENT 1 20-DEC-11
2 2 ORCL 1355555557 CURRENT 12 17-JUL-14
Comment supprimer les sauvegardes de l'ancienne incarnation puisqu'elles ne sont plus nécessaires? Toute aide serait grandement appréciée. Merci.
Je n'ai pas trouvé de clause sur les commandes REPORT
ou LIST
qui vous permettraient de spécifier l'incarnation d'intérêt.
Vous pouvez toutefois corréler votre dernière heure de réinitialisation d'incarnation avec le temps d'achèvement de la sauvegarde pour identifier les sauvegardes terminées avant le début de votre incarnation actuelle.
Tout d'abord, réglons les variables d'environnement afin que la sortie RMAN inclue également du temps.
$ NLS_DATE_FORMAT='DD.MM.YYYY HH24:MI:SS'
$ NLS_TIMESTAMP_FORMAT='DD.MM.YYYY HH24:MI:SS'
$ export NLS_DATE_FORMAT
$ export NLS_TIMESTAMP_FORMAT
Examinons maintenant quelles incarnations nous avons dans le référentiel Rman.
List of Database Incarnations
DB Key Inc Key DB Name DB ID STATUS Reset SCN Reset Time
------- ------- -------- ---------------- --- ---------- ----------
1 1 OCP 2737702586 PARENT 1 25.08.2013 05:18:32
2 2 OCP 2737702586 PARENT 635002 05.03.2014 10:49:33
3 3 OCP 2737702586 PARENT 750347 13.03.2014 18:08:15
4 4 OCP 2737702586 PARENT 750727 18.03.2014 11:37:57
5 5 OCP 2737702586 CURRENT 1137478 05.08.2014 08:19:38
Il est indiqué dans la sortie que notre heure de réinitialisation de l'Incarnation actuelle est le 5 août 2014 à 8h19 (05.08.2014 08:19:38
).
J'ai des sauvegardes terminées avant et après le début de l'incarnation actuelle.
RMAN> list backup summary;
List of Backups
===============
Key TY LV S Device Type Completion Time #Pieces #Copies Compressed Tag
------- -- -- - ----------- ------------------- ------- ------- ---------- ---
28 B F A DISK 05.08.2014 08:21:56 1 1 YES TAG20140805T082051
29 B F A DISK 05.08.2014 08:12:43 1 1 YES TAG20140805T081243
30 B F A DISK 05.08.2014 08:10:36 1 1 YES TAG20140805T081036
31 B A A DISK 05.08.2014 08:21:59 1 1 YES TAG20140805T082159
32 B F A DISK 05.08.2014 08:13:48 1 1 YES TAG20140805T081243
33 B A A DISK 05.08.2014 08:20:49 1 1 YES TAG20140805T082048
34 B F A DISK 05.08.2014 08:20:51 1 1 YES TAG20140805T082051
35 B F A DISK 05.08.2014 08:11:51 1 1 YES TAG20140805T081036
36 B A A DISK 05.08.2014 08:20:48 1 1 YES TAG20140805T082048
Nous pouvons maintenant répertorier des sauvegardes terminées avant le début de l'incarnation actuelle.
RMAN> list backup summary
2> completed before
3> "to_date('05.08.2014 08:19:38', 'dd.mm.yyyy hh24:mi:ss')";
List of Backups
===============
Key TY LV S Device Type Completion Time #Pieces #Copies Compressed Tag
------- -- -- - ----------- ------------------- ------- ------- ---------- ---
29 B F A DISK 05.08.2014 08:12:43 1 1 YES TAG20140805T081243
30 B F A DISK 05.08.2014 08:10:36 1 1 YES TAG20140805T081036
32 B F A DISK 05.08.2014 08:13:48 1 1 YES TAG20140805T081243
35 B F A DISK 05.08.2014 08:11:51 1 1 YES TAG20140805T081036
Comme vous pouvez le constater, seules les sauvegardes avec le temps d'achèvement avant que l'heure de réinitialisation de l'incarnation actuelle soit affichée dans la sortie.
Après avoir réduit les sauvegardes sur celles dont le temps d'achèvement est avant votre temps de réinitialisation de votre incarnation actuel à l'aide de COMPLETED
sous-marine de la commande LIST
, vous pouvez spécifier la même condition au DELETE
Commande.
RMAN> delete backup
2> completed before
3> "to_date('05.08.2014 08:19:38', 'dd.mm.yyyy hh24:mi:ss')";
Il y a aussi AFTER
et BETWEEN
spécificateurs au sous-paragraphe COMPLETED
. Voir la section Liste des sauvegardes et des copies sélectionnées Dans le Guide de la sauvegarde de la base de données et de la récupération. Un exemple de BETWEEN
Usage spécificateur:
RMAN> list copy of datafile 2 completed between '10-DEC-2002' and '17-DEC-2002';
Vous pouvez basculer entre les incarnations en utilisant RESET DATABASE TO INCARNATION n
Commande (vérifiez les scénarios d'utilisation), mais vous vous retrouverez toujours avec la même sortie des commandes LIST
et REPORT
par rapport à des ensembles de sauvegarde, peu importe ce que Incarnation Vous passez à.
Vous pouvez rechercher Référence de sauvegarde de base de données et de récupération pour le mot "Incarnation", pour voir lorsque vous pouvez spécifier l'incarnation et les commandes RMAN.
Vous pouvez définir une stratégie de rétention sur la redondance ou la fenêtre de récupération et simplement faire une autre sauvegarde de votre base de données afin que vos sauvegardes existantes terminées avant que votre incarnation actuelle ne commence à devenir obsolète en fonction de la politique de rétention définie. Sûrement, vous pouvez également configurer la sauvegarde automatique de votre base de données en fonction de votre stratégie de sauvegarde.
Si vous définissez votre politique de rétention à la redondance.
RMAN> configure retention policy to redundancy 1;
Puis sauvegardez votre base de données, vous pouvez immédiatement delete obsolete
Sauvegardes, qui dans ce cas toutes les sauvegardes précédentes, y compris celles terminées avant votre incarnation actuelle.
Si vous définissez votre politique de rétention dans la fenêtre de récupération.
RMAN> configure retention policy to recovery window of 7 days;
Vous pouvez simplement attendre au moins une semaine (faire des sauvegardes de base de données entre les deux) avant que les sauvegardes existantes soient considérées comme obsolètes et vous pouvez tenter de les supprimer avec delete obsolete
commande.
Si vous avez configuré la zone de récupération rapide dans votre base de données, vous pouvez simplement définir la stratégie de conservation et que Oracle supprimera automatiquement les sauvegardes obsolètes lorsque l'espace est nécessaire pour les nouvelles sauvegardes et une pression d'espace dans la zone de récupération. Voir Configuration de la zone de récupération rapide Section dans le Guide de l'utilisateur de la sauvegarde et de la récupération de la base de données Oracle.
En RMAN, connecté à votre cible
le catalogue RMAN RMAN/*** cible @rmanRMAN / [.____] RMAN> Liste incarnation de la base de données,.... [.____] [.____] [.____] Liste des Incarnations de base de données DB Key Inc clé DB Nom DB ID STATUS Réinitialiser SCN Temps de réinitialisation ------- ------- -------- -------- -------- ---------- ---------- --- 11349 11384 2790586635 myDB PARENT 1 31.03.14 11349 11385 2790586635 myDB PARENT 733005 31.03.14 11349 11350 2790586635 myDB CURRENT 750963 31.03.14 1179854 1179855 2800799356 myDB COURANT 1 25.07.14
À partir du catalogue RMAN db
sqlplus RMAN @ RMAN SQL> SELECT DB_KEY, dbid, name FROM rman.rc_database WHERE nom = 'myDB' ORDER BY DBID; [. .____] [. .____] DB_KEY DBID NOM ---------- ---------- -------- 11349 2790586635 myDB 1179854 2800799356 myDB [. ____] [.____] SQL> execute rman.dbms_rcvcat.unregisterdatabase (11349,2790586635)..