Faites-vous partie de ceux qui pensent que se retrouver en situation critique suite à la perte d’un redo.log ça n’arrive jamais ? Le web grouille de conseils pour multiplexer une base « normale » mais avez vous pensé à votre standby ?
N’esquivez plus le bureau de votre DSI ! Lisez ce rapport d’intervention cela vous éclairera peut être…
L’environnement technique de ce cas
Base PROD : BPROD 10.2.0.4.0 (serveur SPROD sous Windows)
Base STBY: BSTBY 10.2.0.4.0 (serveur SSTBY sous Windows)
La procédure pas à pas
Sur SPROD / BPROD
Vérifications :
sqlplus / as sysdba SQL> show user SQL> select * from v$instance; SQL> select group#, member from v$logfile; SQL> select group#, status, bytes/1024 from v$log;
=> 2 membres par groupe
=> Je note le path des redo.logs
Préparation des fichiers à copier :
SQL> alter system switch logfile; SQL> alter system switch logfile; SQL> alter system switch logfile; SQL> alter system checkpoint global; SQL> alter database create standby controlfile as 'C:CONTROL_BSTBY.CTL';
=> Je met à jour mes redo.log et crée un fichier de contôle sain.
Je copie de SPROD vers SSTBY : CONTROL_STBY.CTL + les redo.logs
(j’ai utilisé la commande « scp », renseignez vous sur google_est_on_ami)
Sur STBY / BSTBY
Vérifications :
sqlplus / as sysdba SQL> show user SQL> select * from v$instance; SQL> select group#, member from v$logfile; SQL> select group#, status, bytes/1024 from v$log;
=> 1 membre par groupe
=> Je note le path des redo.logs
SQL> show parameter pfile
=> Aucune « value » donc pas d’utilisation d’un spfile mais d’un pfile (donc init.ora).
SQL> show parameter control_files
=> Je note le path du control.file
SQL> shutdown immediate
Modification de la STBY :
Recherche du path de : init.ora => D:oracleproduct10.2.0db_1database
Sauvegarde de : control01.ctl et init.ora.
Remplacement des redo.logs de STBY par ceux de BPROD
Remplacement control01.ctl de STBY par celui de BPROD
vi init.ora *.compatible='10.2.0.1.0' => *.compatible='10.2.0.3.0' SQL> startup Instance ORACLE lancée. Base de données montée. ORA-16004: la base de donnÚes de sauvegarde nÚcessite une rÚcupÚration ORA-01122: Úchec de contr¶le de vÚrification pour le fichier BdD 1 ORA-01110: fichier de donnÚes 1 : 'E:ORADATABPRODSYSTEM01.DBF' ORA-01203: incarnation erronÚe de ce fichier - crÚation SCN erronÚe SQL> alter database recover managed standby database disconnect; Base de données modifiée. SQL> select * from v$instance;
=> Tout est ok
Vérifications :
SQL> show user SQL> select * from v$instance; SQL> select group#, member from v$logfile; SQL> select group#, status, bytes/1024 from v$log;
=> 2 membres par groupe
BSTBY est à présent isométrique de BPROD
= OraNewB =