Requerimientos previos:
- Nuevo host: Windows Server 2012 R2.
- Binarios de Oracle instalados.
- DBID de la base de datos que necesitemos restaurar.
- Contraseña que usamos para encriptar los backups. (opcional)
- Debemos tener configuradas nuestras keys para acceso al Oracle Cloud Object Storage. Para esto podemos verificar los primeros tres pasos en el siguiente articulo (link del articulo anterior) .
Cuando tengamos configurada las API KEYS para poder establecer la conexión desde nuestro servidor Windows hacia nuestro Bucket en la nube. El siguiente paso será configurar las características de RMAN para que la extracción de backup pieces se realice de forma automática. La siguiente línea es un ejemple de configuración:
rman target /
rman> CONFIGURE CHANNEL DEVICE TYPE 'SBT_TAPE' PARMS 'SBT_LIBRARY=C:\app\Administrator\product\11.2.0\dbhome_1\LIB\oraopc.dll, SBT_PARMS=(OPC_PFILE=C:\app\Administrator\product\11.2.0\dbhome_1\database\opc_config\configORCL.ora)';
- La ruta de la librería configORCL.ora dependerá de donde realizamos la instalación durante la configuración de acceso del modulo OCI.
- La ruta del Oracle Home dependerá de donde realizamos la nueva instalación de los binarios en el nuevo host.
Una vez configurado el acceso al bucket en la nube, procederemos a restaurar nuestra base de datos. Como en este caso en particular estamos usando un servidor Windows, nuestro primer paso será crear un servicio con el binario oradim.
C:\> oradim -NEW -SID orcl -STARTMODE auto -PFILE C:\app\Administrator\product\11.2.0\dbhome_1\database\initORCL.ora
- El archivo initORCL.ora solo necesita tener el parámetro db_name definido.
A continuación, montamos la base de datos; establecemos el DBID de la base de datos; establecemos la contraseña (en caso hayamos usado encriptación) y restauramos el SPFILE.
rman target /
RMAN> STARTUP NOMOUNT;
RMAN> SET DBID=1559774388;
RMAN> RUN {
allocate channel t1 device type sbt PARMS 'SBT_LIBRARY=C:\app\Administrator\product\11.2.0\dbhome_1\LIB\oraopc.dll, SBT_PARMS=(OPC_PFILE=C:\app\Administrator\product\11.2.0\dbhome_1\database\opc_config\configORCL.ora)';
RESTORE SPFILE TO PFILE 'C:\app\Administrator\product\11.2.0\dbhome_1\dbs\initORCL.ora' FROM AUTOBACKUP;
}Apagamos la instancia y encendemos nuevamente en modo NOMOUNT para restaurar los control files desde el backup en la nube. Una vez finalizada la restauración, montamos la base de datos:
RMAN> SHUTDOWN IMMEDIATE;
RMAN> STARTUP NOMOUNT;
RMAN> RUN {
allocate channel t1 device type sbt PARMS 'SBT_LIBRARY=C:\app\Administrator\product\11.2.0\dbhome_1\LIB\oraopc.dll, SBT_PARMS=(OPC_PFILE=C:\app\Administrator\product\11.2.0\dbhome_1\database\opc_config\configORCL.ora)';
RESTORE CONTROLFILE FROM AUTOBACKUP;
}
RMAN> ALTER DATABASE MOUNT;El siguiente paso será restaurar nuestra base de datos, para esto podemos usar la cantidad de CHANNELS que consideremos adecuada según las características de nuestro servidor.
RMAN> RUN {
allocate channel t1 device type sbt PARMS 'SBT_LIBRARY=C:\app\Administrator\product\11.2.0\dbhome_1\LIB\oraopc.dll, SBT_PARMS=(OPC_PFILE=C:\app\Administrator\product\11.2.0\dbhome_1\database\opc_config\configORCL.ora)';
allocate channel t2 device type sbt PARMS 'SBT_LIBRARY=C:\app\Administrator\product\11.2.0\dbhome_1\LIB\oraopc.dll, SBT_PARMS=(OPC_PFILE=C:\app\Administrator\product\11.2.0\dbhome_1\database\opc_config\configORCL.ora)';
allocate channel t3 device type sbt PARMS 'SBT_LIBRARY=C:\app\Administrator\product\11.2.0\dbhome_1\LIB\oraopc.dll, SBT_PARMS=(OPC_PFILE=C:\app\Administrator\product\11.2.0\dbhome_1\database\opc_config\configORCL.ora)';
RESTORE DATABASE;
}Nota: si alguno de los archivos restaurados estará en una ubicación diferente al servidor original, recuerde utilizar la sentencia SWITCH DATAFILE ALL y los respectivos comandos RENAME para cada datafile como se muestra en el ejemplo siguiente:
SWITCH DATAFILE ALL;
SQL "ALTER DATABASE RENAME FILE ''+DATA/ASMDEMO1/ONLINELOG/group_3.263.873380343'' TO ''/u04/app/oracle/redo/redo03.log''";Hasta ahora todo debería haber terminado sin error, en el siguiente paso exploraremos el ultimo SCN almacenado en nuestro RMAN Backup en la nube para saber el punto exacto hasta donde recobrar nuestra base de datos. Lo haremos mediante el siguiente comando:
RMAN> RESTORE DATABASE PREVIEW DEVICE TYPE SBT;
La salida del comando debe mostrar algo similar a esto:
List of Archived Logs in backup set 7
Thrd Seq Low SCN Low Time Next SCN Next Time
---- ------- ---------- --------- ---------- ---------
1 8 972699 10-FEB-20 972727 10-FEB-20
List of Archived Log Copies for database with db_unique_name ORCL
=====================================================================
Key Thrd Seq S Low Time
------- ---- ------- - ---------
8 1 1 A 13-FEB-20
Name: C:\APP\ADMINISTRATOR\RECOVERY_AREA\ORCL\ARCHIVELOG\2020_02_13\O1_MF_1_1_H4BV1Y4V_.ARC
9 1 2 A 13-FEB-20
Name: C:\APP\ADMINISTRATOR\RECOVERY_AREA\ORCL\ARCHIVELOG\2020_02_13\O1_MF_1_2_H4C9MLFR_.ARC
10 1 3 A 13-FEB-20
Name: C:\APP\ADMINISTRATOR\RECOVERY_AREA\ORCL\ARCHIVELOG\2020_04_01\O1_MF_1_3_H89H6ZXY_.ARC
11 1 4 A 01-APR-20
Name: C:\APP\ADMINISTRATOR\RECOVERY_AREA\ORCL\ARCHIVELOG\2020_04_01\O1_MF_1_4_H89J0GX0_.ARC
12 1 5 A 01-APR-20
Name: C:\APP\ADMINISTRATOR\RECOVERY_AREA\ORCL\ARCHIVELOG\2020_04_08\O1_MF_1_5_H8W240W6_.ARC
13 1 6 A 08-APR-20
Name: C:\APP\ADMINISTRATOR\RECOVERY_AREA\ORCL\ARCHIVELOG\2020_04_09\O1_MF_1_6_H8YO7R8C_.ARC
validation succeeded for backup piece
Media recovery start SCN is 972705
Recovery must be done beyond SCN 972705 to clear datafile fuzziness
validation succeeded for backup piece
Finished restore at 09-APR-20
|
Recobramos nuestra base de datos usando el numero indicado en el comando anterior:
RMAN> RUN {
allocate channel t1 device type sbt PARMS 'SBT_LIBRARY=C:\app\Administrator\product\11.2.0\dbhome_1\LIB\oraopc.dll, SBT_PARMS=(OPC_PFILE=C:\app\Administrator\product\11.2.0\dbhome_1\database\opc_config\configORCL.ora)';
RECOVER DATABASE UNTIL SCN 972705;
}El comando debería finalizar sin ningún error, una vez terminado procederemos a abrir nuestra base de datos usando la opción RESETLOGS:
RMAN> ALTER DATABASE OPEN RESETLOGS;
Conclusión: Los pasos para restaurar una base de datos son básicamente los mismos que en cualquier caso común, la clave del ejercicio radica en como configuremos el acceso a nuestro Oracle Cloud Storage Service.
No hay comentarios:
Publicar un comentario