Restauración de la base de datos en otro host con el RMAN

Puede restaurar la base de datos en otro host con el RMAN.

Para restaurar la base de datos en otro host con el RMAN

  1. 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;
    
  2. Identifique el valor db_id correspondiente a la base de datos que desee restaurar.
  3. 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;
    
  4. Copie el archivo init<$ORACLE_SID>.ora desde $ORACLE_HOME/dbs en el <host1> al <host2>.
  5. 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>.
  6. 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>.
  7. 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.
    
  8. 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
    
  9. 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> }
    
  10. Introduzca el siguiente comando para montar la base de datos de destino:
    SVRMGR> alter database mount;
    
  11. Determine las nuevas ubicaciones de cada archivo de datos del script RMAN mediante las ubicaciones establecidas en el paso 3.
  12. 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;
    
  13. Introduzca el siguiente comando para recuperar la base de datos con los archivos de control restaurados:
    SVRMGR> recover database using backup controlfile until cancel;
    
  14. Introduzca el siguiente comando para abrir la base de datos mediante la opción resetlogs:
    SVRMGR> alter database open resetlogs;
    
  15. Si se produce el error ORA-00344: no es posible volver a crear %s registros con conexión:
    1. Introduzca los siguientes comandos para renombrar cada registro de rehacer con conexión:
      SVRMGR> alter database rename file <ruta núm.1 del registro de rehacer en línea> 
      to <nueva ruta núm.1 del registro de rehacer en línea>;
      ...
      SVRMGR> alter database rename file <ruta núm.n del registro de rehacer en línea> 
      to <nueva ruta núm.n del registro de rehacer en línea>;
      
    2. Introduzca el siguiente comando para abrir la base de datos:
      SVRMGR> alter database open resetlogs;