0% found this document useful (0 votes)
97 views3 pages

Check Dataguard Status

The document describes how to check the status of Dataguard replication between a primary and standby database. It provides SQL queries to check the database role, archived log details, and replication status on both the primary and standby servers.

Uploaded by

Siva Kumar
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
97 views3 pages

Check Dataguard Status

The document describes how to check the status of Dataguard replication between a primary and standby database. It provides SQL queries to check the database role, archived log details, and replication status on both the primary and standby servers.

Uploaded by

Siva Kumar
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 3

Dataguard status check

Primary database: -

1. To check database role:


SELECT database_role, open_mode FROM v$database;

2. To check the dataguard process in primary server:


select PROCESS, STATUS, SEQUENCE#, BLOCKS, GROUP#, CLIENT_PROCESS
from v$managed_standby;

3. To check log details applied, deleted:


SELECT sequence#, first_time, next_time, applied,DELETED FROM
gv$archived_log ORDER BY sequence#;

4. Check applied log difference:


SELECT ARCH.THREAD# "Thread", ARCH.SEQUENCE# "Last Sequence
Received",
APPL.SEQUENCE# "Last Sequence Applied", (ARCH.SEQUENCE# -
APPL.SEQUENCE#) "Difference"
FROM
(SELECT THREAD# ,SEQUENCE# FROM V$ARCHIVED_LOG WHERE
(THREAD#,FIRST_TIME ) IN
(SELECT THREAD#,MAX(FIRST_TIME) FROM V$ARCHIVED_LOG GROUP BY
THREAD#)) ARCH,
(SELECT THREAD# ,SEQUENCE# FROM V$LOG_HISTORY WHERE
(THREAD#,FIRST_TIME ) IN
(SELECT THREAD#,MAX(FIRST_TIME) FROM V$LOG_HISTORY GROUP BY
THREAD#)) APPL
WHERE
ARCH.THREAD# = APPL.THREAD#
ORDER BY 1;
5. Check Max Sequence:

Select max(sequence#) from gv$archived_log;


Standby server: -

1. To check database role:


SELECT database_role, open_mode FROM v$database;

2. To check the dataguard process in primary server:


select PROCESS, STATUS, SEQUENCE#, BLOCKS, GROUP#, CLIENT_PROCESS
from v$managed_standby;

3. To check log details applied, deleted:


SELECT sequence#, first_time, next_time, applied,DELETED FROM
gv$archived_log ORDER BY sequence#;

4. Check applied log difference:


SELECT ARCH.THREAD# "Thread", ARCH.SEQUENCE# "Last Sequence
Received",
APPL.SEQUENCE# "Last Sequence Applied", (ARCH.SEQUENCE# -
APPL.SEQUENCE#) "Difference"
FROM
(SELECT THREAD# ,SEQUENCE# FROM V$ARCHIVED_LOG WHERE
(THREAD#,FIRST_TIME ) IN
(SELECT THREAD#,MAX(FIRST_TIME) FROM V$ARCHIVED_LOG GROUP BY
THREAD#)) ARCH,
(SELECT THREAD# ,SEQUENCE# FROM V$LOG_HISTORY WHERE
(THREAD#,FIRST_TIME ) IN
(SELECT THREAD#,MAX(FIRST_TIME) FROM V$LOG_HISTORY GROUP BY
THREAD#)) APPL
WHERE
ARCH.THREAD# = APPL.THREAD#
ORDER BY 1;
6. Check Max Sequence:

Select max(sequence#) from gv$archived_log;


To check dataguard parameter on both side

set lines 999 pages 999


col value for a80
col name for a50
set lines 256
select name, value
from gv$parameter
where name in
('INST_ID','instance_name','db_name','db_unique_name','log_archive_config',
'log_archive_dest_1','log_archive_dest_2','log_archive_dest_3','log_archive_dest_
4',
'log_archive_dest_state_1','log_archive_dest_state_2','log_archive_dest_state_3',
'log_archive_dest_state_4', 'remote_login_passwordfile',
'log_archive_format','log_archive_max_processes','fal_server','fal_client','standby
_file_management','db_file_name_convert','log_file_name_convert');

column message format a66

SELECT timestamp, facility, message FROM v$dataguard_status ORDER by


timestamp;

You might also like