Je viens de commencer à travailler avec Oracle et j'ai un problème. Ma base de données est en mode NONARCIVELOGOG. J'ai fait deux sauvegardes: ils sont à des endroits:
/opt/Oracle/flash_recovery_area/CTGINST1/backupset/ol_mf_____20130408.bkp
/opt/Oracle/flash_recovery_area/CTGINST1/backupset/ol_mf_____20130407.bkp
Je veux restaurer le deuxième fichier du 7 avril. J'ai lu du guide sur: http://orafion.com/art_rman3.htm
mais je ne peux pas trouver la commande Comment spécifier la commande de restauration avec des fichiers de sauvegarde spécifiques à partir de ces deux (ou plus). Cela ne dit pas sur ce lien et sur d'autres liens que j'ai lus. Je veux l'utiliser avec [~ # ~ # ~] rman [~ # ~] Commandes. Quelles seront les commandes de restaurer ma sauvegarde plus ancienne?
J'ai trouvé
RMAN> restore database;
mais comment cela saura-t-il quel fichier restaurer? Aussi, il a également besoin de restaurer le fichier SPFILE et de contrôle car je n'ai pas créé de sauvegardes supplémentaires (il suffit de courir la commande backup database
)
Merci!!
TL; DR: Il suffit de fournir la balise de la sauvegarde que vous souhaitez restaurer la base de données de, par exemple restore database from tag 'INTERESTING_TAG';
DISCLAIMER
La solution fournie ici est basée uniquement sur ma propre expérience, vous l'utilisez sur vos propres risques. Je ne suis pas responsable des dommages-intérêts (y compris une perte de données) causée par l'utilisation de cette solution.
Aussi, dois-je toujours devoir restaurer le fichier SPFILE et Control, car je n'ai pas créé de sauvegardes supplémentaires (juste couru commande
backup database
)?
Par défaut, RMAN est configuré pour sauvegarder automatiquement le fichier de contrôle et SPFILE après chaque sauvegarde réussie et sur chaque changement structurel de la base de données (par exemple, l'ajout de datafiles) qui provoque la réflexion de ces modifications dans les fichiers de contrôle. Ainsi, après chaque sauvegarde de base de données réussie avec backup database
, le fichier SPFILE et Control sera automatiquement sauvegardé.
Vous pouvez déterminer si Autobackup est activé en émettant show controlfile autobackup;
à Rman, et lui permet de dire configure controlfile autobackup on;
à Rman.
Depuis que vous avez fourni les chemins des ensembles de sauvegarde que vous souhaitez restaurer votre base de données, je suppose que vous les avez obtenues à partir de votre fichier de contrôle actuel à l'aide de RMAN. Il ne fera pas de mal à enregistrer ces informations et d'autres informations sur vos sauvegardes existantes dans un fichier texte brut, car vous restaurerez l'un des fichiers de contrôle précédents et les chances que ces informations seront perdues:
[Oracle@oca ~]$ export NLS_DATE_FORMAT='DD-MON-YY HH24:MI:SS'
[Oracle@oca ~]$ rman target=/ log 'list_backup.txt'
RMAN> list backup;
RMAN> exit;
Vous devrez restaurer votre base de données [~ # ~] et [~ # ~ ~] Fichier (s) de contrôle, car les en-têtes de Datafile de la base de données de chaque Datafile devrait être synchronisé avec le ou les fichiers de contrôle, i. e. Ils devraient avoir le même numéro de changement de système (SCN).
Comme je l'ai déjà dit, il vous suffit de fournir le nom de la balise pour restaurer la base de données à partir d'une sauvegarde spécifique. Vous pouvez déterminer quelles balises ont été attribuées aux sauvegardes par vous ou par le système, la date d'achèvement et l'heure des sauvegardes, ainsi que d'autres informations sur les sauvegardes disant list backup
À Rman (nous avons déjà enregistré cette information dans le fichier texte). Voici la sortie de list backup
Dans mon exemple d'installation:
RMAN> list backup;
BS Key Type LV Size Device Type Elapsed Time Completion Time
------- ---- -- ---------- ----------- ------------ ------------------
78 Full 300.26M DISK 00:01:40 10-APR-13 05:10:32
BP Key: 78 Status: AVAILABLE Compressed: YES Tag: TAG20130410T050852
Piece Name: /u01/app/Oracle/fast_recovery_area/OCAEXAM/backupset/2013_04_10/o1_mf_nnndf_TAG20130410T050852_8pbc14yv_.bkp
List of Datafiles in backup set 78
File LV Type Ckp SCN Ckp Time Name
---- -- ---- ---------- ------------------ ----
1 Full 3985848 10-APR-13 04:52:40 /u01/app/Oracle/oradata/ocaexam/system01.dbf
2 Full 3985848 10-APR-13 04:52:40 /u01/app/Oracle/oradata/ocaexam/sysaux01.dbf
3 Full 3985848 10-APR-13 04:52:40 /u01/app/Oracle/oradata/ocaexam/undotbs01.dbf
4 Full 3985848 10-APR-13 04:52:40 /u01/app/Oracle/oradata/ocaexam/users01.dbf
5 Full 3985848 10-APR-13 04:52:40 /u01/app/Oracle/oradata/ocaexam/example01.dbf
BS Key Type LV Size Device Type Elapsed Time Completion Time
------- ---- -- ---------- ----------- ------------ ------------------
79 Full 9.39M DISK 00:00:02 10-APR-13 05:10:39
BP Key: 79 Status: AVAILABLE Compressed: NO Tag: TAG20130410T051037
Piece Name: /u01/app/Oracle/fast_recovery_area/OCAEXAM/autobackup/2013_04_10/812350360_8pbk.bkp
SPFILE Included: Modification time: 10-APR-13 04:55:39
SPFILE db_unique_name: OCAEXAM
Control File Included: Ckp SCN: 3985848 Ckp time: 10-APR-13 04:52:40
BS Key Type LV Size Device Type Elapsed Time Completion Time
------- ---- -- ---------- ----------- ------------ ------------------
80 Full 300.30M DISK 00:01:39 10-APR-13 05:18:03
BP Key: 80 Status: AVAILABLE Compressed: YES Tag: DELETE_ME
Piece Name: /u01/app/Oracle/fast_recovery_area/OCAEXAM/backupset/2013_04_10/o1_mf_nnndf_DELETE_ME_8pbch94j_.bkp
List of Datafiles in backup set 80
File LV Type Ckp SCN Ckp Time Name
---- -- ---- ---------- ------------------ ----
1 Full 3986589 10-APR-13 05:12:33 /u01/app/Oracle/oradata/ocaexam/system01.dbf
2 Full 3986589 10-APR-13 05:12:33 /u01/app/Oracle/oradata/ocaexam/sysaux01.dbf
3 Full 3986589 10-APR-13 05:12:33 /u01/app/Oracle/oradata/ocaexam/undotbs01.dbf
4 Full 3986589 10-APR-13 05:12:33 /u01/app/Oracle/oradata/ocaexam/users01.dbf
5 Full 3986589 10-APR-13 05:12:33 /u01/app/Oracle/oradata/ocaexam/example01.dbf
BS Key Type LV Size Device Type Elapsed Time Completion Time
------- ---- -- ---------- ----------- ------------ ------------------
81 Full 9.39M DISK 00:00:01 10-APR-13 05:18:11
BP Key: 81 Status: AVAILABLE Compressed: NO Tag: TAG20130410T051810
Piece Name: /u01/app/Oracle/fast_recovery_area/OCAEXAM/autobackup/2013_04_10/812351553_8pbm.bkp
SPFILE Included: Modification time: 10-APR-13 05:13:53
SPFILE db_unique_name: OCAEXAM
Control File Included: Ckp SCN: 3986589 Ckp time: 10-APR-13 05:12:33
À partir de cette sortie, vous pouvez voir que la première sauvegarde était (automatiquement) attribuée à la balise TAG20130410T050852
, et que le fichier de contrôle et l'autobackup SPFILE suivent immédiatement (cochez le champ Time d'achèvement). Vous pouvez également voir que j'ai effectué une autre sauvegarde de la base de données et je l'ai attribuée manuellement le tag DELETE_ME
, et bien sûr, il est immédiatement suivi par Autobackup aussi. Notez également que les fichiers de chaque sauvegarde ont le même SCN et que les SCN correspondent aux SCN des fichiers de contrôle dans les autobackups adjacents.
Nous allons restaurer la base de données à partir du tag de sauvegarde TAG20130410T050852
qui est plus âgé que l'autre étiquette de sauvegarde DELETE_ME
, et nous restaurerons le fichier de contrôle de l'Autobackup en premier.
Afin de restaurer le fichier de contrôle à partir de la sauvegarde avec RMAN, votre instance doit être dans NOMOUNT
State (seul SPFILE est accessible dans cet état par le ou les fichiers de contrôle d'instance et les fichiers de données ne sont pas accessibles):
RMAN> shutdown immediate;
RMAN> startup nomount;
connected to target database (not started)
Oracle instance started
database mounted
(Bien que vous puissiez utiliser abort
clause au lieu de immediate
et oracle ne vous embartiez pas de la base de données de la base de données, vous la restauréez de la sauvegarde précédente.)
Restaurer le fichier Controlfile de Autobackup:
RMAN> restore controlfile from
2> '/u01/app/Oracle/fast_recovery_area/OCAEXAM/autobackup/2013_04_10/812350360_8pbk.bkp';
Starting restore at 10-APR-13 06:01:25
allocated channel: ORA_DISK_1
channel ORA_DISK_1: SID=63 device type=DISK
channel ORA_DISK_1: restoring control file
channel ORA_DISK_1: restore complete, elapsed time: 00:00:02
output file name=/u01/app/Oracle/oradata/ocaexam/control01.ctl
output file name=/u01/app/Oracle/fast_recovery_area/ocaexam/control02.ctl
Finished restore at 10-APR-13 06:01:27
Pour que Rman soit en mesure de lire des enregistrements de sauvegarde dans le fichier de contrôle (comme il l'a fait lorsque nous émettions list backup
), nous devons mettre la base de données dans MOUNT
State:
RMAN> sql 'alter database mount';
Nous sommes maintenant prêts à restaurer la base de données:
RMAN> restore database from tag 'TAG20130410T050852';
La dernière étape consiste à ouvrir la base de données:
RMAN> sql 'alter database open resetlogs';
Nous avons spécifié resetlogs
Clause ici parce que les fichiers journaux de Redo existants ne sont plus utilisables car ils utilisaient la base de données précédente et doivent donc être réinitialisés afin qu'ils puissent être utilisés par la base de données restaurée.
Maintenant, requête pour un bon bien!