Oracle10g: mettere il database in modalità ARCHIVELOG e fare backup con RMAN

Modalità ARCHIVELOG di un database Oracle protegge contro la perdita di dati quando si verifica un guasto l'ambiente fisico ed è il primo passo per il backup (calda!) con RMAN. Per mettere il database in modalità ARCHIVELOG (senza utilizzare l'area di recupero flash) facciamo fondamentalmente due cose, aggiungere due nuovi parametri sul file di configurazione, riavviare il database e lavorare per cambiare la modalità ARCHIVELOG.

Per quanto riguarda il database Oracle 10g ARCHIVELOG modalità

  1. Modificare il init.ora per aggiungere i seguenti parametri
    *.log_archive_dest='/essempio/backup/'
    *.log_archive_format='SID_%r_%t_%s'
     
  2. Riavviare il database di adottare le modifiche e assicurarsi.
    SQL> shutdown immediate
    Database closed.
    Database dismounted.
    ORACLE instance shut down.
    SQL> startup mount pfile='/essempio/pfile/init.ora
    ORACLE instance started.
     
    Total System Global Area  272629760 bytes
    Fixed Size                   788472 bytes
    Variable Size             103806984 bytes
    Database Buffers          167772160 bytes
    Redo Buffers                 262144 bytes
    Database mounted.
    SQL> alter database archivelog;
    Database altered.
    SQL> alter database open;
    Database altered.
    SQL> create spfile;
    SQL> shutdown immediate;
    Database closed.
    Database dismounted.
    ORACLE instance shut down.
    SQL> startup

Backups con RMAN
 
Una volta che abbiamo il database in esecuzione in modalità ARCHIVELOG e può guardare avanti per fare backup con RMAN. Per fare abbastanza per modificare uno script dove básicamnte archivi una copia e conservare le copie in base alla frequenza si desidera mantenere ed eseguire lo script. Solo bisogna stare attenti e adeguatamente dimensione il numero di copie e che ARCHIVELOG mantelli sulla base di spazio su disco disponibile. Per sapere quanto spazio abbiamo bisogno di applicare la formula seguente, assumendo che la copia è quotidiana:

Spazio necessario = (num_backups_rman_mantenuta*dimensione_backups_rman)+(media_num_redos_giorno)*(giorno_mantenuta).
 

I passaggi per iniziare a fare i backup:

  1. Modificare lo script per il sistema di lancio (/ esempio / scripts / rman.sh):
    #!/bin/bash
    export ORACLE_HOME=/opt/oracle/product/10.2/db_1/
    export ORACLE_SID=SID
    /opt/oracle/product/10.2/db_1/bin/rman @/essempio/scripts/rman.sql > /backup/scripts/rman.log
     
  2. Sql script che lancerà con il sh precedente (/ campione / scripts / rman.sql). Non c'è bisogno di commento perché è molto facile da leggere quello che sta facendo ad ogni passo. Inoltre, vedremo dove si indica la scadenza del backup e archivi.

    connect target root/password@SID
    run {
    CONFIGURE RETENTION POLICY TO RECOVERY WINDOW OF 3 DAYS;

    CONFIGURE CONTROLFILE AUTOBACKUP ON;
    CONFIGURE CONTROLFILE AUTOBACKUP FORMAT FOR DEVICE TYPE DISK TO '/essempio/backup/%F';

    CONFIGURE CHANNEL DEVICE TYPE DISK FORMAT '/essempio/backup/%d_%Y%M%D%U';
    CONFIGURE DEVICE TYPE DISK PARALLELISM 1 BACKUP TYPE TO COMPRESSED BACKUPSET;
    CONFIGURE MAXSETSIZE TO 8000M;

            backup database
            include current controlfile
            plus archivelog;

    CROSSCHECK BACKUP completed before 'sysdate - 4';       
    DELETE NOPROMPT OBSOLETE;                               
    DELETE NOPROMPT ARCHIVELOG UNTIL TIME "SYSDATE - 4";
    delete noprompt expired backup;
    delete noprompt expired archivelog all;
    report schema;
    }
    exit;
     

  3. Schedule Task (crontab?) E Presto!
     

Per ulteriori informazioni sui redo log file quí.