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.