# ¿A qué hora se convirtió esta Standby a Snapshot? 3 consultas SQL rápidas para salir de dudas

Trabajar con Snapshot Standby en Oracle Data Guard es una maravilla para entornos de pruebas o validaciones puntuales. Te permite abrir en lectura/escritura una réplica física sin romper la cadena de redologs y revertir los cambios cuando terminas.

Sin embargo, hay un detalle con el que es fácil tropezar: saber exactamente a qué hora se convirtió a Snapshot Standby.

Muchos caen en la tentación de mirar el STARTUP_TIME de V$INSTANCE, pero si convertiste la base de datos en caliente (pasando por MOUNT y haciendo el CONVERT TO SNAPSHOT STANDBY sin reiniciar la instancia por completo), esa columna solo te dirá cuándo se arrancó el proceso, no cuándo se abrió en lectura/escritura.

Si necesitas auditar la conversión o saber exactamente desde cuándo se están acumulando cambios locales, aquí tienes tres formas directas de sacarlo por SQL según lo que prefieras consultar:

## El método del Restore Point automático (La forma más limpia)

Poca gente cae en esto, pero al ejecutar el comando de conversión, Oracle crea por debajo un guaranteed restore point implícito para poder realizar el flashback posterior cuando la vuelvas a pasar a Physical Standby.

La vista V$RESTORE_POINT guarda ese hito con la marca de tiempo exacta del momento en que se lanzó la conversión:

```plaintext
SELECT name, time, scn FROM v$restore_point WHERE name LIKE 'SNAPSHOT_STANDBY_%';
```

Por qué usarlo: No depende de retenciones de logs de diagnóstico ni de filtrados complejos de texto. Si la base de datos sigue en modo snapshot, el punto de restauración estará ahí con su fecha y hora exactas.

## Tirando del Alert Log vía ADR (V$DIAG_ALERT_EXT)

Si prefieres buscar el evento de apertura explícito en los registros del motor sin salir de la consola SQL, puedes consultar los eventos del Alert Log almacenados en la vista del ADR:

```plaintext
SELECT originating_timestamp, message_text FROM v$diag_alert_ext WHERE message_text LIKE '%opening in read write%' AND originating_timestamp > SYSDATE - 3 ORDER BY originating_timestamp DESC;
```

Por qué usarlo: Te confirma el momento exacto en el que la instancia cambió de estado a lectura/escritura (READ WRITE), algo ideal si pasaron varios minutos entre la conversión y la apertura final.

## Consultar la encarnación activa (V$DATABASE_INCARNATION)

Dado que la conversión a Snapshot Standby implica una apertura con un RESETLOGS interno (creando una nueva rama de encarnación para permitir escrituras independientes), la vista de encarnaciones de la base de datos registra esa marca temporal en la encarnación actual:

```plaintext
SELECT incarnation#, resetlogs_change#, resetlogs_time, status FROM v$database_incarnation WHERE status = 'CURRENT';
```

Por qué usarlo: El campo RESETLOGS_TIME refleja la fecha y hora en que la encarnación activa se puso en marcha para recibir escrituras. Es una consulta instantánea y muy ligera.
