In 10g Release 1, the database must be mounted (not open) by an exclusive instance. In other words, set the CLUSTER_DATABASE parameter to FALSE. After executing the ALTER DATABASE SQL statement to change the archive log mode, shutdown the instance and restart it with the CLUSTER_DATABASE parameter set to TRUE before you restart the other instances.
1. Login to one of the nodes, disable the cluster instance parameter and set log archive destination:
$ sqlplus / as sysdba
SQL> alter system set cluster_database=false scope=spfile sid='';
SQL> alter system set log_archive_dest_1='' scope=spfile sid='*';
2. Shutdown all instances:
$ srvctl stop database -d
3. Using the local instance, mount the database:
$ sqlplus / as sysdba
SQL> startup mount;
4. Enable archivelog mode
SQL> alter database archivelog;
5. Re-enable support for clustering from the current instance:
SQL> alter system set cluster_database=true scope=spfile sid='';
6. Shutdown the local instance:
SQL> shutdown immediate;
7. Bring all instances back up:
$ srvctl start database -d
From 10g Release 2, you don't need to modify CLUSTER_DATABASE parameter to enable archivelog mode.
1. Login to one of the nodes, set log archive destination:
$ sqlplus / as sysdba
SQL> alter system set log_archive_dest_1='' scope=spfile sid='*';
2. Shutdown all instances:
$ srvctl stop database -d
3. Using the local instance, mount the database:
$ sqlplus / as sysdba
SQL> startup mount;
4. Enable archivelog mode
SQL> alter database archivelog;
5. Shutdown the local instance:
SQL> shutdown immediate;
6. Bring all instances back up:
$ srvctl start database -d