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.
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 conspfile
:#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 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 con autenticazione del database.
Segui i passaggi descritti in Preparare i database Oracle in un ambiente Linux.
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>;
Concedi a
sysdba
l'accesso a tutti i nodi RAC accedendo asqlplus
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 #.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
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
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 OracleTesta 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
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
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 istanzadbrac3
):
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
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
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
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 sudbrac2
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:
Configurare la copia di immagini RMAN in parallelo da più nodi
Configura i servizi di database Oracle per il bilanciamento del carico su più nodi
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.
Installa l'agente di Backup e RE su tutti i nodi.
Configura la mappatura del gruppo di dischi ASM al nodo 3 e al nodo 4 utilizzando i dettagli e le impostazioni dell'applicazione.
Crea un servizio di database utilizzando srvctl per eseguirlo dal nodo 3 e dal nodo 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.
Imposta il nome del servizio Oracle e i nodi membro RAC.
Configurare i servizi Oracle Database per il bilanciamento del carico su più nodi
Configura in Dettagli e impostazioni dell'applicazione, Nodi membri RAC: IP del nodo 3 e IP del nodo 4.
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>
Aggiungi la voce tns per il nome del servizio Oracle creato sui nodi di backup (
dbinstance3
edbinstance4
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>) ) )
Testa il nome del servizio creato:
tnsping actservice
Testa il nome del servizio e le credenziali utente:
sqlplus act_rman_user/act_rman_user@act_service_<dbname> as sysdba
Specifica questo nome del servizio in Dettagli e impostazioni dell'applicazione Nome servizio Oracle.
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>
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>) ) )
Testa il nome del servizio:
tnsping act_archservice
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:
La guida DBA di Oracle
Recupero istantaneo di un database Oracle utilizzando Mount and Migrate
Eseguire il provisioning di un ambiente con un flusso di lavoro di backup e RE