Multiplexage des redo.logs sur base STANDBY

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 =