Oracle
Data Guard
Standby Redo Logs
Check
SELECT GROUP# FROM V$STANDBY_LOG;
Or for a more detailed report including redo logs use (/u01/dba/oraredologs.sql)...
Create
The number of Standby Redo Logs should be: (maximum # of logfile groups for each thread + 1) * maximum number of threads. E.g. for the example below you should create 4 Standby Redo Logs...
GROUP# THREAD# STATUS TYPE MEMBER IS_ MB---------- ---------- ---------------- ------- -------------------------------------------------------------------------------- --- ---------- 1 1 INACTIVE ONLINE /u02/oradata/ORCL1/ORCL/onlinelog/o1_mf_1_h38s8h2w_.log NO 200 1 1 INACTIVE ONLINE /u02/fast_recovery_area/ORCL1/ORCL/onlinelog/o1_mf_1_h38s8h9c_.log YES 200 2 1 INACTIVE ONLINE /u02/oradata/ORCL1/ORCL/onlinelog/o1_mf_2_h38s8hsx_.log NO 200 2 1 INACTIVE ONLINE /u02/fast_recovery_area/ORCL1/ORCL/onlinelog/o1_mf_2_h38s8j58_.log YES 200 3 1 CURRENT ONLINE /u02/oradata/ORCL1/ORCL/onlinelog/o1_mf_3_h38s8jfx_.log NO 200 3 1 CURRENT ONLINE /u02/fast_recovery_area/ORCL1/ORCL/onlinelog/o1_mf_3_h38s8mxo_.log YES 200You can govern where the standby redo logs are created using the DB_CREATE_ONLINE_LOGS_DEST_n parameters. For example...
alter system set db_create_online_log_dest_1='/redo1' scope=both sid='*';
alter system set db_create_online_log_dest_2='/redo2' scope=both sid='*';
To add standby redo logs to an existing Standby database you will need to cancel Managed Recovery and restart it when you are done.
Remember to set an OEM Blackout if you need to do this on a monitored serverALTER DATABASE ADD STANDBY LOGFILE THREAD 1 GROUP 4 SIZE 200M;
ALTER DATABASE ADD STANDBY LOGFILE THREAD 1 GROUP 5 SIZE 200M;
ALTER DATABASE ADD STANDBY LOGFILE THREAD 1 GROUP 6 SIZE 200M;
ALTER DATABASE ADD STANDBY LOGFILE THREAD 1 GROUP 7 SIZE 200M;
Drop
To drop standby redo logs from an existing Standby database you will need to cancel Managed Recovery and restart it when you are done.
Remember to set an OEM Blackout if you need to do this on a monitored server.On the Standby...
SELECT * FROM v$standby_log;
or@/u01/dba/oraredologs.sql
This should show UNASSIGNED. If status is ACTIVE check if redo apply process is stopped. If stopped and status is still ACTIVE then on Primary execute:
ALTER SYSTEM SWITCH LOGFILE;
To drop a standby logfile use something like this...
ALTER SYSTEM SET STANDBY_FILE_MANAGEMENT='MANUAL';
ALTER DATABASE DROP STANDBY LOGFILE GROUP 4;
ALTER SYSTEM SET STANDBY_FILE_MANAGEMENT='AUTO';
Bibliography
https://support.oracle.comWarning: standby redo logs not configured for thread <n> on <db_unique_name> (Doc ID 1956103.1)