Oracle 11gR2 archive log destinations

oracleoracle-11g-r2oracle-database-appliancerac

I want to add a second archive log destination to an Oracle 11gR2 RAC database with ASM, the idea is that I will then have some redundancy if the primary storage should fail.

Archive log is already enabled, and logs are currently archived in the Fast Recovery Area. However, as far as I can see, none of the LOG_ARCHIVE_DEST_n init parameters have been configured.

Is there now an unset default that specifies the Fast Recovery Area as a log destination?

If that is the case, I assume I must now configure two destinations. One entry to continue writing archive to that default destination, and one entry for the additional backup destination. If so, how do I specify the existing default location in the fast recovery area?

Will this work, is there another preferred way?

alter system set log_archive_dest_1 = 'LOCATION=USE_DB_RECOVERY_FILE_DEST';
alter system set log_archive_dest_2 = 'LOCATION=/s01/archive/TESTDB';
alter system set log_archive_dest_state_1 = enable;
alter system set log_archive_dest_state_2 = enable;
alter system set log_archive_min_succeed_dest = 1;

Naturally, the /s01 filesystem is available on all (both) cluster nodes.

Best Answer

The 11.2 manual says you should also check plain LOG_ARCHIVE_DEST. Although it comes from Standard Edition, it is still valid in case none of numbered Enterprise Edition destinations LOG_ARCHIVE_DEST_n are defined. I haven't tested that personally.

In case all are unset, the another 11.2 manual says

If you configure a Fast Recovery Area (by setting the DB_RECOVERY_FILE_DEST and DB_RECOVERY_FILE_DEST_SIZE parameters) and do not specify any local archive destinations, the database automatically selects the Fast Recovery Area as a local archive destination and sets LOG_ARCHIVE_DEST_1 to USE_DB_RECOVERY_FILE_DEST.

I vaguely remember I've seen somewhere that 11.1 database in such situation defaults to USE_DB_RECOVERY_FILE_DEST but via LOG_ARCHIVE_DEST_10.

In all, your configuration and syntax is correct.

alter system set log_archive_min_succeed_dest = 1;

Normally all destinations are optional. But your setting is ok; it could somewhat decrease potential data loss (loss of redo log not yet archived).

Further two items to take care of:

  • a copy of redo logs on a second disk
  • a copy of control file on a second disk