Preparare i database Oracle per il servizio di backup e RE

Prima di iniziare, ti consigliamo di consultare la pagina relativa al servizio di backup e RE per Oracle.

Prima di poter eseguire il backup dei database Oracle, devi aggiungere il server Oracle come host al servizio di backup e RE. Affinché ciò funzioni, consulta i prerequisiti per il backup di un database Oracle e poi 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 Preparare il backup di un database Oracle con file di dati su un gruppo di dischi ASM
3 Prepara l'autenticazione del database Oracle
Attiva il monitoraggio delle modifiche ai blocchi del database (facoltativo)
Protezione da un nodo Oracle Data Guard
Configura il failover trasparente RAC del backup RMAN su altri nodi
Compressione dei log dell'archivio Oracle
Configura i servizi di database Oracle per il bilanciamento del carico su più nodi
Esegui la patch di Oracle 12c

Preparare 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 funzionante. 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à log di archivio. Per verificare che il database sia in esecuzione in modalità log di archivio, accedi al server di database come utente OS Oracle 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 dell'istantanea deve trovarsi nei dischi condivisi. Per un database Oracle RAC in ASM, il file di controllo degli snapshot deve trovarsi nei dischi condivisi.

    Per verificare, 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 Gruppo di dischi ASM condiviso. Per inserirlo nel gruppo di dischi ASM, utilizza:

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

Prepararsi a eseguire il backup di un database Oracle con file di dati su un gruppo di dischi ASM

Disco di staging di backup e RE in un gruppo di dischi ASM

Il parametro diskstring dell'ASM deve essere impostato e non deve essere null. Accedi al server di database come utente del sistema operativo ASM 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

Connettiti 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, ottieni il valore corretto della stringa del disco ASM per i dischi ASM esistenti prima di procedere con la protezione di backup e RE. 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 per il backup e la RE sul file system

Se stai proteggendo un database Oracle ASM in un file system, Converti ASM in file system deve essere impostato su in Dettagli e impostazioni dell'applicazione. Consulta 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 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 è stato fornito:

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

    grant create session, resource, sysdba to act_rman_user;
    

    Per Oracle 12c, questo ruolo può essere sysbackup anziché 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 di servizio Oracle viene utilizzato solo per l'autenticazione del database. Non è necessaria 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 in 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 collegarsi:

    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 è necessaria per l'autenticazione del sistema operativo.

Esempio di RAC a tre nodi:

  • Nome del 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 e 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) in corrispondenza dell'impostazione Nome servizio Oracle in Dettagli e impostazioni dell'applicazione descritta 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 del percorso TNS_Admin

(Facoltativo) Attiva il monitoraggio delle modifiche ai blocchi del database

Il monitoraggio dei blocchi di modifica del database è descritto in Monitoraggio dei blocchi di modifica del database Oracle (BCT)

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

sqlplus / as sysdba

Al prompt SQL:

select * from v$block_change_tracking;

Se il monitoraggio delle modifiche ai blocchi del database non è abilitato, abilitalo da sqlplus:

Utilizzo del gruppo di dischi ASM

sqlplus / as sysdba

Al 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

Al prompt SQL:

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

Protezione 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 principale 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, deve essere creato con il privilegio sysdba sul nodo principale (vedi la creazione dell'account utente di backup con accesso sysdba). Quindi, il file della password (in $ORACLE_HOME/dbs/) del nodo principale deve essere copiato nel nodo Data Guard.

Per l'autenticazione del sistema operativo

  • Nome utente/password: in Autenticazione OS, 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 principale.

Se l'utente non dispone del ruolo sysdba, deve disporre del privilegio 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;
  • Nome servizio del nodo principale Oracle Data Guard: si tratta del nome servizio nel file tnsnames.ora configurato sul nodo Data Guard per connettersi al nodo principale dal nodo di standby. Il nome del servizio del nodo principale Oracle Data Guard è obbligatorio sia per l'autenticazione del sistema operativo sia per quella del database se il backup è configurato dal nodo di standby Data Guard.

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

Nodo del database Autenticazione del sistema operativo Autenticazione del 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 principale per passare all'altro). Le credenziali del database non devono avere il 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 Ruolo utente nel database deve essere impostato su sysdba o sysbackup in Dettagli e impostazioni dell'applicazione. Per configurare l'autenticazione del database, consulta Attivare l'autenticazione del database per un server Oracle.

Configura il failover trasparente di RAC del backup RMAN su altri nodi

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

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

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

Dove:

  • Scelta del failover:l'ordine del nodo in cui eseguire il failover.

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

  • Nome servizio:il nome del servizio creato e specificato in tnsnames.ora per il backup RMAN di Backup e DR. Può essere un nuovo servizio dedicato creato per il backup di Backup e RE o il 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 nel nodo di failover nel file tnsnames.ora ($ORACLE_HOME/network/admin/tnsnames.ora o $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 node 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 e RE lo segue e avvia il successivo job di backup da 172.15.157.201 anziché da 200. Se il failover si verifica nel mezzo 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 in 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 su node2: act_svc_dbrac2

  • IP del nodo 2 o IP di ricerca: 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)
  ) )

In 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 dei nodi del cluster F e M

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

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

Compressione dei log dell'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 l'impatto minore sul throughput del backup. Sono ideali per gli ambienti in cui le risorse della CPU rappresentano 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. Il livello di base 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, ipotizziamo un ambiente RAC a quattro nodi; i nodi 3 e 4 devono essere bilanciati in base al carico per l'utilizzo di backup.

Vedi:

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

Configurare 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 di Backup e RE su tutti i nodi.

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

  3. Crea un servizio di database utilizzando srvctl per eseguirlo dal nodo 3 e dal nodo 4.

  4. Utilizza questo servizio per specificare 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 membro RAC.

Configurare i servizi Oracle Database per il bilanciamento del carico su più nodi

  1. Configura in Dettagli e impostazioni dell'applicazione, Nodi membri RAC: IP del nodo 3 e IP del nodo 4.

  2. Crea un servizio di database per il nodo di manutenzione da utilizzare da parte di 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 (dbinstance3e 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 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 dell'archivio creato nel file tnsnames.ora ($ORACLE_HOME/network/admin/tnsnames.ora o $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 servizio in Dettagli e impostazioni dell'applicazione, nella sezione Archiviazione log nome servizio di backup.

Esegui la patch di Oracle 12c

I mount attenti 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:

Oracle Database 12c Bug# 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 il backup e la RE
  2. Patch di Oracle e problemi noti

La guida DBA di Oracle