ReopenSecs : no of secs before archiver tries to access a previously failed destination
REOPEN of LOG_ARCHIVE_DEST_n
DGMGRL> EDIT DATABASE ‘pc00sby1’ SET PROPERTY ‘ReopenSecs’=600;

 

NetTimeout : no of seconds the LGWR will wait for Oracle Net Services to respond to a request
NET_TIMEOUT of LOG_ARCHIVE_DEST_n

DGMGRL> EDIT DATABASE ‘pc00sby1’ SET PROPERTY ‘NetTimeout’=20;

MaxConnections : redo transport uses all available bandwidth by allowing a single large redo log to be transferred in parallel by multiple archiver processes. (5 is the max value, default is 1).
MAX_CONNECTIONS of LOG_ARCHIVE_DEST_n
N.B. you must set LOG_ARCHIVE_MAX_PROCESSES >= value used.
DGMGRL> EDIT DATABASE ‘pc00sby1’ SET PROPERTY ‘MaxConnections’=5;

RedoCompression : enables compression of archived redo logs during gap transmission
COMPRESSION of LOG_ARCHIVE_DEST_n
DGMGRL> EDIT DATABASE ‘pc00sby1’ SET PROPERTY ‘RedoCompression’=’ENABLE’;

DelayMins : no of minutes log apply services must wait before applying redo data to the standby database
DELAY of LOG_ARCHIVE_DEST_n
DGMGRL> EDIT DATABASE ‘pc00sby1’ SET PROPERTY ‘DelayMins’=5;

LOGICAL STANDBY
===============

adjust no of processes allocated to SQL Apply
MAX_SERVERS, APPLY_SERVERS, PREPARE_SERVERS
applier processes
———————–
SELECT COUNT(*) AS IDLE_APPLIER FROM V$LOGSTDBY_PROCESS WHERE TYPE = ‘APPLIER’ AND STATUS_CODE = 16166; shows any idle appliers.
SELECT NAME, VALUE FROM V$LOGSTDBY_STATS WHERE NAME LIKE ‘transactions%’;
Returns no of transactions ready to be applied and no of transactions already applied.
If difference between the nos is > twice no of available applier processes then you can increas the no of appliers.

SQL> EXECUTE DBMS_LOGSTDBY.APPLY_SET(‘MAX_SERVERS’,26);
SQL> EXECUTE DBMS_LOGSTDBY.APPLY_SET(‘PREPARE_SERVERS’,26);

preparer processes
————————-
determine if all preparer processes are busy.
SELECT COUNT(*) AS IDLE_PREPARER FROM V$LOGSTDBY_PROCESS WHERE TYPE = ‘PREPARER’ AND STATUS_CODE = 16166;
determine if no of transactions ready to be applied is < no of APPLIER processes.
SELECT NAME, VALUE FROM V$LOGSTDBY_STATS WHERE NAME LIKE ‘transactions%’;
SELECT COUNT(*) AS APPLIER_COUNT FROM V$LOGSTDBY_PROCESS WHERE TYPE = ‘APPLIER’;
determine if there are idle applier processes
SELECT COUNT(*) AS IDLE_APPLIER FROM V$LOGSTDBY_PROCESS WHERE TYPE = ‘APPLIER’ AND STATUS_CODE = 16166;

SQL> EXECUTE DBMS_LOGSTDBY.APPLY_SET(‘MAX_SERVERS’,26);
SQL> EXECUTE DBMS_LOGSTDBY.APPLY_SET(‘PREPARE_SERVERS’,26);