How to enable Archive Log mode in a RAC Environment ?

On a standalone database, it is quite easy to enable the Archive Log mode, but in a RAC environment, there are more things to do.
It is the same thing on a 10g or 11g RAC Database.
To do the job, you need to stop cluster mode, stop database, enable the archive log mode et restart all.
 
 

  • Disable cluster mode on node one, by setting the parameter cluster_database
$ sqlplus / as sysdba
SQL> alter system set cluster_database=FALSE scope=spfile sid='DBRAC1';
  • Stop instances of the database
$ srvctl stop database -d DBRAC
  • Mount instance one and enable archive log
$ export ORACLE_SID = DBRAC1
$ sqlplus "/ as sysdba"
SQL> startup mount
SQL> alter database archivelog
  • Re enable cluster mode on the instance
SQL> alter system set cluster_database=true scope=spfile sid='DBRAC1';
  • Stop instance one
SQL> shutdown immediate
  • Restart all instances of the database using srvctl command
$ srvctl start database -d DBRAC
  • If needed, restart all services
$ srvctl start service -d DBRAC
  • Check if archive log is enabled
SQL> archive log list
Database log mode              Archive Mode
Automatic archival             Enabled
Archive destination            USE_DB_RECOVERY_FILE_DEST
Oldest online log sequence     65
Next log sequence to archive   66
Current log sequence           66