Incident:
L’un de nos clients qui utilise ça base dataguard en lecture nous
signale que les données saisis en production la veille ne sont toujours pas visibles sur le serveur de dataguard .
Analyse :
contrôle de la configuration sur la dataguard
DGMGRL>show configuration
Configuration – db4_dg
Protection Mode: MaxPerformance
Databases:
db3_dg – Primary database
db4_dg – Physical standby database
Error: ORA-16766: Redo Apply is stopped
Fast-Start Failover: DISABLED
Configuration Status:
ERROR
on remarque que le processus MRP est arrêté et donc absent des processus dataguard
SQL> SELECT PROCESS, STATUS FROM v$managed_standby;
PROCESS STATUS
————————— ————————————
ARCH CLOSING
ARCH CONNECTED
ARCH CLOSING
ARCH CLOSING
ARCH CLOSING
ARCH CLOSING
RFS IDLE
PROCESS STATUS
————————— ————————————
RFS IDLE
RFS IDLE
RFS IDLE
RFS IDLE
RFS IDLE
voir cette article sur la dataguard pour plus d’explication
http://simplicechoumenidba.com/2016/08/04/configuration-dataguard-oracle-11gr2/
Solution:
SQL> ALTER DATABASE RECOVER MANAGED STANDBY DATABASE DISCONNECT FROM SESSION;
Database altered.
SQL> SELECT PROCESS, STATUS FROM v$managed_standby;
PROCESS STATUS
————————— ————————————
ARCH CLOSING
ARCH CONNECTED
ARCH CLOSING
ARCH CLOSING
ARCH CLOSING
RFS IDLE
PROCESS STATUS
————————— ————————————
RFS IDLE
RFS IDLE
RFS IDLE
MRP0 APPLYING_LOG
Le processus est de nouveau disponible, mais nous avons encore un warning pour l’inconsistance des données
DGMGRL> show configuration
Configuration – PRDCONFIG
Protection Mode: MaxAvailability
Databases:
TRANPRD – Primary database
DATAGUARD – Physical standby database
Warning: ORA-16826: apply service state is inconsistent with the DelayMinsproperty
Fast-Start Failover: DISABLED
Configuration Status:
WARNING
DGMGRL> show database verbose ‘DATAGUARD’;
Database – DATAGUARD
Role: PHYSICAL STANDBY
Intended State: APPLY-ON
Transport Lag: 0 seconds
Apply Lag: 0 seconds
Real Time Query: OFF
Instance(s):
DATAGUARD
Properties:
DGConnectIdentifier = ‘DATAGUARD’
ObserverConnectIdentifier = »
LogXptMode = ‘SYNC’
DelayMins = ‘0’
Pour résoudre ce warning
Il faut
le standby physique en read only, on doit utiliser la commande suivante sur la base :
SQL> alter database recover managed standby database cancel;
Database altered.
Pour activer Real Time Apply sur la base de standby physique, le recover peut etre demarre sur la standby physique avec cette commande :
SQL> ALTER DATABASE RECOVER MANAGED STANDBY DATABASE USING CURRENT LOGFILE DISCONNECT FROM SESSION;
L’utilisation de Real Time Appply permet à la base de standby d’avoir une sychronisation plus proche de la primaire en mettant en jour en temps
reel les donnees de la primaire vers la standby
DGMGRL>show configuration
Configuration – PRDCONFIG
Protection Mode: MaxPerformance
Databases:
db3_dg – Primary database
db4_dg – Physical standby database
Fast-Start Failover: DISABLED
Configuration Status:
SUCCESS
Il faut noter également que les archives sont bien transférées sur la standby mais ne sont pas appliqués
OraclementVotre