DELETE EXPIRED BACKUP - Exceção

Dúvidas, dicas e atualizações sobre o Treinamento Oracle Backup & Recovery.
Post Reply
rdantas_silva

DELETE EXPIRED BACKUP - Exceção

Post by rdantas_silva »

Boa tarde Portilho,

Pesquisei e parece que não é possível. Mas gostaria de confirmar essa informação.

É possível criar uma exceção no DELETE EXPIRED BACKUP. Explico: Imagine um deploy que faça grandes mudanças na aplicação, e eu preciso guardar esse backup por um longo tempo. É possível criar uma exceção para que o DELETE EXPIRED não apaga determinado backup?

rdantas_silva

Re: DELETE EXPIRED BACKUP - Exceção

Post by rdantas_silva »

Ou...

Seria possível marcar um backup específico para nunca expirar?

rdantas_silva

Re: DELETE EXPIRED BACKUP - Exceção

Post by rdantas_silva »

Achei uma opção pra fazer isso.

Example 4-23 Creating a Consistent Database Backup for Archival

This example makes a database backup with tag Q107 and specifies that it should never be considered obsolete (partial sample output included). The archived redo log files necessary to make the data files consistent are included in the backup set.

RMAN> BACKUP TAG Q107 DATABASE KEEP FOREVER;

https://docs.oracle.com/html/E10643_07/rcmsubcl011.htm

gcomenale

Re: DELETE EXPIRED BACKUP - Exceção

Post by gcomenale »

Isso, a cláusula para ter o backup sem deletar é o KEEP FOREVER.

Lembrando que o expired é deletar os arquivos do CTL/Catálogo do rman e não do disco. Para deletar os arquivos de backup eles precisam ser os OBSOLETOS, os EXPIRED significa que o rman não encontra eles no disco onde estão sendo apontados.

rdantas_silva

Re: DELETE EXPIRED BACKUP - Exceção

Post by rdantas_silva »

De acordo com a documentação o DELETE apaga arquivos do disco sim.


In general, use the DELETE command to remove backups that you do not want to retain. DELETE removes the physical files from the backup media, deletes the record of the backup from the recovery catalog (if RMAN is connected to a recovery catalog), and updates the records of these backups in the control file to status DELETED.

https://docs.oracle.com/cd/B19306_01/ba ... int003.htm

gcomenale

Re: DELETE EXPIRED BACKUP - Exceção

Post by gcomenale »

Me refiro ao status EXPIRED.

Faça o teste:

1 - Gere um backup no /u01
2 - Liste o status do backup no RMAN
3 - Mova o backup para outro diretório
4 - Liste o backup novamente no RMAN
5 - Faça um crosscheck
6 - Liste o backup no RMAN
7 - Faça um delete obsolete e list o backup no RMAN
8 - Qual o status do backup?
9 - Faça o DELETE EXPIRED BACKUP;
10 - Verifique o arquivo do backup no novo diretório, ele foi excluído?

rdantas_silva

Re: DELETE EXPIRED BACKUP - Exceção

Post by rdantas_silva »

Entendi. Mas nesse caso, o backup não foi apagado pq o rman não tem ciência da nova localidade do arquivo. Não?

gcomenale

Re: DELETE EXPIRED BACKUP - Exceção

Post by gcomenale »

Isso, essa é a diferença entre o EXPIRED e o OBSOLETE.

portilho
Site Admin
Posts: 497
Joined: Wed May 29, 2013 8:51 am

Re: DELETE EXPIRED BACKUP - Exceção

Post by portilho »

Para que um backup não seja considerado OBSOLETE mesmo sendo mais "velho" do que a RETENTION POLICY, podem ser usados comandos como:

Lab 17.3 do Treinamento Oracle Backup & Recovery: este comando faz um backup que não irá se tornar OBSOLETE antes de ter passado um ano:

Code: Select all

BACKUP DATABASE KEEP UNTIL TIME='SYSDATE+366';


Lab 19.2 do Treinamento Oracle Backup & Recovery: este comando altera a retenção de um backup já feito.

Code: Select all

CHANGE BACKUP TAG 'MeuBackup' KEEP FOREVER;


Não confunda OBSOLETE com EXPIRED.
- OBSOLETE: O backup está além da RETENTION, ou além do KEEP. É o backup "velho".
- EXPIRED: O backup devia estar em certo local do disco, até onde o rman "sabe", mas não está.

Esta confusão é comum pois o nome EXPIRED foi mal escolhido pelo fabricante, pois EXPIRED realmente dá a ideia de "velho", "vencido".

Post Reply