Bonjour,
Aujourd'hui, je vais indiquer comment passer une base Oracle installée en RAC (Real Application Cluster) en archivelog.
Pour cela, j'ai l'environnement de test suivant :
- Deux machines virtuelles linux.
- Un RAC en Oracle 10.2.0.4 dernier CPU et dernier patch au niveau CRS
- Une base Oracle ORADB constituée de deux instances ORADB1 et ORADDB2
- Etant en version enterprise, je me suis appuyé sur OCFS2 pour l'emplacement des fichiers de bases, ocr, voting (contre ASM en version standard).
- L'emplacement futur des archivelog est renseigné (dans mon cas : /u01/arch )
Etape 1: Créer un fichier pfile
Dans une session putty: (ou autre)
export ORACLE_SID=ORADB1
sqlplus /nolog
SQL > connect / as sysdba
SQL > create pfile='/tmp/ini_tmp.ora' from spfile;
Etape 2: Modifier le pfile ainsi crée
Il suffit d'ajouter la ligne suivante
ORADB1.CLUSTER_DATABASE = False
Etape 3 : Stopper toutes les instances du RAC.
srvctl stop database -d ORADB
Etape 4 : Démarrer uniquement l'instance ORADB1 avec le pfile fraichement crée et passer la base en archivelog
sqlplus /nolog
SQL > connect / as sysdba
SQL > startup mount pfile ='/tmp/init_tmp.ora';
SQL > Alter database archivelog;
SQL > Shutdown immediate;
Etape 5 : Redémarrer toutes instance du rac avec le spfile.
srvctl start database -d ORADB
Accessoirement on peut vérifier que la base est bien en archivelog
sqlplus /nolog
SQL > connect / as sysdba
SQL > archive log list
resultat quel que soit le noeud du RAC
Database log mode Archive Mode
Automatic archival Enabled
Archive destination /u01/arch
Oldest online log sequence 30
Next log sequence to archive 31
Current log sequence 31
Et voila, bienvenu dans le monde du RAC !!
@ bientôt (si si, j'y crois)