----------------------------------------------------------------------- perte de fichier et restauration avec utilisation des REDOLOGS et des archives ----------------------------------------------------------------------- ---- mise en place si nécessaire de journaux multiplexés (log files groups) ---- sauvegarde a froid des fichiers physiques à T0 (y compris init.ora) ---- autorisation de l'archivage dans INIT.ORA (reg : ORA_TEST_PFILE) log_archive_start = true log_archive_dest_1 = "location=C:\Oracle\oradata\TEST\archive" log_archive_format = %%ORACLE_SID%%T%TS%S.ARC ---- declenchement du mode archivage SQL CONNECT INTERNAL SQL SHUTDOWN IMMEDIATE SQL STARTUP MOUNT SQL ALTER DATABASE ARCHIVELOG SQL ALTER DATABASE OPEN ---- verification de l'archivage (remplissage ou forcage des logs switchs) SQL ALTER SYSTEM SWITCH LOGFILE voir log_archive_dest_1 et log_archive_format pour verif des ecritures ARCHIVE ou ARCHIVELOG LIST -- SQL ARCHIVELOG LIST Mode de journal BdD Mode Archive Archivage automatique Activé Destination de l'archive C:\Oracle\oradata\dd1\archive Séquence de journal en ligne la plus ancienne 197 Séquence de journal suivante à archiver 199 Séquence de journal courante 199 ----------------------------- simulation d'un pb ----------------------------- creation d'un tablespace TBS1 avec fichier fic1 creation d'une table dans TBS1 arret base (comme ca on peut supprimer le fichier par erreur ;-( suppression d'un fic d'un TBS utilisateur ---- essai demarrage base SQL> startup; Instance ORACLE lancée. Total System Global Area 37848332 bytes Fixed Size 70924 bytes Variable Size 12083200 bytes Database Buffers 25616384 bytes Redo Buffers 77824 bytes Base de données montée. ORA-01157: impossible d'identifier ou de verrouiller le fichier de donnees 7 - voir le fichier de trace DBWR ORA-01110: fichier de donnees 7 : 'C:\ORACLE\ORADATA\DD1\TBS1_1.ORA' ...l'absence du fichier a été détecté ...la base est montée mais n'a pas pu s'ouvrir ---------------------- RESTAURATION ---------------------- ---- recupération du (des) fichier(s) de TBS1 sauvegarde a TO ATTENTION : ne jamais réstaurer les fichier CONTROL FILE s'il avaient été sauvegardés, dans ce cas Oracle ne saurait plus quand Arreter le recovery. En effet le CONTROL FILE courant (d'aujourd'hui) contient le no du dernier redolog a appliquer démarrage de la base (possible désormais mais fichier data désynchronisé...) on va esssayer de l'ouvrir : SQL> alter database open; alter database open * ERREUR à la ligne 1 : ORA-01113: le fichier 7 necessite une recuperation de support ORA-01110: fichier de donnees 7 : 'C:\ORACLE\ORADATA\DD1\TBS1_1.ORA' normalement on démarre la base sans l'ouvrir : SHUTDOWN IMMEDIATE STARTUP MOUNT ---- RECOVERY du tbs concerne SQL> recover tablespace tbs1; ...on va valider par ENTER les redo archivés suggérés ...ou on table simplement AUTO et ca se deroule automatiquement ORA-00279: changement 70259 genere a 04/08/2003 23:19:43 requis pour thread 1 ORA-00289: suggestion : C:\ORACLE\ORADATA\DD1\ARCHIVE\DD1T001S00194.ARC ORA-00280: le changement 70259 pour le thread 1 se trouve au no de sequence 194 Indiquer le journal : {=suggéré | nomfichier | AUTO | CANCEL} ... il suffit de faire ENTER le fichier archivé suggéré étant a sa place... ORA-00279: changement 70363 genere a 04/08/2003 23:50:56 requis pour thread 1 ORA-00289: suggestion : C:\ORACLE\ORADATA\DD1\ARCHIVE\DD1T001S00195.ARC ORA-00280: le changement 70363 pour le thread 1 se trouve au no de sequence 195 ORA-00278: le fichier journal 'C:\ORACLE\ORADATA\DD1\ARCHIVE\DD1T001S00194.ARC' n'est plus necessaire pour cette recuperation Indiquer le journal : {=suggéré | nomfichier | AUTO | CANCEL} Fichier journal appliqué. Récupération de média terminée. Récupération de média terminée. ... dans certains cas les redo log archivés ne sont pas utilisés, ... les logs courants peuvent suffire Ouverture de la base ---------- ALTER DATABASE OPEN ---------------------------------------------------------------------------- perte de fichier avec utilisation des archives cette fois (et base ouverte) ---------------------------------------------------------------------------- alter tablespace tbs1 offline ...comme ca on peut supprimer le fichier sans arreter la base del fic1.ora recuperation du fichier base ouverte ------ si necessaire on met le tbs offline et on recupere le fic1 sauvegarde a T1 SQL> recover tablespace tbs1; ORA-00279: changement 70259 genere a 04/08/2003 23:19:43 requis pour thread 1 ORA-00289: suggestion : C:\ORACLE\ORADATA\DD1\ARCHIVE\DD1T001S00194.ARC ORA-00280: le changement 70259 pour le thread 1 se trouve au no de sequence 194 Indiquer le journal : {=suggéré | nomfichier | AUTO | CANCEL} ... il suffit de faire enter le fichier archivé suggéré étant a sa place... ORA-00279: changement 70363 genere a 04/08/2003 23:50:56 requis pour thread 1 ORA-00289: suggestion : C:\ORACLE\ORADATA\DD1\ARCHIVE\DD1T001S00195.ARC ORA-00280: le changement 70363 pour le thread 1 se trouve au no de sequence 195 ORA-00278: le fichier journal 'C:\ORACLE\ORADATA\DD1\ARCHIVE\DD1T001S00194.ARC' n'est plus necessaire pour cette recuperation Indiquer le journal : {=suggéré | nomfichier | AUTO | CANCEL} Fichier journal appliqué. Récupération de média terminée. ne pas oublier: SQL ALTER TABLESPACE TBS1 ONLINE si nécessaire