Configure RMAN to purge archivelogs after Application on standby.
Applying to EE Version 10.2.0.1 – 220.127.116.11, and 10.2 to 11.2, We need
RMAN to automatically purge archivelogs from the FRA once they are
applied to the standby database.
With dataguard, and archives in the FRA, they will be purged if
they have been applied on the standby and they are no longer required
when there is space pressure on the FRA on the primary database.
Here’s the important part, before 11g, if not using archivelog
destinations which are mandatory, then the database must be restarted
after setting the following parameter:
1) prior to 11g, if not using mandatory archivelog destinations,
the database (primary and standby) must be restarted with the following
SQL> alter system set “_log_deletion_policy”=’ALL’ scope=spfile;
Then we can configure the parameter as normal.
2) configure the following parameter in RMAN on both the primary and standby databases:
RMAN> CONFIGURE ARCHIVELOG DELETION POLICY TO APPLIED ON STANDBY;
3) the archivelog must have been applied to the standby
4) the archivelogmust beobsolete per the current RMAN retention policy.
To list the obsolete objects, run the following query:
RMAN> SHOW RETENTION POLICY
RMAN> REPORT OBSOLETE;
5) there is space pressure in the FRA
Again, point 5, there has to be space pressure in the FRA
before the policy kicks in. Therefore setting any normal local
destination to use this will fail. In my experience the rman delete
command complained that the logs were still required.
Another interesting note, the database’s have to be backed up
for this policy to take place. Only performing backups on the standby
will leave the primary in a state where all logs are required
(obviously) since condition 4 will not be met, therefore no automatic
purging will take place.
eg: the following query will identify all archivelogs applied to the standby:
select a.thread#, a.sequence#, a.applied
from v$archived_log a, v$database d
where a.activation# = d.activation#