Prepara i database Oracle per Backup e RE su un'appliance di backup/ripristino

Prima di iniziare, è consigliabile consultare Backup e RE per Oracle.

Prima di poter eseguire il backup dei database Oracle, devi aggiungere il server Oracle come host a Backup e RE. Per farlo, consulta i 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 su un gruppo di dischi ASM
3 Prepara l'autenticazione del database Oracle
Abilita 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 archiviazione 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 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 archiviazione. Per verificare che il database sia in esecuzione in modalità log di archiviazione, accedi al server di database come utente del sistema operativo 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>
export PATH=$ORACLE_HOME/bin:$PATH
 Login to sqlplus:
sqlplus / as sysdba
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
 Note: If archive log mode is not enabled then get archive mode enabled
 before proceeding.
  • Il database deve utilizzare spfile. Verifica che il database sia in esecuzione con spfile:
sqlplus / as sysdba
show parameter spfile
NAME      TYPE   VALUE
------------------ ----------- ------------
spfile      string  +DATA/ctdb/spfilectdb.ora
 Note: If the value is `null_` then
 get the spfile set. Backup and DR supports backing up using pfile as well.
 pfile should be available in default location. For example, a
 Linux `pfile` should be located under `$ORACLE_HOME/dbs`.
  • Per il database Oracle RAC, il file di controllo degli snapshot deve trovarsi in dischi condivisi. Per un database Oracle RAC in ASM, il file di controllo degli snapshot deve trovarsi in dischi condivisi.

    Per verificarlo, connettiti a RMAN ed esegui il comando show all. Se necessario, configuralo:

    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';
 This example shows the configuration set to the local file system.

 In a RAC environment, this must be set to shared ASM Disk Group. To put it
 on the ASM Disk Group, use:

```bash
CONFIGURE SNAPSHOT CONTROLFILE NAME TO '+(disk group name)/snap_(database name).f';
```

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

Disco di gestione temporanea di Backup e RE su un gruppo di dischi ASM

Il parametro ASM diskstring deve essere impostato e non deve essere null. Accedi al server del 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)
export PATH=$ORACLE_HOME/bin:$PATH

Connettiti a sqlplus:

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

Se il risultato del valore è null, recupera il valore della stringa del disco ASM corretto 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 gestione temporanea del backup da mappare ad ASM.

Disco di gestione temporanea di Backup e RE sul file system

Se stai proteggendo un database Oracle ASM in un file system, l'opzione Converti ASM in file system deve essere impostata su Sì 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 utilizzando l'autenticazione del database.

  1. Segui i passaggi descritti in Prepara 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>;
  1. 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 #.

  1. Verifica che il ruolo sysdba sia stato concesso su tutti i nodi nell'ambiente RAC:
sqlplus / as sysasm
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
  1. 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 in Dettagli e impostazioni dell'applicazione, come descritto in Dettagli e impostazioni dell'applicazione per i database Oracle

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

    Accedi come utente del sistema operativo Oracle e imposta l'ambiente Oracle:

TNS_ADMIN=(tnsnames.ora file location)
tnsping act_svc_dbstd
  1. 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
  1. 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 istanza1: dbrac1

  • Nome istanza2: dbrac2

  • Nome istanza3: dbrac3 con protezione del database impostata da Nodo3 (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
  1. Testa il nome del servizio:

    Accedi come utente del sistema operativo Oracle e imposta l'ambiente Oracle:

TNS_ADMIN=(tnsnames.ora file location)
tnsping act_svc_dbrac3
  1. 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
  1. Specifica il nome del servizio creato (act_svc_dbrac3) nell'impostazione Nome servizio Oracle in Dettagli e impostazioni dell'applicazione descritto 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 Oracle TNS_Admin Path in Dettagli e impostazioni dell'applicazione descritta in Dettagli e impostazioni dell'applicazione per i database Oracle

Abilita il monitoraggio delle modifiche ai blocchi del database (facoltativo)

Il monitoraggio delle modifiche ai blocchi del database è descritto in Oracle Database Block Change Tracking (BCT)

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

sqlplus / as sysdba

Nel prompt sql:

select * from v$block_change_tracking;

Se il monitoraggio delle modifiche dei blocchi del 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';

Proteggi 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 dell'appliance.

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 (consulta la sezione sulla creazione di un account utente di backup con accesso sysdba). Quindi, il file delle password (in $ORACLE_HOME/dbs/) dal nodo primario deve essere copiato nel nodo Data Guard.

Per l'autenticazione del sistema operativo

  • Nome utente/password: in Autenticazione sistema operativo, il privilegio sysdba non è richiesto. Questo account utente del database richiede il 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 avere grant connect, alter system, select on dba_tablespaces.

Per concedere questi privilegi, nel prompt SQL:

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

Per informazioni complete 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 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 database primario per cambiare il log). 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, consulta Attivazione dell'autenticazione del database per un server Oracle.

Configura il failover trasparente RAC del backup RMAN su altri nodi

L'agente di Backup e RE deve essere installato e in esecuzione 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 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 di servizio sul 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 è composto 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 e RE lo segue e avvia il job di backup successivo da 172.15.157.201 anziché da 200. Se il failover si verifica nel mezzo di un job di backup, il job non riesce e il job successivo utilizza il nodo di failover per avviare un nuovo backup.

Esempio in un ambiente Oracle, non One Node:

  • 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 Node2 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)
      ) )

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

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 deve eseguire il backup.

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

Compressione dei log di archiviazione Oracle

Il backup del log di archiviazione di Backup e RE supporta la compressione del set di backup del log Oracle. Il tipo di compressione selezionato dipende da queste impostazioni di configurazione di 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. Sono ideali per ambienti in cui le risorse della CPU sono il fattore limitante.

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

  • I rapporti di compressione elevati richiedono un uso intensivo delle risorse e sono più adatti per i backup su reti più lente, dove il fattore limitante è la velocità della rete.

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

Per verificare il tipo di compressione impostato nell'ambiente, esegui il comando show all dal prompt di 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 di immagini RMAN parallele 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 Dettagli e impostazioni dell'applicazione.

  3. Crea un servizio di database utilizzando srvctl per l'esecuzione dal nodo 3 e dal nodo 4.

  4. Utilizza questo servizio per specificare in Dettagli e impostazioni dell'applicazione. Scegli il numero di canali in Impostazioni avanzate (N. 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 Oracle Database Services per il bilanciamento del carico su più nodi

  1. In Dettagli e impostazioni dell'applicazione, configura i nodi membri RAC: IP del nodo 3 e IP del nodo 4.

  2. Crea un servizio di database per il nodo di manutenzione che verrà utilizzato 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>
  1. Aggiungi la voce tns per il nome del servizio Oracle creato sui nodi di backup (nodo 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>)
) )
  1. Testa il nome del servizio creato:
tnsping act_service_<dbname>
  1. Testa il nome del servizio e le credenziali utente:
sqlplus act_rman_user/act_rman_user@act_service_<dbname> as sysdba
  1. Specifica questo nome del servizio in Dettagli e impostazioni dell'applicazione Nome del servizio Oracle.

  2. Crea un servizio di backup dei log di archiviazione 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>
  1. Aggiungi la voce tns per il nome del servizio di backup del log di archiviazione 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>)
) )
  1. Testa il nome del servizio:
tnsping act_arch_service_<dbname>
  1. Specifica questo nome del servizio in Dettagli e impostazioni dell'applicazione Nome del servizio di backup del log di archiviazione.

Patch 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:

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) Utilizza Oracle Direct NFS con Backup e DR
  2. Patch e problemi noti di Oracle

The Oracle DBA Guide