[ 2012-09-22 ]

Estimar la duración de una operación de restore con RMAN

Cuando realizamos un restore con RMAN, principalmente si lo estamos haciendo en un ambiente productivo y con bases de datos de tamaño importante, resulta necesario tener una  idea del avance de la operación de restauración.

Una manera bastante rudimentaria sería ver en el destino, como se van restaurando los datafiles y demás archivos de la base de datos, pero sin dudas esto no es ni preciso ni práctico.

Podemos estimar entonces el avance consultando la vista v$session_longops. Esta vista nos muestra el estado de las operaciones que llevan ejecutándose más de 6 segundos, por lo general operaciones de backup, restore, recovery, toma de estadísticas y consultas importantes.
Ejecutemos entonces la siguiente consulta:

SELECT sid, serial#, context, sofar, totalwork,
ROUND(sofar/totalwork*100,2) "% COMPLETE"
FROM V$SESSION_LONGOPS
WHERE opname LIKE 'RMAN%'
   AND opname NOT LIKE '%aggregate%'
   AND totalwork != 0
   AND sofar != totalwork;

Este es un ejemplo de salida:

SID    SERIAL# CONTEXT      SOFAR  TOTALWORK  %COMPLETE
18          1       1    10235772   11137792       91.9

Podemos observar,  en el último campo "% COMPLETE", el porcentaje total ejecutado de la operación.

En el caso que al ejecutar de manera consecutiva la consulta, por ejemplo cada 2 segundos, no veamos progreso alguno en el valor de dicho campo deberíamos investigar si no estamos en presencia de algún evento de espera relacionado con la operación de restore.
Este análisis podríamos hacerlo utilizando la vista v$session_wait o bien alguna herramienta como OEM, Grid o Cloud Control.

Saludos,


No hay comentarios:

Publicar un comentario