Puede restaurar la base de datos en otro host con el RMAN.
- Introduzca los siguientes comandos para obtener el valor db_id (ID de base de datos) de la base de datos que desee restaurar desde el catálogo de RMAN:
sqlplus <rman usuario>/<rman contraseña>@<rman servicio>
SQL> select db_key, db_id, bs_key, recid, stamp, backup_type, start_time, status from rc_backup_set;
- Identifique el valor db_id correspondiente a la base de datos que desee restaurar.
- Introduzca el siguiente comando para determinar el número de archivos y la ubicación de cada archivo de datos de la base de datos de origen:
SVRMGR> select file#, name from v$data file;
- Copie el archivo init<$ORACLE_SID>.ora desde $ORACLE_HOME/dbs en el <host1> al <host2>.
- Edite $ORACLE_HOME/dbs/init<$ORACLE_SID>.ora y ajuste todas las rutas para que quede reflejada la nueva estructura de directorios en el <host2>.
- Realice la configuración de red de SQL* para garantizar que el catálogo RMAN se pueda ver desde ambas bases de datos instaladas en el <host1> y en el <host2>.
- Configure el archivo de contraseña de Oracle del <host2>. Para ello, introduzca el siguiente comando:
orapwd archivo=$ORACLE_HOME/dbs/orapw$ORACLE_SID contraseña=kernel.
- Introduzca el siguiente comando para iniciar la base de datos de destino con la opción nomount:
SVRMGR> startup nomount pfile=$ORACLE_HOME/dbs/init<$ORACLE_SID>.ora
- Introduzca los siguientes comandos para restaurar el archivo de control:
Nota: Necesitará el ID de base de datos (db_id) obtenido en el paso 2.
rman rcvcat <rman nombredeusuario>/<rman contraseña>@<rman servicio>
RMAN> set dbid=<valor bd_id de la basededatos origen>
RMAN> connect target <nombredeusuario>/<contraseña>;
RMAN> run {
RMAN> allocate channel dev1 type 'sbt_tape';
RMAN> restore controlfile;
RMAN> release channel dev1;
RMAN> }
- Introduzca el siguiente comando para montar la base de datos de destino:
SVRMGR> alter database mount;
- Determine las nuevas ubicaciones de cada archivo de datos del script RMAN mediante las ubicaciones establecidas en el paso 3.
- Introduzca los siguientes comandos para restaurar la base de datos utilizando las nuevas ubicaciones establecidas en el paso 11:
rman target <nombredeusuario>/<contraseña> rcvcat <rman nombredeusuario>/<rman contraseña>@<rman service>
RMAN> run {
RMAN> allocate channel dev1 type 'sbt_tape';
RMAN> set newname for data file 1 to '<new path>'
RMAN> set newname for data file 2 to '<new path>'
...
RMAN> restore database;
RMAN> switch data file all;
RMAN> release channel dev1;
- Introduzca el siguiente comando para recuperar la base de datos con los archivos de control restaurados:
SVRMGR> recover database using backup controlfile until cancel;
- Introduzca el siguiente comando para abrir la base de datos mediante la opción resetlogs:
SVRMGR> alter database open resetlogs;
- Si se produce el error ORA-00344: no es posible volver a crear %s registros con conexión:
- Introduzca los siguientes comandos para renombrar cada registro de rehacer con conexión:
SVRMGR> alter database rename file <online redo log #1 path>
to <nueva ruta núm.1 del registro de rehacer en línea>;
...
SVRMGR> alter database rename file <online redo log #n path>
to <nueva ruta núm.n del registro de rehacer en línea>;
- Introduzca el siguiente comando para abrir la base de datos:
SVRMGR> alter database open resetlogs;