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

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:

  1. list failure: montrer les problèmes
  2. advise failure: donner les options de réparation, manuelles et/ou automatiques
  3. 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:

  1. perte d’un datafile de USERS
  2. perte d’un datafile SYSAUX
  3. perte d’un datafile SYSTEM
  4. perte d’un redo log member
  5. perte de tous les redo log member
  6. perte d’un controlfile
  7. perte de tous les controlfiles
  8. perte du spfile

Toutes questions et remarques (comportements différents sur d’autres version par exemple) sont les bienvenues dans les commentaires.