Estou usando o Oracle Release 12.2.0.1.0 Standard Edition no ODA (Oracle Database Appliance, executando linux). Minha instância "xyz" está sendo executada no modo archivelog. O RMAN executa o backup e os arquivos de dados desnecessários são excluídos automaticamente do conjunto de backup.
[oracle@oda ~]$ rman TARGET /
Recovery Manager: Release 12.2.0.1.0 - Production on Fr Aug 31 16:50:05 2018
Copyright (c) 1982, 2017, Oracle and/or its affiliates. All rights reserved.
Mit Zieldatenbank verbunden: XYZ (DBID=4079461799)
RMAN> show all;
Kontrolldatei der Zieldatenbank wird anstelle des Recovery-Katalogs verwendet
RMAN-Konfigurationsparameter für Datenbank mit db_unique_name XYZ sind:
CONFIGURE RETENTION POLICY TO REDUNDANCY 3;
CONFIGURE BACKUP OPTIMIZATION OFF; # default
CONFIGURE DEFAULT DEVICE TYPE TO DISK; # default
CONFIGURE CONTROLFILE AUTOBACKUP ON; # default
CONFIGURE CONTROLFILE AUTOBACKUP FORMAT FOR DEVICE TYPE DISK TO '/mnt/backup/rman/xyz/%F';
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 CHANNEL DEVICE TYPE DISK FORMAT '/mnt/backup/rman/xyz/%U';
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 RMAN OUTPUT TO KEEP FOR 7 DAYS; # default
CONFIGURE ARCHIVELOG DELETION POLICY TO NONE; # default
CONFIGURE SNAPSHOT CONTROLFILE NAME TO '/u03/app/oracle/fast_recovery_area/XYZ/controlfile/snapcf_xyz.f';
Quando eu verifico o diretório, tudo parece bem - exceto os arquivos de controle que continuam se acumulando
[oracle@oda1 xyz]$ pwd
/mnt/backup/rman/xyz
[oracle@oda1 xyz]$ l
total 4144832
drwxr-xr-x 2 oracle oinstall 4096 Aug 31 11:00 .
drwxr-xr-x 7 oracle oinstall 4096 Jul 4 14:38 ..
-rw-r----- 1 oracle asmadmin 1072447488 Aug 29 01:02 6ntbnscr_1_1
-rw-r----- 1 oracle asmadmin 943104 Aug 29 01:02 6otbnshm_1_1
-rw-r----- 1 oracle asmadmin 18115072 Aug 29 11:00 6qtbovhi_1_1
-rw-r----- 1 oracle asmadmin 62260224 Aug 30 01:00 6stbqgoj_1_1
-rw-r----- 1 oracle asmadmin 1072734208 Aug 30 01:05 6ttbqgq1_1_1
-rw-r----- 1 oracle asmadmin 1159680 Aug 30 01:05 6utbqh2k_1_1
-rw-r----- 1 oracle asmadmin 10599424 Aug 30 11:00 70tbrjtj_1_1
-rw-r----- 1 oracle asmadmin 42828288 Aug 31 01:00 72tbt54i_1_1
-rw-r----- 1 oracle asmadmin 1073242112 Aug 31 01:02 73tbt54q_1_1
-rw-r----- 1 oracle asmadmin 2316288 Aug 31 01:02 74tbt59l_1_1
-rw-r----- 1 oracle asmadmin 17406976 Aug 31 11:00 76tbu89j_1_1
-rw-r----- 1 oracle asmadmin 10698752 Jun 20 11:11 c-4079461799-20180620-00
-rw-r----- 1 oracle asmadmin 10698752 Jun 20 11:25 c-4079461799-20180620-01
-rw-r----- 1 oracle asmadmin 10698752 Jun 20 13:03 c-4079461799-20180620-02
-rw-r----- 1 oracle asmadmin 10698752 Jun 20 13:48 c-4079461799-20180620-03
-rw-r----- 1 oracle asmadmin 10698752 Jun 20 14:03 c-4079461799-20180620-04
-rw-r----- 1 oracle asmadmin 10698752 Jul 16 10:22 c-4079461799-20180716-00
-rw-r----- 1 oracle asmadmin 10698752 Jul 26 17:32 c-4079461799-20180726-00
-rw-r----- 1 oracle asmadmin 10698752 Jul 27 01:02 c-4079461799-20180727-00
-rw-r----- 1 oracle asmadmin 10698752 Jul 27 11:00 c-4079461799-20180727-01
..
Os arquivos que começam com "c" são os arquivos de controle.
Pergunta : O que posso fazer para excluir esses arquivos também automaticamente?
Obrigado por sua percepção!
A política de retenção do RMAN para os arquivos de controle e conjuntos de backup é definida como:
( ênfase minha )
Aplicando o acima ao seu ambiente
No seu caso, você definiu o seguinte:
Que significa:
Como você pode notar, você pode ter essencialmente a mesma quantidade de arquivos de controle de backup que você tem a soma de:
... ou até mais. (Leia: Oracle 12c – Backups Automáticos de Arquivos de Controle para mais detalhes)
E se você não estiver fazendo backup para a área de recuperação flash de sua instância Oracle, você terá que excluir manualmente esses arquivos depois de fazer backup de seu banco de dados emitindo o seguinte comando:
Você também pode testar isso executando primeiro:
...para verificar se os arquivos de controle no diretório estão realmente obsoletos e, em seguida, excluí-los manualmente no RMAN com o comando que mencionei antes deste.
Resumo
Você pode estar vendo os seguintes problemas:
Como não sabemos seus scripts de backup exatos e outras configurações, é difícil dizer qual ponto você está encontrando, mas você tem alguns bons pontos de partida.
Bug aparente
Existem casos (aparentemente) em que o arquivo de controle nunca é marcado como obsoleto:
Um bug foi arquivado e uma correção fornecida, mas não parece funcionar em todos os casos.
Talvez seja necessário excluir manualmente os backups do arquivo de controle no RMAN.
Respondendo sua pergunta
Desculpe, mas isso depende de qual situação você está atingindo e pode variar de:
REPORT OBSOLETE
eDELETE OBSOLETE
DELETE COPY OF CONTROLFILE LIKE ...
Referências