Isenção de responsabilidade: não sou um DBA nem li completamente os documentos do RMAN de capa a capa, portanto, isso pode estar bem coberto, mas não consegui encontrá-lo.
A questão é bem simples, qual a diferença entre esses dois comandos:
delete copy of archivelog all completed before 'SYSDATE-7';
delete archivelog all completed before 'SYSDATE-7';
O que é excluído de onde e em quais circunstâncias ao executá-los no RMAN?
Informações possivelmente relevantes: (?)
SQL> archive log list;
Database log mode Archive Mode
Automatic archival Enabled
Archive destination USE_DB_RECOVERY_FILE_DEST
Oldest online log sequence 5785
Next log sequence to archive 5787
Current log sequence 5787
SQL> select * from v$recovery_file_dest;
NAME SPACE_LIMIT SPACE_USED SPACE_RECLAIMABLE NUMBER_OF_FILES
---------------- ----------- ---------- ----------------- -----
e:\oracle\backup 2.1475E+11 4.7820E+10 4.6097E+10 1246
-
RMAN> show retention policy;
using target database control file instead of recovery catalog
RMAN configuration parameters for database with db_unique_name ****** are:
CONFIGURE RETENTION POLICY TO REDUNDANCY 1;
Com base na documentação :
Mesmo os archivelogs originais contam como cópias, pois são uma cópia de um redo log arquivado. As 2 instruções são equivalentes mesmo se você tiver os mesmos archivelogs 1 ou 10 vezes no disco. A cláusula COMPLETED BEFORE 'SYSDATE - 7' excluirá archivelogs com mais de 7 dias.
No entanto, isso não é verdade para arquivos de dados. Os arquivos de dados reais e originais não contam como cópias. Se você criar uma cópia de um arquivo de dados com o comando BACKUP AS COPY, essa cópia terá os dados do arquivo no momento em que foi copiada e o banco de dados não usará essa cópia, exceto para procedimentos de recuperação. Se você alternar um arquivo de dados para sua cópia com o comando SWITCH, a cópia se torna o original e o antigo original se torna a cópia.