Recovery en cas de perte de: spfile, control, datafiles et redo logs. On a toujours la FRA par contre, avec l’autobackup et les derniers archivelogs.
On récupère le spfile à partir de l’autobackup, le controlfile à partir de son miroir, puis incomplete database recovery.
Archives pour la catégorie MicroLearning
Recovery cases: perte du spfile
Recovery en cas de perte du spfile. On le récupère à partir de l’autobackup, vers un autre fichier, qu’on peut copier à sa place initiale.
Lire la suite
Recovery cases: perte de tous les controlfiles
Recovery en cas de perte de tous les controlfiles. d’un controlfile multiplexé. Un catalogue permet d’identifier le backup (le controlfile n’est plus là pour en avoir la trace), mais utiliser autobackup avec la destination par défaut (Fast Recovery Area) permet aussi de le trouver automatiquement. Lire la suite
Recovery cases: perte d’un controlfile multiplexé
Recovery en cas de perte d’un controlfile multiplexé. Il reste l’autre membre. Après redémarrage en nomount pour avoir des fichiers consistents, il suffit de restaurer le controlfile manquant à partir de celui qui reste.
Lire la suite
Recovery cases: perte de tous les redo log
Recovery en cas de perte de tous les redo logs. Le système ne peut pas continuer. Les transactions couvertes par les redo perdus, mais pas encore appliquées par le checkpoint, sont perdues.
Il faut restaurer toute la base et appliquer tout le redo disponible (archived redo logs) puis ouvrir la base en resetlogs, et faire un nouveau backup.
Lire la suite
Recovery cases: perte d’un membre de redo log
Recovery en cas de perte d’un membre de redo log. Le système continue car les redo logs sont multiplexés. Il suffit de les recréer (après un switch logfile si c’est le courant qui manque).
Lire la suite
Recovery cases: perte d’un datafile SYSTEM
Recovery en cas de perte d’un datafile du tablespace SYSTEM: Pas d’arrêt normal possible (on ne peut pas mettre SYSTEM offline) donc shutdown abort et il faut faire un restore datafile + recover datafile puis réouvrir la base.
Lire la suite
Recovery cases: perte d’un datafile SYSAUX
Recovery en cas de perte d’un datafile du tablespace SYSAUX: il suffit de mettre le datafile offline, de faire un restore datafile + recover datafile et de le remettre online.
Lire la suite
Recovery cases: perte d’un datafile (non système)
Recovery en cas de perte d’un datafile non système: il suffit de mettre le datafile offline, de faire un restore datafile + recover datafile et de le remettre online.
Lire la suite
Cas de recovery en 12c
Savez-vous immédiatement quoi faire en cas de perte d’un fichier de la base de donnée (datafile, controlfile, redolog,…) ? Et éviter d’en restaurer plus que nécessaire ?
La 11g a introduit le Recovery Advisor qui peut:
- list failure: montrer les problèmes
- advise failure: donner les options de réparation, manuelles et/ou automatiques
- repair failure: exécuter les réparations automatiques
Dans quelques blogs suivants, je vais montrer des exemples sur des pannes classiques:
perte d’un datafile, user ou système, perte d’un ou de tous les controlfiles ou redo logs
Et montrer la réparation la plus rapide avec Recovery Advisor
Bien sûr c’et une bonne idée de s’entraîner. Et c’est facile sur une machine de test (qui peut être une machine virtuelle). Voici comment j’ai créé une base de test pour les exemples suivants:
Afin d’isoler mon test, j’utilise un ORACLE_BASE spécifique (/u/DEMO) et je met tout dessous.
Voici mon environnement:
ORACLE_BASE=/u/DEMO TNS_ADMIN=/u/DEMO/network ORACLE_SID=DEMO100
Création de la base avec DBCA
mkdir -p /u/DEMO/DATA/DEMO100 /u/DEMO/FRA /du/DEMO/backup $ORACLE_HOME/bin/dbca -createDatabase -templateName General_Purpose.dbc -gdbName DEMO100 -sid DEMO100 -sysPassword oracle -systemPassword oracle -datafileDestination /u/DEMO/DATA -recoveryAreaDestination /u/DEMO/FRA -storageType FS -characterSet AL32UTF8 -listeners LISTENER -sampleSchema true -totalMemory 400 -databaseType MULTIPURPOSE -silent
Mise en archivelog, mirroring des redo logs,…
startup mount force; alter database archivelog; alter database add supplemental log data; alter database add logfile member '/u/DEMO/DATA/DEMO100/redo01bis.log' to group 1; alter database add logfile member '/u/DEMO/DATA/DEMO100/redo02bis.log' to group 2; alter database add logfile member '/u/DEMO/DATA/DEMO100/redo03bis.log' to group 3; alter database open;
Configuration RMAN (je met les backups dans un autre répertoire que la FRA – sauf le controlfile autobackup qui est dans la FRA) et premier backup:
configure controlfile autobackup on; configure channel device type disk format '/u/DEMO/backup/%U'; configure backup optimization on; configure compression algorithm 'high'; backup database plus archivelog;
Pour commencer, des cas simples.
Dans les posts suivants nous verrons:
- perte d’un datafile de USERS
- perte d’un datafile SYSAUX
- perte d’un datafile SYSTEM
- perte d’un redo log member
- perte de tous les redo log member
- perte d’un controlfile
- perte de tous les controlfiles
- perte du spfile
Toutes questions et remarques (comportements différents sur d’autres version par exemple) sont les bienvenues dans les commentaires.