RMAN Configuration Under Nomount

  • by
Did you have ever noticed that? RMAN can show the configuration when the controlfile is not mounted. See the demonstration below:
[oracle@primary01 ~]$ rman target /
...
connected to target database: COMPDB (not mounted)

RMAN> show all;

using target database control file instead of recovery catalog
RMAN configuration parameters for database with db_unique_name PRIMDB are:
CONFIGURE RETENTION POLICY TO REDUNDANCY 1; # default
CONFIGURE BACKUP OPTIMIZATION OFF; # default
CONFIGURE DEFAULT DEVICE TYPE TO DISK; # default
CONFIGURE CONTROLFILE AUTOBACKUP OFF; # default
CONFIGURE CONTROLFILE AUTOBACKUP FORMAT FOR DEVICE TYPE DISK TO '%F'; # default
CONFIGURE DEVICE TYPE DISK PARALLELISM 1 BACKUP TYPE TO BACKUPSET; # default
CONFIGURE DATAFILE BACKUP COPIES FOR DEVICE TYPE DISK TO 1; # default
CONFIGURE ARCHIVELOG BACKUP COPIES FOR DEVICE TYPE DISK TO 1; # default
CONFIGURE MAXSETSIZE TO UNLIMITED; # default
CONFIGURE ENCRYPTION FOR DATABASE OFF; # default
CONFIGURE ENCRYPTION ALGORITHM 'AES128'; # default
CONFIGURE COMPRESSION ALGORITHM 'BASIC' AS OF RELEASE 'DEFAULT' OPTIMIZE FOR LOAD TRUE ; # default
CONFIGURE ARCHIVELOG DELETION POLICY TO NONE; # default

Why was RMAN able to show the configuration when the controlfile is not mounted? Are they true, current settings? Or  they are just the default settings? Let’s make a test by modifying the configuration under nomout.
RMAN> configure controlfile autobackup on;

RMAN-00571: ===========================================================
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
RMAN-00571: ===========================================================
RMAN-03002: failure of configure command at 12/12/2012 19:38:38
ORA-01507: database not mounted

It failed to change under nomount state. We strongly doubt the result of SHOW ALL is the true and current settings.

Show all RMAN configuration when the database is mount.
[oracle@primary01 ~]$ rman target /
...
connected to target database: COMPDB (DBID=841830157, not open)

RMAN> show all;

using target database control file instead of recovery catalog
RMAN configuration parameters for database with db_unique_name PRIMDB are:
...
CONFIGURE SNAPSHOT CONTROLFILE NAME TO '/u01/app/oracle/product/11.2.0/db_1/dbs/snapcf_primdb1.f'; # default

The result is a slightly different than the one under nomount. I believe that the result comes from the controlfile.

Let’s try to change the configuration again when the controlfile is mount.
RMAN> configure controlfile autobackup on;

new RMAN configuration parameters:
CONFIGURE CONTROLFILE AUTOBACKUP ON;
new RMAN configuration parameters are successfully stored

RMAN> show all;

RMAN configuration parameters for database with db_unique_name PRIMDB are:
...
CONFIGURE CONTROLFILE AUTOBACKUP ON;
...
CONFIGURE SNAPSHOT CONTROLFILE NAME TO '/u01/app/oracle/product/11.2.0/db_1/dbs/snapcf_primdb1.f'; # default

It makes sense to see the new setting successfully overwrites the defaults under the controlfile is mount.

Let’s back to nomount state and show all RMAN configuration.
[oracle@primary01 ~]$ rman target /
...
connected to target database: COMPDB (not mounted)

RMAN> show all;

using target database control file instead of recovery catalog
RMAN configuration parameters for database with db_unique_name PRIMDB are:
CONFIGURE RETENTION POLICY TO REDUNDANCY 1; # default
CONFIGURE BACKUP OPTIMIZATION OFF; # default
CONFIGURE DEFAULT DEVICE TYPE TO DISK; # default
CONFIGURE CONTROLFILE AUTOBACKUP OFF; # default
CONFIGURE CONTROLFILE AUTOBACKUP FORMAT FOR DEVICE TYPE DISK TO '%F'; # default
CONFIGURE DEVICE TYPE DISK PARALLELISM 1 BACKUP TYPE TO BACKUPSET; # default
CONFIGURE DATAFILE BACKUP COPIES FOR DEVICE TYPE DISK TO 1; # default
CONFIGURE ARCHIVELOG BACKUP COPIES FOR DEVICE TYPE DISK TO 1; # default
CONFIGURE MAXSETSIZE TO UNLIMITED; # default
CONFIGURE ENCRYPTION FOR DATABASE OFF; # default
CONFIGURE ENCRYPTION ALGORITHM 'AES128'; # default
CONFIGURE COMPRESSION ALGORITHM 'BASIC' AS OF RELEASE 'DEFAULT' OPTIMIZE FOR LOAD TRUE ; # default
CONFIGURE ARCHIVELOG DELETION POLICY TO NONE; # default

The newly configured setting is gone, all the settings are back to the default, which also indirectly proves that the configuration under nomount is only a default one, which is used to support RMAN operations when there is no explicit configuration under nomount.

Therefore, there is no way to configure RMAN settings persistently under nomount. But I think you might want to know what operations must run under nomount. Please refer to the posts about nomount.
  1. When the SPFILE is Missing
  2. When the Controlfile is Missing
  3. When Almost Everything of a Database is Missing
  4. Duplicate a Standby Database (0/4) – An Overview
You may also refer to the Oracle official document for more information about configuring RMAN:
Configuring the RMAN Environment

Leave a Reply

Your email address will not be published. Required fields are marked *