Il diario Geek
Questo post copre i passaggi dettagliati per la creazione di un database di standby fisico su un normale file system utilizzando RMAN per un database primario in ASM.
Panoramica
Qui il database di standby può essere creato utilizzando i seguenti 2 metodi:
- Ripristino e ripristino normali utilizzando RMAN.
- Creazione di un database duplicato per lo standby utilizzando RMAN.
Metodo 1
- Eseguire il backup del database primario ASM (file di dati, file di controllo per standby e Archivelogs)
- Rendere i pezzi di backup disponibili sul server Standby.
- Crea il file dei parametri e il file della password in standby.
- Configurare Oracle net services su entrambi i server.
- Eseguire il ripristino e il ripristino nel database di standby.
- Configurare il database primario per trasferire gli archivi in standby.
- Avvia il Redo apply mettendo il database in modalità Recover managed.
Metodo 2
Utilizzare la funzione RMAN Duplicate per creare il database di standby. I passaggi per realizzare lo stesso sono delineati nel seguente post.
Metodo 1 – Ripristino e ripristino normali utilizzando RMAN
1. Eseguire il backup del database primario ASM (file di dati, file di controllo per standby & Archivelogs )
$ rman target / RMAN> backup database format '/backup/database_%U.bkp';RMAN> backup archivelog all format '/backup/archivelog_%U.bkp';RMAN> backup current controlfile for standby format '/backup/stdb_cntl_%U.bkp';
2. Rendere i pezzi di backup disponibili sul server di standby:
– FTP o SCP i pezzi di backup al server di standby. Mentre fai FTP assicurati di farlo solo in modalità binaria. OPPURE
– NFS mount quindi montare l’NFS sul server standby con lo stesso nome montato sul database primario. O
3. Creare il file di parametri & file di password in standby. Copiare il file dei parametri del database primario e apportare le modifiche necessarie:
db_unique_name='stnd_db'instance_name='stnd_db'standby_archive_dest=''db_file_name_convert='+DATA/prim_db/datafile/', '/u01/oradata/stnd_db/', '+DATA/prim_db/tempfile/', '/u01/oradata/stnd_db/' log_file_name_convert='+DATA/prim_db/onlinelog/', '/u01/oradata/stnd_db/'
Creare il file di password per il database di standby con la stessa password di primary
$ export ORACLE_SID=stand_db $ orapwd file=orapwstand_db password=oracle
4. Configurare Oracle net Services su entrambi i server
In standby server - configure listener.In Primary server - configure tnsnames for standby. - check connectivity using tnsping.
5. Eseguire il ripristino e il ripristino nel database di standby. Avvio Nomount l’istanza standby e ripristinare il controlfile standby dal backup del ‘controlfile standby’ eseguita nel passaggio 1.
$ export ORACLE_SID=stnd_db$ rman target /RMAN> restore standby controlfile from '/backup/stdb_cntl_3oqff2fb_.bkp';
– È necessario utilizzare l’opzione ‘standby controlfile’ come
RMAN> RESTORE STANDBY CONTROLFILE from ...
else convert parametro DB_FILE_NAME_CONVERT NON viene utilizzato.
RMAN> REPORT SCHEMA ; ( or sql> select name from v$datafile ; )
Montare il database
RMAN> Alter database mount;
Se i pezzi di backup si trovano esattamente nella stessa struttura di directory o se la struttura di directory è montata su NFS sul server standby, ripristinare direttamente il database altrimenti se i pezzi di backup si trovano in una posizione diversa, è necessario catalogarli manualmente. Biru:
RMAN> catalog backuppiece '/backup/database_2x21kd12.bkp';
Per ulteriori informazioni sulla catalogazione opzioni di consultare il post qui sotto:
Ripristinare il Database
Ripristinare il database utilizzando la seguente sintassi(Uso di impostare newname)
RMAN> run { set newname for datafile 1 to '': Set newname for datafile 2 to ''; . . restore database; Switch datafile all; }
Ripristinare il database
conoscere l’ultima sequenza disponibile in archivelog di backup utilizzando il comando riportato di seguito.Questo ci aiuterà a recuperare il database fino a quel archivelog.
RMAN > list backup of archivelog all;
Supponiamo che l’ultima sequenza dell’ultimo archivelog nel backup sia 50. Poiché stiamo recuperando il database qui fino alla sequenza archivelog 50 il numero di sequenza nella clausola UNTIL SEQUENCE dovrebbe essere 50 (+1)
RMAN> Recover database until sequence 51;
6. Configurare il database primario per trasferire gli archivi in standby. Impostare il seguente parametro nel database primario:
log_archive_dest_2='SERVICE=stnd_db'
Eseguire un interruttore di registro e assicurarsi che gli archivi vengano trasferiti alla destinazione standby.
7. Avvia il Redo apply mettendo il database in modalità Recover managed. Nel database Standby avviare il processo di ripristino gestito:
SQL> Recover managed standby database disconnect from session;