45 liens privés
Les commandes de “Recovery”
Vous pouvez utiliser différentes commandes « Recovery » selon la nature du crash qui va se présenter, je vais essayer de vous expliquer cela en restant le plus clair possible.Attention toutes ces commandes suppose que vous êtes en mode Archivelog est que vous avez vos fichiers d'archive log correspondant.
La commande : RECOVER DATABASE
Quand l'utiliser ? vous avez des fichiers de données qui vienent d'être corrompus/detruis et heureusement vous avez votre backup de la veille.Votre client ayant travailler toute la journée ne veux rien perdre et donc votre but maitenant est de restaurer votre anciens backup et de rejouer les archived log.
Methodologie :
a) Cette commande doit être utilisé seulement avec le « control file » courant ! En aucun cas vous de devez restaurer vos anciens "control file".
b) restaurer votre backup (sans les control files et les redo logs).
c) la base de donnée doit être monté (mount) mais pas ouverte.
d) le control file va comparer les en-têtes (header) des fichiers de donnée que vous allez restaurer et va mettre à jour les tablespaces qui ne le sont pas par le biais des archived log (en espérant que vous les avez toujours quelques parts !) et des currents online redo logs.
e) A la fin du « recover » vous pouvez ouvrir votre database avec la commande suivante : ALTER DATABASE OPEN
La commande : RECOVER DATAFILE ‘filename’
Quand l'utiliser ? vous venez de perdre un datafile, votre base donnée est “up”.
Methodologie :
a) le tablespace qui contient ces datafiles doit être place en mode offline : ALTER TABLESPACE ‘tablespace_name’ OFFLINE ;
b) restaurer votre fichier à l'aide de votre backup.
c) lancer ensuite la commande : RECOVER DATAFILE ‘filename’
d) Une fois que le « media recovery » terminé vous pouvez replacer votre tablespace en mode ONLINE.
La commande : RECOVER TABLESPACE ‘tsname’
Quand l'utiliser ? vous venez de perdre un ou plusieurs datafiles se référant à votre Tablespace.
Methodologie :
a) Le tablspace doit être place en mode offline et la database doit être ouverte : ALTER TABLESPACE ‘tablespace_name’ OFFLINE ;
b) restaurer votre ou vos fichiers de données se referant à votre Tablespace à l'aide de votre backup.
c) Lancer ensuite la commande : RECOVER TABLESPACE 'tsname'
d) Une fois que le « media recovery » terminé vous pouvez replacer votre tablespace en mode ONLINE.
Warning : Cette commande ne peux pas être utilisé avec le tablespace system ou un tablespace qui a des rollback segment ayant un statut « in use ».Si vous êtes confronté à ce genre de pb vous pouvez restaurer avec la commande standard « RECOVER DATABASE »
La commande : RECOVER DATABASE UNTIL CANCEL
Quand l'utiliser ? Cette méthode est utilisée lors de la restauration de base avec perte de fichiers journaux, qu'ils soient 'en ligne'
ou archivés. La commande doit être tapée avant d'atteindre les transactions concernant le fichier perdu ou endommagé.
Methodologie :
a) Il s’agit en faite d’une restauration partielle.
b) restaurer votre dernier backup
c) lancer ensuite la commande : RECOVER DATABASE UNTIL CANCEL
d) la restauration se passe en interactif et vous suggère les fichiers d’archive log qui vont être rejoués.
e) la restauration est terminé lorsque vous spécifiez « CANCEL » a la place du « filename ».
La commande : RECOVER DATABASE UNTIL TIME <date&time>
Quand l'utiliser ? vous avez eu un pb (physique ou logique) sur votre database dans la journée et vous voulez restaurer les transations avant le point de rupture car vous en connaissais son heure.Oracle terminera automatiquement la restauration lorsqu'il aura atteint l'heure spécifiée. Toutes les transactions commencées avant cette heure mais validées plus tard sont annulées.
Methodologie :
a) Il s’agit en faite d’une restauration partielle comme le UNTIL CANCEL et la granualitée temporelle dépend des archives log.
b) restaurer votre dernier backup
c) lancer ensuite la commande : RECOVER DATABASE UNTIL TIME <date&time>
le format <date&time> est YYYY-MM-DD:hh:mm:ss ou YYY:MM:DD est l'année, mois et jours et hh est l'heure, mm minutes, and ss seconds.
La commande : RECOVER DATABASE UNTIL <TIME/CANCEL> USING BACKUP CONTROLFILE
Quand l'utiliser ? vous avez perdu vos controlfile et vous les avez simplement sauvé sur votre dernier backup.
Methodologie :
a) Il s’agit en faite d’une restauration similair au RECOVER DATABASE.
b) restaurer votre dernier backup.
c) lancer ensuite la commande : RECOVER DATABASE { UNTIL TIME <date&time> / UNTIL CANCEL} USING BACKUP CONTROLFILE
Réinitialisation des fichiers journaux
Il est possible de réinitialiser les fichiers journaux après une restauration complète ou non de la base. La commande ALTER DATABASE RESETLOGS effectue les actions suivantes :
Annule toutes les transactions des fichiers journaux qui n'ont pas été appliquées durant la restauration.
Réinitialise le numéro de séquence du fichier de contrôle à 1.
Vide le fichier journal courant.
Crée le fichier journal courant s'il n'existe pas.
Réinitialise le numéro de séquence des fichiers journaux à 1 dans tous les en-têtes des fichiers.
NORESETLOGS ou RESETLOGS ?
Quand doit-on utiliser la commande ALTER DATABASE OPEN NORESETLOGS ou ALTER DATABASE OPEN RESETLOGS ?
Si une sauvegarde du fichier de contrôle a été utilisée, réinitialiser le numéro de fichier journal.
Dans le cas d'une restauration incomplète (vérifier le message dans le fichier d'ALERT), réinitialiser le numéro de fichier journal.
Dans le cas d'une restauration complète sans utilisation de sauvegarde de fichier de contrôle, ne pas réinitialiser le numéro de fichier journal. Si les numéros de séquence doivent être réinitialisés, fermer la base et effectuer une sauvegarde OS.
Après l’utilisation de RESETLOGS, il est impératif de faire une sauvegarde totale de la base de données