Check the dataguard Primary server is sync with Secondary server
Note: Verify the role of database it should be primary. Perform following commands on Primary Server:
SELECT database_role FROM V$database;
DATABASE_ROLE
-----------------
PRIMARY
SELECT STATUS, GAP_STATUS FROM V$ARCHIVE_DEST_STATUS WHERE DEST_ID=2
STATUS GAP_STATUS
--------------- ---------------
VALID NO GAP
-- To check the archive sequence number
ARCHIVE LOG LIST;
Standby Server: Perform following command on standby server:
SELECT database_role FROM V$database;
DATABASE_ROLE
-----------------
PHYSICAL STANDBY
SELECT max(sequence#) from v$archived_log where applied='YES';
max(sequence#)
----------------
2343434
-- Check the MRP process and RFS Process
select inst_id, process, status, thread#, sequence#, block#, blocks from gv$managed_Standby where process in ('RFS','LNS','MRP0')
Note: Uses of Process involved in Dataguard
RFS (Remote File Server):
Role: Receives redo data from the primary database and writes it to the standby redo log files on the standby database.
Function: Ensures that the standby database is kept up-to-date with the primary database.
LNS (Log Network Server):
Role: Transmits redo data from the primary database to the standby database.
Function: Works in conjunction with the RFS process to ensure that redo data is sent and received efficiently.
MRP0 (Managed Recovery Process):
Role: Applies the redo data received from the primary database to the standby database.
Function: Ensures that the standby database is in sync with the primary database by continuously applying the redo logs.