Oracle Live

25/07/2016

Dataguard – Switchover y Failover manuales

Filed under: Dataguard — mogukiller @ 2:23 pm

Aunque lo normal es utilizar Dataguard Broker para operar con nuestro dataguard. En algunos clientes te puedes encontrar que reusan utilizar esta herramienta. Por lo que seguramente necesiteis saber los comandos básicos de swithcover y failover

------------------------
-- Switchover 
------------------------
Version tested: 12.1.0.2

SQL> ALTER DATABASE SWITCHOVER TO TEST12CBCK VERIFY;

/* Si la comprobacion no es correcta.
ERROR at line 1:
ORA-16475: succeeded with warnings, check alert log for more details
*/

/*ALERT
SWITCHOVER VERIFY: Send VERIFY request to switchover target TEST12CBCK
SWITCHOVER VERIFY COMPLETE
SWITCHOVER VERIFY WARNING: switchover target has no standby database defined in LOG_ARCHIVE_DEST_n parameter. If the switchover target is converted to a primary database, the new primary database will not be protected.
*/

-- Desde la primaria.

SQL> ALTER DATABASE SWITCHOVER TO TEST12CBCK;

-- Montamos la antigua primaria y comprobamols los roles.

SQL> STARTUP MOUNT;
/*
NAME                           HOST                           START                          OPEN_MODE            DATABASE_ROLE
------------------------------ ------------------------------ ------------------------------ -------------------- ----------------
test12c                        mogubedb11                     2016/07/25 14:40:31            MOUNTED              PHYSICAL STANDBY
*/
/*
NAME                           HOST                           START                          OPEN_MODE            DATABASE_ROLE
------------------------------ ------------------------------ ------------------------------ -------------------- ----------------
test12c                        mogubedb13                     2016/07/25 13:16:25            MOUNTED              PRIMARY
*/

-- Abrimos la nueva primaria.

SQL> ALTER DATABASE OPEN;

-- Ponemos la nueva standby a aplicar.

SQL> ALTER DATABASE RECOVER MANAGED STANDBY DATABASE DISCONNECT FROM SESSION;

--------------------------------
-- Switchover version 11g
--------------------------------
-- Desde la primaria.

SQL> ALTER SYSTEM ARCHIVE LOG CURRENT;
SQL> SELECT SWITCHOVER_STATUS FROM V$DATABASE;

/*
SWITCHOVER_STATUS
--------------------
SESSIONS ACTIVE
*/

SQL> ALTER DATABASE COMMIT TO SWITCHOVER TO PHYSICAL STANDBY WITH SESSION SHUTDOWN;

SQL> SHUTDOWN IMMEDIATE;
SQL> STARTUP NOMOUNT;
SQL> ALTER DATABASE MOUNT STANDBY DATABASE;

-- Desde la standby

SQL> ALTER DATABASE COMMIT TO SWITCHOVER TO PRIMARY;

SQL> ALTER DATABASE OPEN;

SQL> ALTER SYSTEM SET LOG_ARCHIVE_DEST_STATE_2='ENABLE'  SCOPE=BOTH SID='*';

-- Desde la nueva standby

SQL> ALTER DATABASE RECOVER MANAGED STANDBY DATABASE USING CURRENT LOGFILE DISCONNECT FROM SESSION;

------------------------------
-- Failover
------------------------------
Version tested: 12.1.0.2 y 11.2.0.4

'nota: Si conseguimos montar la primaria, podemos hacer un flush de los redos y no perder transacciones'

SQL> STARTUP MOUNT;
SQL> ALTER SYSTEM FLUSH REDO TO test12cbck;

-- Validamos el archiver donde se ha quedado la standby.

SQL> SELECT 'Ultimo Recibido' dato,THREAD# instancia,max(SEQUENCE#) archive
FROM v$archived_log
WHERE RESETLOGS_TIME = (SELECT RESETLOGS_TIME FROM v$database)
GROUP BY THREAD#
UNION
SELECT 'Ultimo Aplicado' dato,THREAD# instancia,max(SEQUENCE#) archive
FROM v$log_history
WHERE RESETLOGS_TIME = (SELECT RESETLOGS_TIME	FROM v$database	)
GROUP BY THREAD# ORDER BY 2;

/*
DATO             INSTANCIA    ARCHIVE
--------------- ---------- ----------
Ultimo Aplicado          1         42
Ultimo Recibido          1         42 
*/

-- Paramos de aplicar

SQL> ALTER DATABASE RECOVER MANAGED STANDBY DATABASE CANCEL;

-- Realizamos el failover.

SQL> ALTER DATABASE FAILOVER TO test12cbck;

'nota: Si durante el failover tenemos algun problema podemos utilizar estas opciones'

SQL> ALTER DATABASE FAILOVER TO test12cbck FORCE;
o
SQL> ALTER DATABASE ACTIVATE PHYSICAL STANDBY DATABASE;
SQL> ALTER DATABASE OPEN;

Dejar un comentario »

Aún no hay comentarios.

RSS feed for comments on this post. TrackBack URI

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s

Blog de WordPress.com.

A %d blogueros les gusta esto: