Archive per ‘DataGuard’

DATAGUARD: Verifica la sincronizzazione tra i database primario e standby
Tramite i passi seguenti, si può controllare se il database standby è sincronizzato con il primario
1. STANDBY DATABASE
Per l’ultima sequence di archive, usare:
SQL> SELECT MAX(SEQUENCE#) FROM V$ARCHIVED_LOG;
MAX(SEQUENCE#)
————–
195
Per l’ultima che è stata applicata, usare:
SQL> SELECT MAX(SEQUENCE#) FROM V$ARCHIVED_LOG WHERE APPLIED=’YES’;
MAX(SEQUENCE#)
————–
194
Dalle due query precedenti vediamo che l’ultima sequence – 195 – è archived oppure scritta negli standby redo logfiles. Ci si aspetta un ritardo della sequence tra le colonne archived e applied.
2. STATO DELL’ULTIMA LOG SEQUENCE
SQL> SELECT SEQUENCE#,APPLIED FROM V$ARCHIVED_LOG ORDER BY SEQUENCE#;
SEQUENCE# APPLIED
——— ——-
190 YES
191 YES
192 YES
193 YES
194 YES
195 IN-MEMORY
La sequence 195 è stata spedita.
3. SUL DATABASE PRIMARIO INTERROGARE L’ULTIMO ARCHIVED LOGFILE, EFFETTUARE UN PAIO DI LOG SWITCHES QUINDI MONITORARE SE GLI ARCHIVI VENGONO TRASPORTATI E APPLICATI.
SQL> SELECT MAX(SEQUENCE#) FROM V$ARCHIVED_LOG;
MAX(SEQUENCE#)
————–
195
Effettuiamo qualche log switch e controlliamo.
SQL> alter system switch logfile;
System altered.
SQL> SELECT MAX(SEQUENCE#) FROM V$ARCHIVED_LOG;
MAX(SEQUENCE#)
————–
198
4. Sullo standby interroghiamo i nuovi archived log e quelli applicati, e vediamo se le nuove sequence sono state applicate.
SQL> SELECT SEQUENCE#,APPLIED FROM V$ARCHIVED_LOG ORDER BY SEQUENCE#;
SEQUENCE# APPLIED
————– ———
193 YES
194 YES
195 YES
196 YES
197 YES
198 YES
La colonna APPLIED sullo standby è molto utile per determinare le sequence generate e quelle applicate. Nello scenario visto, gli archive generati sul primario e quelli applicati sullo standby hanno lo stesso numero di sequence, quindi c’è sincronia con il database primario.
Il valore della colonna APPLIED sarà IN-MEMORY per gli ultimi logfile ricevuti, e YES per quelli che sono stati applicati.

Potrebbero interessarti anche...