El procedimiento para realizar restauraciones de archive log de un backup realizado con SQL-BackTrack para Oracle es una operación sencilla que tendremos que operar en algún momento de la vida de nuestra bases de datos Oracle, por ejemplo, resturación de una base de datos en modo archive log, duplicaciones desde un backup, resolver gaps en un Oracle Data Guard, etc.
El procedimiento es el siguiente:
El comando Sql-BackTrack que vamos a utilizar queda así:
$dtorestore -archivelogs -database PRUEBA -archive_scn_range 2797610862-2797610868 -destdir /tmp/PRUEBA
Vamos a ver con detalle cada parámetro que pasamos de la utilizadad de restauración dtorestore.
Supongamos que tenemos que restaurar dos archive log para resolver un gap en un Oracle Data Guard, los número de secuencia de los archive log a restaurar son 1467 y 1468.
1 - Lo primero que vamos a hacer es localizar el archivo de Sql-BackTrack que contiene la información de los scn, este archivo lo encontraréis en la ruta,
[directorio_raiz_sql-backtrack]/catalog/PRUEBA.db/physical/dumps/archivelogs1
El archivo tendrá un nombre similar a este dump.143-156
2 - Editamos el archivo y localizamos la secuencia del archive log que queremos estaurar, ejemplo,
scn_range=2797610862-2797814875
begin logs
log=1:1467,2797610862-2797610865, 2
log=1:1468,2797610865-2797610868, 5
log=1:1469,2797610868-2797610870, 2
log=1:1470,2797610870-2797668559, 1
log=1:1471,2797668559-2797814875, 4
end logs
Justo después del número de secuencia del archive log podemos ver el scn, al parámetro -archive_scn_range le daremos el primer scn del archive log menor, 2797610862, y el scn mayor del archive log mayor, 2797610868.
3 - el parametro -destdir nos permite determinar una ubicación alternativa de los archives log que vamos a restaurar, si especificamos este parámetro Sql-BackTrack restaura en la ubicación original.
4 - El resto de parámetros son sencillos, -archivelogs le dice a dtorestore que queremos resturar un archive log y -database el nombre de la base de datos Oracle.
Nuestro comando quedaría así,
$dtorestore -archivelogs -database PRUEBA -archive_scn_range 2797610862-2797610868 -destdir /tmp/PRUEBA