Pulizia del catalogo

RMAN> CROSSCHECK BACKUP;
RMAN> DELETE [NOPROMPT] EXPIRED  BACKUP;

Il comando CROSSCHECK viene utilizzato per determinare se i  backup registrati nel repository sono ancora presenti su disco o nastro; assicura che i record  logici dei backup sono sincronizzati con i file fisici. 
Se RMAN non è in grado di individuare i backup, aggiorna i loro record nel repository di RMAN allo stato "EXPIRED".
Se i file scaduti esistono ancora, il comando DELETE EXPIRED termina con un errore.
Il comando DELETE cancella sia file fisici che il record sul file di catalogo.

Per individuare i backup obsoleti ovvero quelli che non soddisfano i requisiti di RMAN specificati nella retention policy e quindi non servono più per un recovery eseguire i comandi:
RMAN> CROSSCHECK BACKUP;
RMAN> REPORT OBSOLETE;
RMAN> DELETE [NOPROMPT]OBSOLETE;

Eseguire sempre prima il comando crosscheck backup per assicurarsi che RMAN abbia le ultime informazioni sullo stato dei differenti tipi di backup.  

Report dei file obsoleti che non soddifano una recovery window di 3 giorni.
RMAN> report obsolete recovery window of 3 days;

Report dei file obsoleti che non soddifano una redundancy di 3 copie. 
RMAN> report obsolete redundancy 2;

Esistono due parametri mutuamenti esclusivi che definiscono la retention policy:
 - Redundancy
Indica il numero di backup full o di livello 0 che devono essere disponibili contemporaneamente. Dopo aver selezionato il numero di copie di backup, tutti i backup più vecchi vengono contrassegnati come obsoleti. Ciò non pone alcun tipo di restrizione sulla durata di conservazione dei backup.

RMAN> configure retention policy to redundancy 2;

Vuol dire che vengono conservate due backup full o Level 0 del database e le restanti sono marchate come obsolete.
Il valore di default vale 1.


- Recovery Window
non si basa sul numero di copie di backup, ma sul numero di giorni per i quali si desidera avrer un backup ripristinabile. Quindi è possibile disporre di un numero n di copie entro il periodo specificato della finestra di ripristino. Qualsiasi backup più vecchio della finestra di ripristino è contrassegnato come obsoleto. 
Il valore di default è 7 giorni, il che significa che possono ripristinare un qualsisasi backup entro sette giorni da oggi.

Ad esempio se si dispone di un backup full nei giorni 8, 15 e 22 ed oggi è 25, RMAN considera la finestra di recovery di 7 giorni fino al 18. Ma se volessimo ripristinare il backup del 18 occorrerebbe partire dal bacup full del 15 e prendere gli archivelog fino al 18. Questo vuol dire che Rman per assicurare un riprisitino completo di 7 giorni dovrà conservare anche il backup full del 15, e cioè  il primo backup full al di fuori della recovery windows, e tutti gli archivelog che servono per avere un backup completo del db all'interno della finestra di recovery.

 

RMAN> CONFIGURE RETENTION POLICY TO RECOVERY WINDOW OF 2 DAYS;

Recovery window e Redundancy si escludono a vicenda.
Eseguire il comando seguende per individuare la policy.
RMAN> show retention policy;

Per impostare il valori di default:
RMAN> CONFIGURE RETENTION POLICY CLEAR;   

L'operazione di DELETE conssite nei seguenti tre comandi:
1) RMAN cancella i file fisici di backup dal sistema operativo e dal tape
2) RMAN li marca come "deleted" nel control file 
3) RMAN li rimuove logicamente dal recovery catalog


Altri comandi simili.
RMAN> CROSSCHECK ARCHIVELOG ALL;
RMAN> CROSSCHECK COPY;
RMAN> CROSSCHECK COPY OF DATABASE;

RMAN> LIST BACKUP;
RMAN> CROSSCHECK BACKUPSET &BS_KEY&;
RMAN> CROSSCHECK BACKUPPIECE TAG 'nomte tag';
RMAN> CROSSCHECK BACKUP OF ARCHIVELOG ALL SPFILE;


Controllo dei datafile
RMAN> CROSSCHECK DATAFILECOPY ALL;
RMAN> CROSSCHECK BACKUP OF DATAFILE '/u01/app/oracle/oradata/orcl/pdb1/users01.dbf';

Facciamo una copia del control file all'interno di una direcorty
RMAN> BACKUP AS COPY
      CURRENT CONTROLFILE
      FORMAT '/home/oracle/backups/control01.ctl';

RMAN> CROSSCHECK CONTROLFILECOPY '/home/oracle/backup/control01.ctl';

Updating a Backup to Status AVAILABLE or UNAVAILABLE
RMAN> list controlfilecopy '/home/oracle/backup/control01.ctl';
List of Control File Copies
===========================
Key   S   Completion Time Ckp SCN Ckp Time
------- - - -------------- ---------- ---------------
2947 A   01-MAR-21 2689453 01-MAR-21
Name: /home/oracle/backup/control01.ctl
Tag: TAG20210301T102827

Il valore S=A vuol dire available

RMAN> CHANGE CONTROLFILECOPY '/home/oracle/backup/control01.ctl' UNAVAILABLE;

RMAN> list controlfilecopy '/home/oracle/backup/control01.ctl';
List of Control File Copies
===========================
Key    S  Completion Time Ckp SCN Ckp Time
------- - --------------- ---------- ---------------
2947  U  01-MAR-21 2689453 01-MAR-21
Name: /home/oracle/backup/control01.ctl
Tag: TAG20210301T102827

RMAN> CHANGE CONTROLFILECOPY '/home/oracle/backup/control01.ctl'  AVAILABLE;

Analogo discorso per i backupset e spfile.

RMAN> CHANGE BACKUPSET &BS_KEY& UNAVAILABLE;
RMAN> CHANGE BACKUP OF SPFILE TAG 'KEEP_ONE_YEAR' UNAVAILABLE;
RMAN> CHANGE BACKUP TAG 'KEEP_ONE_YEAR' AVAILABLE;


Post popolari in questo blog

ORA-12154: TNS: il listener non è attualmente a conoscenza del servizio richiesto nel descrittore di connessione

Create e Drop Pluggable Database