rudydelhaye
11/22/2019 - 2:03 PM

ORCL - Dataguard

-- Sur la Primary
SELECT SEQUENCE# FROM v$log WHERE UPPER (archived) ='YES' AND ROWNUM = 1 GROUP BY SEQUENCE#, first_time ORDER BY first_time DESC;
 
-- Sur la Standby
select sequence#,applied from v$archived_log order by sequence#;
select max(sequence#) from v$archived_log;
-- Standby
alter session set nls_date_format='dd-mm-yy hh24:mi:ss';
select max(checkpoint_time) from v$datafile_header;
-- Standby
select inst_id, max(timestamp) from gv$recovery_progress group by inst_id;
-- Standby
alter session set nls_date_format='dd-mm-yy hh24:mi:ss';
select inst_id,opname,timestamp from gv$session_longops where opname='Media Recovery' and target_desc='Last Applied Redo';
SELECT * FROM v$dataguard_stats;
select inst_id, process, status, thread#, sequence#, block#, blocks from gv$managed_standby where process in ('RFS','LNS','MRP0');
 
DGMGRL> show database verbose "DatabaseName";
 
-- Re-enable Standby Database
-- In such situation, you can re-enable the standby database to make it work again.

DGMGRL> enable database "DatabaseName";
Enabled.

-- Note that you must have standby redo logs with same or more size of than online redo logfiles
-- Ce message se produit lorsque les standby redo sont plus petite que les redo log groups
set linesize 9000
column name format a25
column value format a20
column time_computed format a25
SELECT name, value, time_computed FROM v$dataguard_stats;
https://easyteam.fr/resynchroniser-une-standby-avec-restore-from-service/
////////////////////////////////
////////////////////////////////

RESTORE FROM SERVICE
Objectif :

Cette commande est utilisée pour restaurer des fichiers de base de données physiques (fichiers de données, fichiers de contrôle, fichiers de redologs) depuis la base primaire vers la base standby.
Elle est utile si des fichiers sont manquants ou corrompus sur la base standby.

Utilisation typique :

Lors de la création initiale d'une base standby.
Pour récupérer des fichiers spécifiques après une défaillance ou une perte.

Exemple :

RMAN> RESTORE DATABASE FROM SERVICE '<nom_service_primaire>';
Cela restaure les fichiers nécessaires directement depuis la base primaire, en les transférant via un service configuré.

Ce qui est transféré :

Les fichiers physiques nécessaires pour remettre la base standby dans un état cohérent.

////////////////////////////////
////////////////////////////////

RECOVER FROM SERVICE
Objectif :

Cette commande est utilisée pour appliquer les journaux de redo nécessaires depuis la base primaire vers la base standby.
Elle est utilisée pour synchroniser la base standby avec les modifications récentes de la base primaire.

Utilisation typique :

Lorsqu'une base standby a besoin de se remettre à jour après avoir manqué des archives de redo ou des redo en temps réel.
Après une interruption temporaire de la réplication.

Exemple :

RMAN> RECOVER DATABASE FROM SERVICE '<nom_service_primaire>';
Cela télécharge les journaux nécessaires (redo log ou archive log) depuis la base primaire et les applique à la base standby.

Ce qui est transféré :

Les redo logs ou archives manquants pour rattraper le délai avec la base primaire.