Hoy veremos rapidamente una entrada de como podemos volver a dejar una PHYSICAL standby de nuevo sincronizada .
Supongamos que entramos a ver el estado de nuestro dataguard y nos encontramos con esto.
Configuration - TEST_SNDBY
Protection Mode: MaxPerformance
Members:
TEST- Primary database
Error: ORA-16724: cannot resolve gap for one or more members
TEST_STBY- Physical standby database
Warning: ORA-16809: multiple warnings detected for the member
Fast-Start Failover: Disabled
Configuration Status:
ERROR (status updated 50 seconds ago)
DGMGRL> show database 'TEST_STBY';
Database - TEST_SNDBY
Role: PHYSICAL STANDBY
Intended State: APPLY-ON
Transport Lag: 104 days 20 hours 8 minutes 57 seconds (computed 1 second ago)
Apply Lag: 104 days 20 hours 8 minutes 58 seconds (computed 2 seconds ago)
Average Apply Rate: 0 Byte/s
Real Time Query: OFF
Instance(s):
TEST
Database Warning(s):
ORA-16853: apply lag has exceeded specified threshold
ORA-16855: transport lag has exceeded specified threshold
Database Status:
WARNING
Que hacemos ahora?
Llevamos mas de tres meses de retraso, lo que probablemente significara casi el rehacer la database. La solucion desde la 19 es muy sencilla, y es resincronizar mediante red con el comando RECOVER STANDBY DATABASE FROM SERVICE TEST_DGMGRL; Los pasos exactos serian$ORACLE_HOME/bin/sqlplus "/as sysdba" << EOF recover managed standby database cancel; alter system set dg_broker_start=false; shutdown immediate; startup nomount; alter database mount standby database; EOF $ORACLE_HOME/bin/dgmgrl / << EOF RECOVER STANDBY DATABASE FROM SERVICE TEST_DGMGRL; EOF $ORACLE_HOME/bin/sqlplus "/as sysdba" << EOF alter system set dg_broker_start=true; EOF