You need to design a good frecuency of your backups using rman.
If you FRA is full then you need backup database more frequently to free archivelogs unnecessary.
You could reduce the depth of your flashback logs too.
Are you store your rman backuppieces within FRA ?
If you have dataguard you could to use the slave database to backup and use the primary site only for flashback.
export NLS_DATE_FORMAT='yyyy-mm-dd hh24:mi'
$ORACLE_HOME/bin/rman << eof
CONNECT TARGET /
$retention
CONFIGURE BACKUP OPTIMIZATION OFF; # default
CONFIGURE DEFAULT DEVICE TYPE TO DISK;
CONFIGURE CONTROLFILE AUTOBACKUP ON;
CONFIGURE CONTROLFILE AUTOBACKUP FORMAT FOR DEVICE TYPE DISK TO '+DISKGROUP_FRA/%F';
CONFIGURE CONTROLFILE AUTOBACKUP FORMAT FOR DEVICE TYPE SBT_TAPE TO '%F';
CONFIGURE DEVICE TYPE DISK PARALLELISM 4 BACKUP TYPE TO BACKUPSET;
'SBT_LIBRARY=oracle.disksbt,ENV=(BACKUP_DIR=$DEST_AST_RMAN_BACKUP)';
CONFIGURE CHANNEL 1 DEVICE TYPE DISK CONNECT 'connString';
CONFIGURE CHANNEL 2 DEVICE TYPE DISK CONNECT 'connString'
CONFIGURE CHANNEL 3 DEVICE TYPE DISK CONNECT 'connString'
CONFIGURE CHANNEL 4 DEVICE TYPE DISK CONNECT 'connString'
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 ARCHIVELOG DELETION POLICY TO NONE; # default
CONFIGURE SNAPSHOT CONTROLFILE NAME TO '+DISKGROUP_FRA/snapshot_controlfile.f';
show all;
DELETE NOPROMPT EXPIRED BACKUP;
CROSSCHECK ARCHIVELOG ALL;
DELETE NOPROMPT EXPIRED ARCHIVELOG ALL;
BACKUP AS BACKUPSET DATABASE INCLUDE CURRENT CONTROLFILE tag=TARSYS_${fecha} PLUS ARCHIVELOG DELETE INPUT tag=TARSYS_${fecha};
CROSSCHECK BACKUP;
DELETE NOPROMPT OBSOLETE;
DELETE NOPROMPT EXPIRED BACKUP;
CROSSCHECK ARCHIVELOG ALL;
DELETE NOPROMPT EXPIRED ARCHIVELOG ALL;
In my case $retention can be configured in my script
backup_dest="$DEST_DISK_EXP_BACKUP"
if test "$RMAN_RETENTION_DAYS" = "null" -o "X$RMAN_RETENTION_DAYS" = "X"
then
retention="CONFIGURE RETENTION POLICY TO REDUNDANCY "$RMAN_RETENTION_REDUNDANCY" ;"
else
retention="CONFIGURE RETENTION POLICY TO RECOVERY WINDOW OF "$RMAN_RETENTION_DAYS" DAYS;"
fi