1. Documentación en Tahiti -> Oracle Database, 11g Release 2 (11.2) -> Masters Book List -> 4 Managing Databases -> Managing Database Conversions
2. Una Snapshot Standby Database es una BD totalmente actualizable que se utiliza para hacer ciertas operaciones para luego volverla a convertir en una Standby «normal» de nuevo. Cuando la Physical Standby se ha convertido en Snapshot, ésta sigue recibiendo Redo pero no lo aplica. Lo retiene hasta que eliminamos el Snapshots para aplicarlo.
3. En este ejercicio convertiremos DG en una Snapshot Standby, haremos alguna modificación y luego volveremos a convertirlo a una Physical Standby.
-- Comprobamos que tenemos activado Flashback en DG SELECT FLASHBACK_ON FROM V$DATABASE;
# Utilizaremos el Broker para convertirla a Snapshot dgmgrl sys/************* # Lanzamos la conversión CONVERT DATABASE 'DG' TO SNAPSHOT STANDBY; # Comprobamos la configuración # Comprobamos que DG aparece como "Snapshot standby database" SHOW CONFIGURATION;
4. Realizamos operaciones DML de prueba en el Snapshot (DG).
-- Creamos una tabla de prueba CREATE TABLE TEST (n NUMBER); INSERT INTO TEST VALUES (10); COMMIT; -- Comprobamos que estamos recibiendo Redo de la primaria -- La columna BLOCK# para los procesos RFS debe incrementarse SELECT PROCESS, STATUS, THREAD#, SEQUENCE#, BLOCK#, BLOCKS FROM V$MANAGED_STANDBY;
5. Convertirmos a Physical Standby de nuevo la BD DG.
# Utilizaremos el Broker para convertirla a Physical Standby dgmgrl sys/************* # Lanzamos la conversión CONVERT DATABASE 'DG' TO PHYSICAL STANDBY; # Comprobamos la configuración # Comprobamos que DG aparece como "Physical standby database" SHOW CONFIGURATION;
6. Vamos a utilizar Real-Time Query para abrir la BD DG en modo lectura. Este característica pertenece a la opción Active Data Guard que se licencia por separado.
-- Abrimos la BD DG en modo lectura ALTER DATABASE OPEN READ ONLY; -- Comprobamos si existe la tabla que hemos creado antes -- No existe ya que la BD vuelve al estado previo antes de realizar el Snapshot SELECT * FROM TEST;
# Comprobamos la configuración con DGMGRL # Veremos que Real-Time Apply está activado => "Real Time Query: ON" SHOW DATABASE 'DG';