web-dev-qa-db-fra.com

Supprimer des sauvegardes de l'ancienne incarnation à rman

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.

3
mike smith

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';

METTRE À JOUR

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.

3
Yasir Arsanukaev

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.

1
Yasir Arsanukaev

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)..
1
Fabien Celaia