Basic Dataguard Procedures

Shutdown dataguard standby database
alter database recover managed standby database cancel;
shutdown immediate;

Startup dataguard standby database
startup nomount;
alter database mount standby database;
alter database recover managed standby database disconnect from session ;
Check the listener is up and running and able to connect to database

Validation
1. Check if MRP is running.
--On STBY
SQL> SELECT PROCESS, DELAY_MINS
FROM V$MANAGED_STANDBY
WHERE PROCESS like 'MRP%';

# ps -efgrep mrp
2. Check if dr is in sync
Run the following sqls on both Primary and DR. Both #s should match
select thread#,max(sequence#) from v$archived_log group by thread# order by 1;
SELECT THREAD#, MAX(SEQUENCE#) FROM V$LOG_HISTORY WHERE RESETLOGS_CHANGE#=( SELECT RESETLOGS_CHANGE# FROM V$DATABASE_INCARNATION WHERE STATUS = 'CURRENT')
GROUP BY THREAD# order by 1;
On STBY only
grep "Media Recovery" alert.log tail -10
tail -f alert.log --alert log must be showing logs shipped and applied.
Note: If there is any DELAY set in log_archive_dest parameter in primary archive will not be applied immediately but there will be a msg in alert log for the same

Troubleshooting
1. Check if archives are getting shipped from primary to DR.
Verify which log_archive_dest is set for DR, assuming its log_archive_dest_2. Run the following on primary
alter system set log_archive_dest_state_2=enable;
select dest_id, status from v$archive_dest;
alter system archive log current;
select dest_id, status from v$archive_dest;
select dest_id, status from v$archive_dest;
select dest_id, status from v$archive_dest;
destination status to be VALID
identify the archive destination on DR and check if archives are getting transfered.

2. Check if MRP is running and there is no GAP. On STBY
SELECT PROCESS, DELAY_MINS
FROM V$MANAGED_STANDBY
WHERE PROCESS like 'MRP%';
select * from v$archive_gap;

3. Check the fal_server and fal_client parameters on Primary and DR
show parameter fal

No comments:

Post a Comment