Preparare i database Oracle per il servizio di backup e RE

Prima di iniziare, è consigliabile esaminare il servizio di backup e DR per Oracle.

Prima di poter eseguire il backup dei database Oracle, devi aggiungere il server Oracle come host al servizio di backup e DR. Affinché l'operazione funzioni, consulta Prerequisiti per il backup di un database Oracle e segui questi passaggi di preparazione.

Procedure di preparazione per i database Oracle
Passaggio Procedura di preparazione
1 Prepara i database Oracle in un ambiente Linux o
Prepara i database Oracle in un ambiente Windows
2 Preparati a eseguire il backup di un database Oracle con file di dati in un gruppo di dischi ASM
3 Prepara l'autenticazione del database Oracle
Attiva il monitoraggio delle modifiche ai blocchi del database (facoltativo)
Proteggi da un nodo Oracle Data Guard
Configura il failover trasparente RAC del backup RMAN su altri nodi
Compressione dei log di archivio Oracle
Configura i servizi di database Oracle per il bilanciamento del carico su più nodi
Applica patch a Oracle 12c

Prepara i database Oracle in un ambiente Linux

Prima di proteggere un database Oracle o se i job di protezione del database non vanno a buon fine, assicurati che le seguenti impostazioni siano corrette sul server di database Oracle.

  • Ogni database Oracle da proteggere deve essere attivo e in esecuzione. Ad esempio:

    database: actdb
    #ps -ef | grep pmon | grep -i actdb
    oracle   27688     1  0  2015 ?        00:26:24 ora_pmon_actdb
    
  • Il database deve essere in esecuzione in modalità di log di archivio. Per verificare che il database sia in esecuzione in modalità di log di archivio, accedi al server di database come utente Oracle OS e imposta la variabile di ambiente del database:

    export ORACLE_HOME=<oracle home path>
    (get this from /etc/oratab)
    export ORACLE_SID=<database instance name> (you can get this through
    ps -ef | grep pmon)
    export PATH=$ORACLE_HOME/bin:$PATH
    

    Accedi a sqlplus:

    #sqlplus / as sysdba
    #SQL> archive log list;
    Database log mode   Archive Mode
    Automatic archival        Enabled
    Archive destination        +FRA
    Oldest online log sequence     569
    Next log sequence to archive   570
    Current log sequence        570
    #SQL>
    
  • Il database deve utilizzare spfile. Verifica che il database sia in esecuzione con spfile:

    #sqlplus / as sysdba
    SQL> show parameter spfile
    NAME      TYPE   VALUE
    ------------------ ----------- ------------
    spfile      string  +DATA/ctdb/spfilectdb.ora
    
  • Per il database Oracle RAC, il file di controllo dello snapshot deve trovarsi in dischi condivisi. Per un database Oracle RAC in ASM, il file di controllo dello snapshot deve trovarsi su dischi condivisi.

    Per verificarlo, connettiti a RMAN ed esegui il comando show all. Configuralo se necessario:

        rman target /
    

    Poi in RMAN:

       show all
    

    I parametri di configurazione RMAN per il database con db_unique_name CTDB sono:

    CONFIGURE RETENTION POLICY TO REDUNDANCY 1; # default
    CONFIGURE BACKUP OPTIMIZATION OFF; # default
    CONFIGURE DEFAULT DEVICE TYPE TO DISK; # default
    CONFIGURE CONTROLFILE AUTOBACKUP OFF; # default
    CONFIGURE CONTROLFILE AUTOBACKUP FORMAT FOR DEVICE TYPE DISK TO '%F'; # default
    CONFIGURE DEVICE TYPE DISK PARALLELISM 1 BACKUP TYPE TO BACKUPSET; # default
    CONFIGURE SNAPSHOT CONTROLFILE NAME TO '/mnt/ctdb/snapcf_ctdb.f';
    

    Questo esempio mostra la configurazione impostata sul file system locale.

    In un ambiente RAC, questo valore deve essere impostato su ASM Disk Group condiviso. Per inserirlo nel gruppo di dischi ASM, utilizza:

    CONFIGURE SNAPSHOT CONTROLFILE NAME TO '+<DG name>/snap_<DB name>.f';
    

Preparati a eseguire il backup di un database Oracle con file di dati in un gruppo di dischi ASM

Disco di staging di Backup and RE su un gruppo di dischi ASM

Il parametro ASM diskstring deve essere impostato e non è null. Accedi al server di database come utente ASM OS e imposta la variabile di ambiente ASM:

    # export ORACLE_HOME=(oracle ASM home path)
    (get this from /etc/oratab)
    #export ORACLE_SID=(ASM instance name) (you
    can get this through ps ?ef | grep pmon)
    #export PATH=$ORACLE_HOME/bin:$PATH

Connessione a sqlplus:

    #sqlplus / as sysasm
    #sql> show parameter asm_diskstring
    NAME      TYPE   VALUE
    ------------------- ----------- ------------------------------
    asm_diskstring      string  ORCL:*, /dev/sdt1, /dev/sdu1

Se il risultato del valore è null, recupera il valore corretto della stringa del disco ASM per i dischi ASM esistenti prima di procedere con la protezione di Backup REDR. Il backup di Backup e RE aggiunge il percorso della stringa del disco (/dev/Backup and DR/asm/*) per il disco di staging del backup da mappare ad ASM.

Disco di staging di Backup and RE sul file system

Se proteggi un database Oracle ASM in un file system, l'opzione Converti ASM in file system deve essere impostata su in Dettagli e impostazioni dell'applicazione. Vedi Dettagli e impostazioni dell'applicazione per i database Oracle.

Prepara l'autenticazione del database Oracle

I seguenti passaggi di preparazione aggiuntivi sono necessari solo se prevedi di utilizzare l'autenticazione del database. L'autenticazione del database Oracle è descritta in Backup e RE con l'autenticazione del database.

  1. Segui i passaggi descritti in Preparare i database Oracle in un ambiente Linux.

  2. Crea un account utente del database per il backup di Backup e RE, se non fornito:

    create user act_rman_user identified by <password>;
    
  3. Concedi l'accesso sysdba a tutti i nodi RAC accedendo a sqlplus a tutti i nodi ed eseguendo:

    grant create session, resource, sysdba to act_rman_user;
    

    Per Oracle 12c, questo ruolo può essere sysbackup invece di of sysdba e il nome utente del database inizia con #.

  4. Verifica che il ruolo sysdba sia stato concesso su tutti i nodi dell'ambiente RAC:

    #sqlplus / as sysasm
    # sql> select * from gv$pwfile_users;
    INST_ID USERNAME SYSDB SYSOP SYSAS
    ---------- --------------  ----- ----- -----
    1 SYS TRUE TRUE FALSE
    2 SYS TRUE TRUE FALSE
    1 ACT_RMAN_USER TRUE TRUE FALSE
    2 ACT_RMAN_USER TRUE TRUE FALSE
    
  5. Testa il nome del servizio in base al tipo di ambiente utilizzando le seguenti istruzioni:

Crea e verifica il nome del servizio Oracle in un ambiente non RAC

Il nome del servizio Oracle viene utilizzato solo per l'autenticazione del database. Non è necessario per l'autenticazione del sistema operativo.

Esempio: Nome database: dbstd, Nome istanza: dbstd

  1. Se il nome del servizio Oracle non è elencato, crea la voce del nome del servizio nel file tnsnames.ora in $ORACLE_HOME/network/admin o in $GRID_HOME/network/admin aggiungendo la voce:

    act_svc_dbstd =
    (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST
    = (IP of the database server)(PORT = 1521))
    (CONNECT_DATA =
    (SERVER = DEDICATED)
    (SERVICE_NAME = dbstd)
    ) )
    

    Se il file tnsnames.ora si trova in una posizione non standard, fornisci il percorso assoluto nella sezione Dettagli e impostazioni dell'applicazione, come descritto in Dettagli e impostazioni dell'applicazione per i database Oracle.

  2. Testa la voce del nome del servizio per il database per assicurarti che sia configurata:

    Accedi come utente Oracle OS e imposta l'ambiente Oracle:

    TNS_ADMIN=(tnsnames.ora file location)
    tnsping act_svc_dbstd
    
  3. Controlla l'account utente del database per assicurarti che il backup di Backup e RE possa connettersi:

    sqlplus act_rman_user/act_rman_user@act_svc_dbstd as sysdba
    
  4. Fornisci il nome del servizio creato (act_svc_dbstd) nell'impostazione Nome servizio Oracle in Dettagli e impostazioni dell'applicazione come descritto in Dettagli e impostazioni dell'applicazione per i database Oracle.

Crea e verifica il nome del servizio Oracle in un ambiente RAC

Il nome del servizio Oracle viene utilizzato solo per l'autenticazione del database. Non è necessario per l'autenticazione del sistema operativo.

Esempio di RAC a tre nodi:

  • Nome database: dbrac

  • Nome istanza 1: dbrac1

  • Nome istanza 2: dbrac2

  • Nome istanza3: dbrac3 con la protezione del database impostata da Node3 (nome istanza dbrac3):

  1. Crea una voce servicename nel file tnsnames.ora in $ORACLE_HOME/network/admin o in $GRID_HOME/network/admin aggiungendo la seguente voce:

    act_svc_dbrac3 =
    (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = (IP of the database server)(PORT = 1521))
    (CONNECT_DATA =
    (SERVER = DEDICATED)
    (INSTANCE_NAME = dbrac3)
    (SERVICE_NAME = dbrac)
    ) ) )
     Where:
     HOST = This can be SCAN IP in a RAC environment or VIP or IP of the node 3 database server.
    SERVICE_NAME = database name
    INSTANCE_NAME = database instance name on node3
    
  2. Testa il nome del servizio:

    Accedi come utente Oracle OS e imposta l'ambiente Oracle:

    TNS_ADMIN=(tnsnames.ora file location)
    tnsping act_svc_dbrac3
    
  3. Controlla l'account utente del database per assicurarti che il backup di Backup and RE possa connettersi:

    sqlplus act_rman_user/act_rman_user@act_svc_dbrac3 as sysdba
    
  4. Fornisci il nome del servizio creato (act_svc_dbrac3) nell'impostazione Nome servizio Oracle in Dettagli e impostazioni dell'applicazione descritti in Dettagli e impostazioni dell'applicazione per i database Oracle.

    Se il file tnsnames.ora si trova in una posizione non standard, fornisci il percorso assoluto del file tnsnames.ora nell'impostazione TNS_Admin Percorso Oracle in Dettagli e impostazioni dell'applicazione descritta in Dettagli e impostazioni dell'applicazione per i database Oracle

(Facoltativo) Abilita il monitoraggio delle modifiche dei blocchi del database

Il monitoraggio delle modifiche dei blocchi del database è descritto in Monitoraggio delle modifiche dei blocchi (BCT) del database Oracle

Per verificare se il monitoraggio delle modifiche dei blocchi del database è abilitato:

sqlplus / as sysdba

Nel prompt SQL:

select * from v$block_change_tracking;

Se il monitoraggio delle modifiche dei blocchi di database non è abilitato, abilitalo da sqlplus:

Utilizzo del gruppo di dischi ASM

sqlplus / as sysdba

Nel prompt SQL:

alter database enable block change tracking using file '+<ASM Disk Group Name>/<database name>/<dbname>.bct';

Utilizzo del file system

sqlplus / as sysdba

Nel prompt SQL:

alter database enable block change tracking using file '$ORACLE_HOME/dbs/<dbname>.bct';

Proteggere da un nodo Oracle Data Guard

Puoi proteggere un database Oracle dai nodi del database primario o dai nodi di standby di Oracle Data Guard. Se la protezione è impostata da un nodo Oracle Data Guard, assicurati di impostare le credenziali del nodo primario in Dettagli e impostazioni dell'applicazione nella console di gestione.

Per l'autenticazione del database (solo Linux)

  • Nome utente/password: le credenziali dell'account utente del database. Affinché questo account utente sia disponibile sul nodo Data Guard con accesso sysdba, l'utente deve essere creato con il privilegio sysdba nel nodo primario (vedi Creazione dell'account utente di backup con accesso sysdba). Quindi, il file della password (in $ORACLE_HOME/dbs/) del nodo primario deve essere copiato nel nodo Data Guard.

Per l'autenticazione del sistema operativo

  • Nome utente/password: in Autenticazione SO, il privilegio sysdba non è richiesto. Questo account utente del database ha bisogno del privilegio connect, alter system. Affinché questo account utente sia disponibile sul nodo Data Guard, l'utente deve essere creato sul nodo primario.

Se l'utente non dispone del ruolo sysdba, ha bisogno di grant connect, alter system, select on dba_tablespaces.

Per concedere questi privilegi, al prompt SQL:

    grant connect, alter system, select on dba_tablespaces to act_rman_user;
  • Oracle Data Guard Primary Node Servicename: questo è il nome del servizio nel file tnsnames.ora configurato sul nodo Data Guard per connettersi al nodo primario dal nodo di standby. Il nome del servizio del nodo primario di Oracle Data Guard è obbligatorio sia per l'autenticazione del sistema operativo che del database se il backup è configurato dal nodo di standby Data Guard.

Per informazioni dettagliate su tutti i dettagli e le impostazioni, vedi Dettagli e impostazioni dell'applicazione per i database Oracle

Nodo database Autenticazione del sistema operativo Autenticazione database
Principale Non sono necessarie credenziali del database. Sono necessarie le credenziali del database. Se non viene selezionato alcun ruolo, viene utilizzato sysdba.
Standby Le credenziali del database sono necessarie anche per l'autenticazione del sistema operativo (per connettersi al log di commutazione principale). Le credenziali del database non devono avere un ruolo sysdba/sysbackup. Se viene utilizzato un account sysdba/sysbackup, imposta il ruolo utente in Ruolo utente nel database in Dettagli e impostazioni dell'applicazione. Sono necessarie le credenziali del database. Le credenziali del database devono essere per il ruolo sysdba o sysbackup e il ruolo utente nel database deve essere impostato su sysdba o sysbackup in Dettagli e impostazioni dell'applicazione. Per configurare l'autenticazione del database, vedi Attivare l'autenticazione del database per un server Oracle.

Configura il failover trasparente RAC del backup RMAN ad altri nodi

L'agente Backup and RE deve essere installato ed eseguito su tutti i nodi che prevedi di includere nella configurazione di failover del backup. La protezione viene configurata da un solo nodo.

In Dettagli e impostazioni, Nodi del cluster, specifica la scelta del nodo di failover in un ambiente Oracle RAC:

    <Failover choice>:<Node IP>:<Servicename>:<Role>

Dove:

  • Scelta di failover:l'ordine dei nodi in cui eseguire il failover.

  • IP nodo:l'indirizzo IP del nodo in cui vuoi eseguire il backup

  • Servicename:il nome del servizio creato e specificato nel file tnsnames.ora per il backup RMAN di Backup e DR. Può trattarsi di un nuovo servizio dedicato creato per il backup di Backup e RE o del nome SID (nome dell'istanza) del database su quel nodo.

  • Ruolo:F, che indica che si tratta di un nodo di failover

Per creare un nuovo nome servizio sul nodo di failover in tnsnames.ora file ($ORACLE_HOME/network/admin/tnsnames.ora o in $GRID_HOME/network/admin/tnsnames.ora)

Esempio in un ambiente Oracle One Node

RAC One Node è costituito da due nodi:

172.15.157.200
172.15.157.201

Ha un database OneN in esecuzione solo su uno dei nodi in un determinato momento. OneN è protetto da 172.15.157.200, con le impostazioni del nodo del cluster specificate come 1:172.15.157.201:OneN:F

Se OneN esegue il failover su 172.15.157.201, il backup di Backup and RE lo segue e avvia il successivo job di backup da 172.15.157.201 anziché da 200. Se il failover si verifica a metà di un job di backup, il job non va a buon fine e il job successivo utilizza il nodo di failover per avviare un nuovo backup.

Esempio in un ambiente Oracle, non un nodo:

  • RAC a 2 nodi (dbrac1, dbrac2)

  • La protezione è impostata utilizzando il nome del database "dbrac" da dbrac1 e il failover deve essere impostato su dbrac2

  • Nome del servizio sul nodo 2: act_svc_dbrac2

  • IP nodo 2 o IP di scansione: 172.1.1.0

act_svc_node2 =

  (DESCRIPTION =
  (ADDRESS = (PROTOCOL = TCP)(HOST = 172.1.1.0)(PORT = 1521))
  (CONNECT_DATA =
  (SERVER = DEDICATED)
  (INSTANCE_NAME = dbrac2)
  (SERVICE_NAME = dbrac)
  ) )

Nella sezione Dettagli e impostazioni dell'applicazione, le voci dei nodi del cluster sono le seguenti:

Failoverchoice:NodeIP:Servicename:Role

1:172.1.1.1:act_svc_node2:F

Il comportamento delle voci F e M dei nodi del cluster

F: Nodo di failover, partecipa solo quando il nodo di protezione non per eseguire il backup.

M: Nodo di manutenzione, sostituisce il nodo di protezione se convalidato per poter eseguire il backup.

Compressione dei log di archivio Oracle

Il backup dei log di archivio di Backup e RE supporta la compressione del set di backup dei log Oracle. Il tipo di compressione selezionato dipende da queste impostazioni di configurazione RMAN. Seleziona un'opzione in base al tuo caso d'uso.

  • I rapporti di compressione più bassi hanno un impatto minimo sulla velocità effettiva del backup. Questi sono più adatti agli ambienti in cui le risorse CPU sono il fattore limitante.

  • La compressione media è consigliata per la maggior parte degli ambienti. Questi forniscono una buona combinazione di rapporti di compressione e velocità.

  • I rapporti di compressione elevati richiedono molte risorse e sono più adatti per i backup su reti più lente in cui il fattore limitante è la velocità della rete.

L'impostazione predefinita è Base. Basic non richiede Oracle Advanced Compression.

Per controllare il tipo di compressione impostato nell'ambiente, esegui il comando show all dal prompt RMAN:

rman target /

    show all

Configura i servizi di database Oracle per il bilanciamento del carico su più nodi

Questa procedura si applica solo ai database Oracle ASM. In questo esempio, supponiamo un ambiente RAC a quattro nodi; i nodi 3 e 4 devono essere bilanciati per l'utilizzo del backup.

Vedi:

Il bilanciamento del carico tra i nodi Oracle RAC richiede l'autenticazione del database Oracle.

Configura la copia parallela delle immagini RMAN da più nodi

In un ambiente RAC, puoi configurare il backup in modo che venga eseguito in parallelo da più nodi.

  1. Installa l'agente Backup e RE su tutti i nodi.

  2. Configura la mappatura del gruppo di dischi ASM ai nodi 3 e 4 utilizzando i dettagli e le impostazioni dell'applicazione.

  3. Crea un servizio di database utilizzando srvctl per l'esecuzione dai nodi 3 e 4.

  4. Utilizza questo servizio per specificare i dettagli e le impostazioni dell'applicazione in Dettagli e impostazioni dell'applicazione. Scegli Numero di canali in Impostazioni avanzate (# di canali). RMAN distribuisce i canali tra il nodo 3 e il nodo 4.

  5. Imposta il nome del servizio Oracle e i nodi membri RAC.

Configura i servizi di database Oracle per il bilanciamento del carico su più nodi

  1. Configura in Dettagli e impostazioni dell'applicazione, Nodi membri RAC: IP di node3 e IP di node4.

  2. Crea un servizio di database per il nodo di manutenzione da utilizzare da Backup e RE per il backup:

    srvctl add service -d <dbname> -s act_service_<dbname>
    -r <dbinstance3>,<dbinstance4> srvctl start service -d <dbname>
    -s act_service_<dbname>
    
  3. Aggiungi la voce tns per il nome del servizio Oracle creato sui nodi di backup (dbinstance3 e dbinstance4 in questo esempio) nel file tnsnames.ora ($ORACLE_HOME/network/admin/tnsnames.ora o $GRID_HOME/network/admin/tnsnames.ora)

    act_service_<dbname> =
    (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = <SCAN IP>)(PORT = 1521))
    (CONNECT_DATA =
    (SERVER = DEDICATED)
    (SERVICE_NAME = <DATABASE NAME>)
    ) )
    
  4. Testa il nome del servizio creato:

    tnsping actservice

  5. Testa il nome del servizio e le credenziali utente:

    sqlplus act_rman_user/act_rman_user@act_service_<dbname> as sysdba
    
  6. Specifica questo nome del servizio in Dettagli e impostazioni dell'applicazione nome del servizio Oracle.

  7. Crea un servizio di backup dei log di archivio dedicato su un nodo protetto (ad es. il nodo 3) da utilizzare per il backup:

    srvctl add service -d <dbname> -s act_arc_service_<dbname> -r <dbinstance3>
    srvctl start service -d <dbname> -s act_arc_service_<dbname>
    
  8. Aggiungi la voce tns per il nome del servizio di backup dei log di archivio creato nel file tnsnames.ora ($ORACLE_HOME/network/admin/tnsnames.ora o in $GRID_HOME/network/admin/tnsnames.ora)

    act_arc_service_<dbname> =
    (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = <SCAN IP>)(PORT = 1521))
    (CONNECT_DATA =
    (SERVER = DEDICATED)
    (INSTANCE_NAME = <node 3 instance>)
    (SERVICE_NAME = act_arc_service_<dbname>)
    ) )
    
  9. Testa il nome del servizio:

    tnsping act_archservice

  10. Specifica questo nome del servizio nel log di archivio Dettagli e impostazioni dell'applicazione backup del nome del servizio.

Applica patch a Oracle 12c

I montaggi sensibili alle applicazioni di backup e RE potrebbero non riuscire se l'installazione di Oracle 12c non include questa patch, che può essere scaricata dal portale di assistenza Oracle:

Bug di Oracle Database 12c n. 19404068 (ORA-1610 ON RECOVER DATABASE FOR CREATED CONTROLFILE)

  • (Patch 19404068) Linux x86-64 per Oracle 12.1.0.2.0

Per verificare se la patch è installata, esegui:

    $cd $ORACLE_HOME/OPatch
    $./opatch lsinventory -details
    $./opatch lsinventory -details | grep 19404068

Passaggi successivi

Prima di aggiungere l'host Oracle, continua con:

  1. (Facoltativo) Utilizzare Oracle Direct NFS con Backup e DR
  2. Patch Oracle e problemi noti

Guida per l'amministratore del database Oracle