Eseguire il backup di un database nello storage degli oggetti mediante RMAN

In questo articolo viene descritto come utilizzare Recovery Manager (RMAN) per gestire i backup del database del sistema DB nello storage degli oggetti.

Per eseguire il backup del servizio, dovrai creare un bucket di storage degli oggetti per i backup, generare una password per il servizio, installare il modulo di backup di Oracle Database Cloud e quindi configurare RMAN per inviare i backup al servizio. Il modulo di backup è un'interfaccia di backup su nastro (SBT) del sistema strettamente integrata con RMAN, in modo da poter utilizzare i comandi RMAN noti per eseguire operazioni di backup e ripristino.

Si noterà Swift indicato nella console e nell'URL dell'endpoint per il servizio. Questo perché il modulo di backup viene in genere utilizzato per eseguire il backup di Oracle Database Backup Cloud Service, che è un'area di memorizzazione degli oggetti OpenStack Swift.

Suggerimento: in un sistema DB è possibile utilizzare DBCLI per eseguire il backup nello storage degli oggetti. Questa è un'alternativa all'installazione del modulo di backup e all'uso di RMAN per i backup. Per ulteriori informazioni, vedere Comandi Objectstoreswift.

Prerequisiti

Avrai bisogno di quanto segue:

Installare il modulo di backup nel sistema DB

  1. SSH al sistema DB.

    ssh -i <SSH_key_used_when_launching_the_DB_system> opc@<DB_system_IP_address_or_hostname>
  2. Eseguire il login come utente opc.

    login as: opc
  3. sudo per l'utente oracle.

    sudo su - oracle
  4. Spostarsi nella directory che contiene il file opc_install.jar del modulo di backup.

    cd /opt/oracle/oak/pkgrepos/oss/odbcs
  5. Usare la sintassi seguente per installare il modulo di backup.

    java -jar opc_install.jar
        -opcId <user_id>
        -opcPass '<auth_token>'
        -container <bucket_name>
        -walletDir ~/hsbtwallet/
        -libDir ~/lib/
        -configfile ~/config
        -host https://swiftobjectstorage.<region_name>.oraclecloud.com/v1/<object_storage_namespace>

    Di seguito sono riportati i parametri disponibili.

    Parametro Descrizione
    -opcId Nome utente per l'account utente di Oracle Cloud Infrastructure, ad esempio: -opcId <username>@<example>.com.
    Questo è il nome utente utilizzato per connettersi alla console.
    Il nome utente deve essere un membro del gruppo Administrators, come descritto nella sezione Prerequisiti.
    È inoltre possibile specificare il nome utente tra apici. Ciò potrebbe essere necessario se il nome contiene caratteri speciali, ad esempio: -opcId 'j~smith@<example>.com'
    Assicurarsi di utilizzare virgolette singole e apostrofi non inclinati.
    -opcPass Token di autenticazione generato utilizzando la console o l'API IAM, tra apici singoli, ad esempio: -opcPass <password>
    Assicurarsi di utilizzare virgolette singole e apostrofi non inclinati.
    Per ulteriori informazioni, vedere Gestione delle credenziali utente.
    Questa non è la password dell'utente di Oracle Cloud Infrastructure.
    -container Il nome di un bucket esistente nello storage degli oggetti da utilizzare come destinazione di backup, ad esempio: -container DBBackups
    -walletDir Directory in cui lo strumento di installazione creerà un Oracle Wallet contenente il nome utente e il token di autenticazione di Oracle Cloud Infrastructure.
    -walletDir ~/hsbtwallet crea il wallet nella directory home dell'utente (oracle) corrente.
    -libDir Directory in cui viene memorizzata la libreria SBT. La directory deve esistere già prima di eseguire il comando. Questo parametro determina il download della libreria SBT più recente.
    -libDir ~/lib/ scarica il file libopc.so nella directory home dell'utente corrente, ad esempio /home/oracle/lib/libopc.so.
    -configfile Nome del file dei parametri di inizializzazione che verrà creato dallo strumento di installazione. I job RMAN vi faranno riferimento.
    -configfile ~/config crea il file nella directory home dell'utente corrente, ad esempio /home/oracle/config.
    -host L'URL dell'endpoint a cui inviare i backup:
    https://swiftobjectstorage.<region_name>.oraclecloud.com/v1/<object_storage_namespace>
    dove object_storage_namespace è lo spazio di nomi dello storage degli oggetti della tenancy. Per ulteriori informazioni, vedere Informazioni sugli spazi di nomi dello storage degli oggetti.
    Non aggiungere una barra dopo lo spazio di nomi dello storage degli oggetti.
    Per cercare il nome dell'area, vedere Aree e domini di disponibilità.

Configura RMAN

In questo argomento viene descritto come configurare RMAN in modo che utilizzi il bucket come destinazione di backup predefinita. Di seguito si presume che l'utente sia ancora connesso al sistema DB.

  1. Nel sistema DB impostare le variabili di ambiente ORACLE_HOME e ORACLE_SID utilizzando la utility oraenv.

    . oraenv
  2. Connettersi al database utilizzando RMAN.

    rman target /
  3. Configurare RMAN per l'uso del dispositivo SBT e puntare al file config creato durante l'installazione del modulo di backup. Qui viene mostrato un comando di esempio per un database versione 12.

    CONFIGURE CHANNEL DEVICE TYPE 'SBT_TAPE' PARMS
        'SBT_LIBRARY=/home/oracle/lib/libopc.so,
        SBT_PARMS=(OPC_PFILE=/home/oracle/config)';
  4. Configurare RMAN per l'uso di SBT_TAPE per impostazione predefinita. L'esempio seguente abilita il control file e lo spfile autobackup a SBT_TAPE e configura la cifratura. Ci sono altre impostazioni che possono essere applicate alla tua installazione, come la compressione, il numero di canali di backup e ripristino da utilizzare, i criteri di conservazione dei backup, i criteri di eliminazione dei log archiviati e altro ancora. Per ulteriori informazioni sulla scelta delle impostazioni appropriate, consultare la documentazione di Oracle Backup and Recovery relativa alla versione di Oracle in uso.

    CONFIGURE DEFAULT DEVICE TYPE TO SBT_TAPE;
    CONFIGURE BACKUP OPTIMIZATION ON;
    CONFIGURE CONTROLFILE AUTOBACKUP ON;
    CONFIGURE CONTROLFILE AUTOBACKUP FORMAT FOR DEVICE TYPE SBT_TAPE TO '%F';
    CONFIGURE ENCRYPTION FOR DATABASE ON;

Nota: i backup devono essere cifrati. Verrà specificata la cifratura quando si esegue un backup. Si riceverà un errore se un backup non viene cifrato.

Una volta completata la configurazione RMAN, è possibile utilizzare gli stessi comandi RMAN utilizzati regolarmente per i backup su nastro.

Backup del database

Questo argomento fornisce esempi di comandi di backup comunemente utilizzati.

  1. Impostare la cifratura del database:

    SET ENCRYPTION IDENTIFIED BY "password" ONLY;

    Si noti che questa impostazione non è permanente; è necessario impostarla per ogni nuova sessione RMAN.

  2. Eseguire il backup del database e dei log di archivio. Di seguito sono riportati alcuni comandi di esempio. Per ulteriori informazioni sulla scelta di una procedura di backup che soddisfi le proprie esigenze, consultare la documentazione di Oracle Backup and Recovery relativa alla versione di Oracle in uso. Assicurati di eseguire regolarmente il backup per ridurre al minimo la potenziale perdita di dati e includi sempre una copia dello spfile e del control file. Si noti che l'esempio riportato di seguito utilizza backup incrementali multisezione, che è una funzionalità introdotta in 12c. Quando si utilizza 11g, omettere la clausola section size.

    BACKUP INCREMENTAL LEVEL 0 SECTION SIZE 512M DATABASE PLUS ARCHIVELOG;
    BACKUP INCREMENTAL LEVEL 1 SECTION SIZE 512M DATABASE PLUS ARCHIVELOG;
    BACKUP INCREMENTAL LEVEL 1 CUMULATIVE SECTION SIZE 512M DATABASE PLUS ARCHIVELOG;
  3. Eseguire spesso il backup dei log di archivio per ridurre al minimo la potenziale perdita di dati e conservare più copie di backup come precauzione.

    BACKUP ARCHIVELOG ALL NOT BACKED UP 2 TIMES;

Al termine del job di backup, è possibile visualizzare i file di backup nel bucket nella console nella pagina Memorizzazione selezionando Storage degli oggetti.