Índice do fórum Treinamentos Avançados Treinamento Oracle Backup & Recovery DELETE EXPIRED BACKUP - Exceção

DELETE EXPIRED BACKUP - Exceção

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

Mensagem Qua Ago 01, 2018 3:41 pm

Mensagens: 0
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?

Mensagem Qua Ago 01, 2018 3:43 pm

Mensagens: 0
Ou...

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

Mensagem Qua Ago 01, 2018 3:47 pm

Mensagens: 0
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

Mensagem Qua Ago 01, 2018 6:05 pm

Mensagens: 0
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.

Mensagem Qua Ago 01, 2018 6:30 pm

Mensagens: 0
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

Mensagem Qua Ago 01, 2018 6:41 pm

Mensagens: 0
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?

Mensagem Qua Ago 01, 2018 6:49 pm

Mensagens: 0
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?

Mensagem Qui Ago 02, 2018 1:58 am

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

Mensagem Seg Ago 06, 2018 11:41 am
portilho Site Admin

Mensagens: 463
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:
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.
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".


Voltar para Treinamento Oracle Backup & Recovery

cron