Quando si esegue il ripristino di un database su un server alternativo mediante RMAN direttamente, i seguenti requisiti dovranno essere soddisfatti:
Ad esempio, considerare il seguente scenario:
Nota: Nello scenario utilizzato per la procedura riportata di seguito si presuppone che il database di cui è stato eseguito il backup da <Server-A> verrà ripristinato su <Server-B> e che il nome del database verrà conservato. Si presuppone, inoltre, che la struttura di directory degli host di origine e di destinazione sia diversa. Si presuppone inoltre l'utilizzo di Oracle 10gR2.
Per ripristinare un database su un server alternativo, eseguire le fasi seguenti:
src:/opt/oracle/10gR2:N
Esempio:
$cd $ORACLE_BASE/admin $mkdir src $mkdir adump bdump cdump dpdump pfile udump $mkdir -p $ORACLE_BASE/oradata/src $mkdir -p $ORACLE_BASE/flash_recovery_area/SRC
# /opt/CA/ABoraagt/orasetup
Quando orasetup richiede di utilizzare un catalogo di gestione ripristino per la gestione dei backup di database, specificare 'y'.
Are you planning on using a Recovery Manager catalog to handle database backups (Recommended)? (Y/N) Y
Quando orasetup richiede di specificare il nome dell'istanza Oracle, specificare l'ID dell'istanza originale.
Oracle instance id to be used by this agent [<Enter> to end]: src Valore ambiente ORACLE_HOME per l'istanza di Oracle: (default:/opt/oracle/10gR2):
Quando orasetup richiede di specificare il nome del servizio della gestione recuperi, specificare il nome TNS configurato per il database di catalogo RMAN.
Since you have configured the Recovery Manager, please provide the Recovery Manager service name for database src. Recovery Manager service name : catdb
# Node where the original backup was made from SBT_ORIGINAL_CLIENT_HOST=Server-A.
Connettersi all'istanza del database di origine (src) come utente sysdba.
$ sqlplus "/ as sysdba" Generate pfile from spfile. SQL>create pfile from spfile;
Un file denominato init<$ORACLE_SID>.ora viene creato nel percorso $ORACLE_HOME/dbs. Copiare il file nello stesso percorso localizzato sul Server-B di destinazione alternativa.
Supporre che il nome del database esistente sia 'tmpdb'.
Creare il file pfile a partire dal file spfile per il database tmpdb.
Connettersi all'istanza del database tmpdb come utente sysdba.
$export ORACLE_SID=tmpdb $sqlplus "/ as sysdba" Generate pfile from spfile. SQL> create pfile from spfile;
Il file inittmpdb.ora viene creato nel percorso ORACLE_HOME/dbs. Copiare il file in initsrc.ora. Sostituire tutti i nomi SID temdb con src, quindi salvare il file.
$export ORACLE_SID=src $sqlplus /nolog SQL>conn sys/passw0rd as sysdba SQL>startup nomount pfile=$ORACLE_HOME/dbs/init$ORACLE_SID.ora SQL>exit
$rman catalog rman/rman@catdb RMAN> set dbid=<source database db_id value> RMAN> connect target system/passw0rd; RMAN>run { 2>allocate channel ch1 type sbt parms='SBT_LIBRARY=/opt/Arcserve/ABoraagt/libobk64.so'; 3>restore spfile; 4>release channel ch1; 5>}
Nota: Per il database Oracle a 32 bit, SBT_LIBRARY utilizza libobk32.so. Per database Oracle 64-bit, SBT_LIBRARY utilizza libobk64.so.
Il processo di ripristino viene eseguito sulla coda dei processi di Server Arcserve Backup. Quando il processo viene completato, il database spfile restituisce viene ripristinato su $ORACLE_HOME/dbs.
Chiudere il database.
RMAN>shutdown immediate; RMAN>exit
Riavviare il database con l'opzione nomount utilizzando il file spfile appena ripristinato.
$sqlplus /nolog SQL>conn sys/passw0rd as sysdba SQL>startup nomount SQL>quit
$rman catalog rman/rman@catdb RMAN> set dbid=<source database db_id value> RMAN> connect target system/passw0rd; RMAN> run { 2> allocate channel dev1 type 'sbt_tape' parms='SBT_LIBRARY=/opt/Arcserve/ABoraagt/libobk64.so'; 3> restore controlfile; 4> release channel dev1; 5> }
In alternativa, se si esegue il ripristino del file di controllo da un insieme di backup specifici e si esegue un ripristino temporizzato, sarà necessario procedere come segue:
$ rman catalog rman/rman@catdb RMAN> set dbid=<source database db_id value> RMAN> connect target system/passw0rd; RMAN> run { 2> allocate channel dev1 type 'sbt_tape' parms='SBT_LIBRARY=/opt/Arcserve/ABoraagt/libobk64.so'; 3> restore controlfile from ‘Y’; 4> release channel dev1; 5> }
Per ottenere Y, (informazioni su insiemi di backup), procedere come segue:
RMAN> set dbid=<dbid>; RMAN> list backup of controlfile;
Il processo di ripristino viene eseguito sulla coda dei processi di Server Arcserve Backup. Al completamento del processo, i file di controllo del database vengono ripristinati sul percorso $ORACLE_HOME/oradata/$ORACLE_SID.
$sqlplus / as sysdba SQL>alter database mount; SQL>exit
$rman catalog rman/rman@catdb RMAN> set dbid=<source database db_id value> RMAN> connect target system/passw0rd; RMAN>run { 2>allocate channel ch1 type sbt parms='SBT_LIBRARY=/opt/Arcserve/ABoraagt/libobk64.so'; 3>restore database; 4>restore archivelog all; 5>release channel ch1; 6>}
Il processo di ripristino viene eseguito sulla coda dei processi di Server Arcserve Backup. Al completamento del processo, i file di database e i file di registro vengono ripristinati.
$sqlplus / as sysdba SQL> recover database using backup controlfile until cancel
SQL> alter database open resetlogs;
Copyright © 2017 |
|