Realizar un switchover planificado (DGMGRL, cambio de rol sin pérdida de datos)
OracleData GuardComando
# Connect with a password (with OS authentication "/" the broker cannot restart the remote instance):
dgmgrl sys@<primary_db_unique_name>
# 1) Precheck:
SHOW CONFIGURATION;
VALIDATE DATABASE '<standby_db_unique_name>';
# 2) Role change:
SWITCHOVER TO '<standby_db_unique_name>';
# 3) Verify: new primary and new standby
SHOW CONFIGURATION;
SHOW DATABASE '<primary_db_unique_name>';Qué hace
Intercambia de forma controlada los roles del primario y el standby: todo el redo del primario se envía y se aplica en el standby, el antiguo primario se reinicia como standby y la aplicación de redo se inicia automáticamente.
Cuándo usarlo
Para mantenimiento planificado en el sitio primario (SO, hardware, rolling upgrade), simulacros de DR o traslados de centro de datos.
Precaución
El primario sufre una caída breve; las conexiones de la aplicación deben enrutarse al nuevo primario mediante servicios definidos con -role PRIMARY y FAN/TAF/AC. Las transacciones largas y un apply lag alto alargan el switchover; acerque primero el lag a cero. En RAC el broker gestiona las instancias por sí mismo; no intervenga con srvctl.
Relacionado
- Mostrar la configuración del broker de Data Guard y el estado de las bases de datos (DGMGRL)
- Comprobar con SQL el rol primary/standby y la preparación para switchover
- Medir el lag de transporte/aplicación, la velocidad de aplicación y los procesos de Data Guard en el standby
- Validar el standby con el broker antes de un switchover/failover (VALIDATE DATABASE)
- Realizar un failover tras perder el primario (DGMGRL)
- Recuperar el antiguo primario como standby tras un failover (REINSTATE)