Standby - Redo Apply

Hi,
I've a problem applying real time on my logical standby. If I do a "alter system switch logfile" on the primary db then I see data from the primary db to the standby. However if I DON'T do the log switch or no log switch then I don't see the data even the transaction commit on the primary site.
Somehow all the transactions on the primary db redo logs are not transmit over the standby when transactions are commit. There's on error on the alert log on both primary and standby.
Here are my steps on the logical standby.
ALTER DATABASE STOP LOGICAL STANDBY APPLY;
ALTER DATABASE START LOGICAL STANDBY APPLY IMMEDIATE;
My database version 10.2.0.3 and solaris 10.

Hi there,
Here's the alert log file from the logical standby. Noted, I did an insert on the primary first then went to the standby "stop apply" and "start apply".
Completed: ALTER DATABASE stop LOGICAL STANDBY APPLY
Thu Oct 25 14:03:32 2007
ALTER DATABASE START LOGICAL STANDBY APPLY IMMEDIATE
Thu Oct 25 14:03:32 2007
ALTER DATABASE START LOGICAL STANDBY APPLY (HARDWSTD)
with optional part
IMMEDIATE
Attempt to start background Logical Standby process
LSP0 started with pid=21, OS id=29458
LOGSTDBY status: ORA-16111: log mining and apply setting up
Thu Oct 25 14:03:32 2007
LOGMINER: Parameters summary for session# = 1
LOGMINER: Number of processes = 3, Transaction Chunk Size = 201
LOGMINER: Memory Size = 100M, Checkpoint interval = 500M
LOGMINER: session# = 1, builder process P003 started with pid=36 OS id=8859
LOGMINER: session# = 1, preparer process P004 started with pid=37 OS id=8861
LOGMINER: session# = 1, reader process P002 started with pid=35 OS id=8857
Thu Oct 25 14:03:32 2007
LOGSTDBY Parameter: DISABLE_APPLY_DELAY =
LOGSTDBY Parameter: LOG_AUTO_DELETE = FALSE
LOGSTDBY Parameter: MAX_SGA = 100
LOGSTDBY Parameter: REAL_TIME =
Completed: ALTER DATABASE START LOGICAL STANDBY APPLY IMMEDIATE
LOGSTDBY Analyzer process P005 started with pid=39 OS id=8927
LOGSTDBY Apply process P009 started with pid=43 OS id=8935
LOGSTDBY Apply process P007 started with pid=41 OS id=8931
Thu Oct 25 14:03:33 2007
LOGMINER: Begin mining logfile:/oradata/prod/HARDWSTD/stdby/1_363_600866453.dbf
LOGSTDBY Apply process P010 started with pid=44 OS id=8937
LOGSTDBY Apply process P008 started with pid=42 OS id=8933
LOGSTDBY Apply process P006 started with pid=40 OS id=8929
Thu Oct 25 14:03:34 2007
LOGMINER: End mining logfile:/oradata/prod/HARDWSTD/stdby/1_363_600866453.dbf
The standby parameter
SQL> show parameter log_archive_dest_1
NAME TYPE VALUE
log_archive_dest_1 string LOCATION=/orachive/prod/HARDDWSTD/stdby,      
                         valid_for=(ALL_ROLES,ONLINE_LOGFILE )

Similar Messages

  • Standby not applying the online redo logs

    Hi,
    The redo apply process does not seem to apply the current logs to the standby database.
    The output from the query
    Select last_change#, sequence# from v$standby_log;
    LAST_CHANGE# GROUP# SEQUENCE#
    4 0
    10120537 5 8586
    6 0
    7 0
    gives me the current SCN as that of the primary.
    But the CURRENT_SCN from v$database on the standby lags from that of the output above.
    Select CURRENT_SCN from v$database;
    CURRENT_SCN
    10119641
    The STATUS and PROCESS information from the v$managed_standby show the following:
    PROCESS STATUS SEQUENCE#
    ARCH CONNECTED 0
    ARCH CONNECTED 0
    ARCH CONNECTED 0
    ARCH CONNECTED 0
    RFS IDLE 0
    RFS IDLE 0
    RFS IDLE 8586
    RFS IDLE 0
    RFS IDLE 0
    RFS IDLE 0
    RFS IDLE 0
    PROCESS STATUS SEQUENCE#
    MRP0 APPLYING_LOG 8586
    Any thoughts on why the standby has not applied the recived logs from the primary?
    I am currently using version Oracle 11.2.0.2 for Active dataguard setup. I currently have a primary server and one standy server.
    Thanks

    I had sent the output of the queries in the earlier post. Here it is again
    The output for the query
    select thread#, max(sequence#) from v$archived_log group by thread#; (on primary)
    THREAD# MAX(SEQUENCE#)
    1 8585
    The output for
    select thread#, max(sequence#) from v$archived_log where applied = 'YES' group by thread#; (on standby)
    THREAD# MAX(SEQUENCE#)
    1 8585
    Also the query
    select LAST_CHANGE#, STATUS from V$STANDBY_LOG;
    gives me the current scn generated at the primary.
    LAST_CHANGE# STATUS
    10149990 ACTIVE
    10146538 ACTIVE
    10150844 ACTIVE
    But the current_scn from v$database is lagging.
    select current_scn from v$database;
    CURRENT_SCN
    10146535
    Also the query
    select  THREAD#, LOW_SEQUENCE#, HIGH_SEQUENCE# from v$archive_gap;
    returns no rows. So there are no archive logs missing on the standby either.
    So I beleive that the RFS has recieved the logs from the primary but the logs have not been applied at the standby.
    Thanks

  • Redo apply is not done in physical standby database

    Please help me to resolve the issue, tnsping are working. but getting following output in data guard configuration.
    From primary database,
    Code: [Select all] [Show/ hide]
    SQL> select max(sequence#), thread# from v$archived_log group by thread#;
    MAX(SEQUENCE#) THREAD#
    124 1
    94 2
    SQL> col DESTINATION for a40
    SQL> SELECT DESTINATION, STATUS, ARCHIVED_THREAD#, ARCHIVED_SEQ# -
    FROM V$ARCHIVE_DEST_STATUS -
    WHERE STATUS <> 'DEFERRED' AND STATUS <> 'INACTIVE';SELECT DEST_ID "ID",STATUS "DB_status",DESTINATION "Archive_dest",ERROR "Error" FROM V$ARCHIVE_DEST WHERE DEST_ID =2;
    select error from v$archive_dest_status where error is not null;
    DESTINATION STATUS ARCHIVED_THREAD#
    ARCHIVED_SEQ#
    VALID 1
    124
    bddipdrs ERROR 0
    0
    SQL> SQL> SQL>
    ID DB_status
    Archive_dest
    Error
    2 ERROR
    bddipdrs
    ORA-16198: Timeout incurred on internal channel during remote
    archival
    From standby database,
    Code: [Select all] [Show/ hide]
    SQL> select max(sequence#), thread# from v$archived_log group by thread#;
    col DESTINATION for a40
    no rows selected
    SQL> SQL> SQL> SELECT DESTINATION, STATUS, ARCHIVED_THREAD#, ARCHIVED_SEQ# -
    FROM V$ARCHIVE_DEST_STATUS -
    WHERE STATUS <> 'DEFERRED' AND STATUS <> 'INACTIVE';SELECT DEST_ID "ID",STATUS "DB_status",DESTINATION "Archive_dest",ERROR "Error" FROM V$ARCHIVE_DEST WHERE DEST_ID =2;
    DESTINATION STATUS ARCHIVED_THREAD#
    ARCHIVED_SEQ#
    VALID 0
    0
    bddipdrs VALID 0
    0
    VALID 0
    0
    SQL> SQL> SQL>
    ID DB_status
    Archive_dest
    Error
    2 VALID
    bddipdrs
    SQL> SQL> select error from v$archive_dest_status where error is not null;
    no rows selected
    From standby database,
    Code: [Select all] [Show/ hide]
    <msg time='2010-09-02T21:30:25.422+06:00' org_id='oracle' comp_id='rdbms'
    client_id='' type='UNKNOWN' level='16'
    host_id='DRS-DB-01' host_addr='192.168.105.101' module='oracle@DC-DB-01 (TNS V1-V3)'
    pid='13010'>
    <txt>RFS[2]: Possible network disconnect with primary database
    </txt>
    </msg>
    <msg time='2010-09-02T21:31:19.259+06:00' org_id='oracle' comp_id='rdbms'
    client_id='' type='UNKNOWN' level='16'
    host_id='DRS-DB-01' host_addr='192.168.105.101' module='oracle@DC-DB-01 (TNS V1-V3)'
    pid='13014'>
    <txt>RFS[6]: Possible network disconnect with primary database
    </txt>
    </msg>
    <msg time='2010-09-02T21:31:19.265+06:00' org_id='oracle' comp_id='rdbms'
    client_id='' type='UNKNOWN' level='16'
    host_id='DRS-DB-01' host_addr='192.168.105.101' module=''
    pid='13014'>
    <txt>Deleted Oracle managed file +RECOVERY/bddipdrs/archivelog/2010_09_02/thread_2_seq_90.289.728688311
    </txt>
    </msg>
    <msg time='2010-09-02T21:32:10.314+06:00' org_id='oracle' comp_id='rdbms'
    client_id='' type='UNKNOWN' level='16'
    host_id='DRS-DB-01' host_addr='192.168.105.101' module='oracle@DC-DB-01 (TNS V1-V3)'
    pid='13020'>
    <txt>RFS[7]: Possible network disconnect with primary database
    </txt>
    </msg>
    <msg time='2010-09-02T21:32:59.423+06:00' org_id='oracle' comp_id='rdbms'
    client_id='' type='UNKNOWN' level='16'
    host_id='DRS-DB-01' host_addr='192.168.105.101' module='oracle@DC-DB-01 (TNS V1-V3)'
    pid='13026'>
    <txt>RFS[10]: Possible network disconnect with primary database
    </txt>
    </msg>
    <msg time='2010-09-02T21:32:59.430+06:00' org_id='oracle' comp_id='rdbms'
    client_id='' type='UNKNOWN' level='16'
    host_id='DRS-DB-01' host_addr='192.168.105.101' module=''
    pid='13026'>
    <txt>Deleted Oracle managed file +RECOVERY/bddipdrs/archivelog/2010_09_02/thread_1_seq_107.288.728688311
    </txt>
    </msg>
    <msg time='2010-09-02T21:33:00.664+06:00' org_id='oracle' comp_id='rdbms'
    client_id='' type='UNKNOWN' level='16'
    host_id='DRS-DB-01' host_addr='192.168.105.101' module=''
    pid='13519'>
    <txt>Fetching gap sequence in thread 1, gap sequence 107-122
    </txt>
    </msg>
    <msg time='2010-09-02T21:33:45.941+06:00' org_id='oracle' comp_id='rdbms'
    client_id='' type='UNKNOWN' level='16'
    host_id='DRS-DB-01' host_addr='192.168.105.101' module='oracle@DC-DB-01 (TNS V1-V3)'
    pid='13012'>
    <txt>RFS[3]: Possible network disconnect with primary database
    </txt>
    </msg>
    <msg time='2010-09-02T21:33:45.947+06:00' org_id='oracle' comp_id='rdbms'
    client_id='' type='UNKNOWN' level='16'
    host_id='DRS-DB-01' host_addr='192.168.105.101' module=''
    pid='13012'>
    <txt>Deleted Oracle managed file +RECOVERY/bddipdrs/archivelog/2010_09_02/thread_2_seq_89.301.728688311
    </txt>
    </msg>
    From primary database,
    Code: [Select all] [Show/ hide]
    <msg time='2010-09-02T21:34:23.966+06:00' org_id='oracle' comp_id='rdbms'
    client_id='' type='UNKNOWN' level='16'
    host_id='DC-DB-01' host_addr='192.168.100.101' module=''
    pid='9533'>
    <txt>Reclaiming FAL entry from dead process [pid 5732]
    </txt>
    </msg>
    <msg time='2010-09-02T21:34:23.976+06:00' org_id='oracle' comp_id='rdbms'
    client_id='' type='UNKNOWN' level='16'
    host_id='DC-DB-01' host_addr='192.168.100.101' module=''
    pid='9519'>
    <txt>Reclaiming FAL entry from dead process [pid 5720]
    </txt>
    </msg>
    <msg time='2010-09-02T21:34:23.992+06:00' org_id='oracle' comp_id='rdbms'
    client_id='' type='UNKNOWN' level='16'
    host_id='DC-DB-01' host_addr='192.168.100.101' module=''
    pid='9511'>
    <txt>Reclaiming FAL entry from dead process [pid 5734]
    </txt>
    </msg>
    <msg time='2010-09-02T21:34:23.999+06:00' org_id='oracle' comp_id='rdbms'
    client_id='' type='UNKNOWN' level='16'
    host_id='DC-DB-01' host_addr='192.168.100.101' module=''
    pid='9523'>
    <txt>Reclaiming FAL entry from dead process [pid 5724]
    </txt>
    </msg>
    <msg time='2010-09-02T21:34:24.002+06:00' org_id='oracle' comp_id='rdbms'
    client_id='' type='UNKNOWN' level='16'
    host_id='DC-DB-01' host_addr='192.168.100.101' module=''
    pid='9513'>
    <txt>Reclaiming FAL entry from dead process [pid 5730]
    </txt>
    </msg>
    <msg time='2010-09-02T21:34:24.011+06:00' org_id='oracle' comp_id='rdbms'
    client_id='' type='UNKNOWN' level='16'
    host_id='DC-DB-01' host_addr='192.168.100.101' module=''
    pid='9517'>
    <txt>Reclaiming FAL entry from dead process [pid 5728]
    </txt>
    </msg>
    <msg time='2010-09-02T21:34:24.013+06:00' org_id='oracle' comp_id='rdbms'
    client_id='' type='UNKNOWN' level='16'
    host_id='DC-DB-01' host_addr='192.168.100.101' module=''
    pid='9509'>
    <txt>Reclaiming FAL entry from dead process [pid 5738]
    </txt>
    </msg>
    <msg time='2010-09-02T21:34:24.014+06:00' org_id='oracle' comp_id='rdbms'
    client_id='' type='UNKNOWN' level='16'
    host_id='DC-DB-01' host_addr='192.168.100.101' module=''
    pid='9531'>
    <txt>Reclaiming FAL entry from dead process [pid 5740]
    </txt>
    </msg>
    <msg time='2010-09-02T21:34:24.031+06:00' org_id='oracle' comp_id='rdbms'
    client_id='' type='UNKNOWN' level='16'
    host_id='DC-DB-01' host_addr='192.168.100.101' module=''
    pid='9529'>
    <txt>Reclaiming FAL entry from dead process [pid 5742]
    </txt>
    </msg>
    <msg time='2010-09-02T21:34:24.048+06:00' org_id='oracle' comp_id='rdbms'
    client_id='' type='UNKNOWN' level='16'
    host_id='DC-DB-01' host_addr='192.168.100.101' module=''
    pid='9539'>
    <txt>Reclaiming FAL entry from dead process [pid 5746]
    </txt>
    </msg>
    <msg time='2010-09-02T21:34:24.058+06:00' org_id='oracle' comp_id='rdbms'
    client_id='' type='UNKNOWN' level='16'
    host_id='DC-DB-01' host_addr='192.168.100.101' module=''
    pid='9547'>
    <txt>Reclaiming FAL entry from dead process [pid 5750]
    </txt>
    </msg>
    <msg time='2010-09-02T21:34:24.768+06:00' org_id='oracle' comp_id='rdbms'
    client_id='' type='UNKNOWN' level='16'
    host_id='DC-DB-01' host_addr='192.168.100.101' module=''
    pid='5697'>
    <txt>ARCt: Archival started
    </txt>
    </msg>
    <msg time='2010-09-02T21:34:24.768+06:00' org_id='oracle' comp_id='rdbms'
    client_id='' type='UNKNOWN' level='16'
    host_id='DC-DB-01' host_addr='192.168.100.101' module=''
    pid='5697'>
    <txt>ARC3: STARTING ARCH PROCESSES COMPLETE
    </txt>
    </msg>
    <msg time='2010-09-02T21:34:25.798+06:00' org_id='oracle' comp_id='rdbms'
    client_id='' type='UNKNOWN' level='16'
    host_id='DC-DB-01' host_addr='192.168.100.101' module=''
    pid='5744'>
    <txt>ARCq: Standby redo logfile selected for thread 1 sequence 122 for destination LOG_ARCHIVE_DEST_2
    </txt>
    </msg>
    <msg time='2010-09-02T21:34:25.815+06:00' org_id='oracle' comp_id='rdbms'
    client_id='' type='UNKNOWN' level='16'
    host_id='DC-DB-01' host_addr='192.168.100.101' module=''
    pid='5695'>
    <txt>ARC2: Standby redo logfile selected for thread 2 sequence 88 for destination LOG_ARCHIVE_DEST_2
    </txt>
    </msg>
    <msg time='2010-09-02T21:34:26.535+06:00' org_id='oracle' comp_id='rdbms'
    client_id='' type='UNKNOWN' level='16'
    host_id='DC-DB-01' host_addr='192.168.100.101' module=''
    pid='9515'>
    <txt>ARCd: Standby redo logfile selected for thread 1 sequence 110 for destination LOG_ARCHIVE_DEST_2
    </txt>
    </msg>
    <msg time='2010-09-02T21:34:27.174+06:00' org_id='oracle' comp_id='rdbms'
    client_id='' type='UNKNOWN' level='16'
    host_id='DC-DB-01' host_addr='192.168.100.101' module=''
    pid='9529'>
    <txt>ARCk: Standby redo logfile selected for thread 1 sequence 120 for destination LOG_ARCHIVE_DEST_2
    </txt>
    </msg>
    <msg time='2010-09-02T21:34:27.402+06:00' org_id='oracle' comp_id='rdbms'
    client_id='' type='UNKNOWN' level='16'
    host_id='DC-DB-01' host_addr='192.168.100.101' module=''
    pid='9533'>
    <txt>ARCm: Standby redo logfile selected for thread 1 sequence 112 for destination LOG_ARCHIVE_DEST_2
    </txt>
    </msg>
    <msg time='2010-09-02T21:34:27.498+06:00' org_id='oracle' comp_id='rdbms'
    client_id='' type='UNKNOWN' level='16'
    host_id='DC-DB-01' host_addr='192.168.100.101' module=''
    pid='9511'>
    <txt>ARCb: Standby redo logfile selected for thread 1 sequence 114 for destination LOG_ARCHIVE_DEST_2
    </txt>
    </msg>
    <msg time='2010-09-02T21:34:28.205+06:00' org_id='oracle' comp_id='rdbms'
    client_id='' type='UNKNOWN' level='16'
    host_id='DC-DB-01' host_addr='192.168.100.101' module=''
    pid='9527'>
    <txt>ARCj: Standby redo logfile selected for thread 1 sequence 111 for destination LOG_ARCHIVE_DEST_2
    </txt>
    </msg>
    <msg time='2010-09-02T21:34:28.592+06:00' org_id='oracle' comp_id='rdbms'
    client_id='' type='UNKNOWN' level='16'
    host_id='DC-DB-01' host_addr='192.168.100.101' module=''
    pid='9531'>
    <txt>ARCl: Standby redo logfile selected for thread 1 sequence 119 for destination LOG_ARCHIVE_DEST_2
    </txt>
    </msg>

    Hi,
    I am currently facing the same issue with same set of errors from primary and standby.
    Mine is a 11gR2 2 node RAC on RHEL5 with a single node standby.
    However in my case, whenever i switch a logfile on the primary database, only 17 MB or less is being shipped per archive where size of redo log is 500 mb.
    Any help would be really appreciated.
    Thanks,
    Rahul Singh.

  • Where RFS exactly write redo data ?  ( archived redo log or standby redo log ) ?

    Good Morning to all ;
    I am getting bit confused from oracle official link . REF_LINK : Log Apply Services
    Redo data transmitted from the primary database is received by the RFS on the standby system ,
    where the RFS process writes the redo data to either archived redo log files  or  standby redo log files.
    In standby site , does rfs write redo data in any one file or both ?
    Thanks in advance ..

    Hi GTS,
    GTS (DBA) wrote:
    Primary & standby log file size should be same - this is okay.
    1) what are trying to disclose about  largest & smallest here ? -  You are confusing.
    Read: http://docs.oracle.com/cd/E11882_01/server.112/e25608/log_transport.htm#SBYDB4752
    "Each standby redo log file must be at least as large as the largest redo log file in the redo log of the redo source database. For administrative ease, Oracle recommends that all redo log files in the redo log at the redo source database and the standby redo log at a redo transport destination be of the same size."
    GTS (DBA) wrote:
    2) what abt group members ? should be same as primary or need  to add some members additionally. ?
    Data Guard best practice for performance, is to create one member per each group in standby DB. on standby DB, one member per group is reasonable enough. why? to avoid write penalty; writing to more than one log files at the standby DB.
    SCENARIO 1: if in your source primary DB you have 2 log member per group, in standby DB you can have 1 member  per group, additionally create an extra group.
    primary
    standby
    Member per group
    2
    1
    Number of log group
    4
    5
    SCENARIO 2: you can also have this scenario 2 but i will not encourage it
    primary
    standby
    Member per group
    2
    2
    Number of log group
    4
    5
    GTS (DBA) wrote:
    All standby redo logs of the correct size have not yet been archived.
      - at this situation , can we force on standby site ? any possibilities ? 
    you can not force it , just size your standby redo files correctly and make sure you don not have network failure that will cause redo gap.
    hope there is clarity now
    Tobi

  • Require 9i Primary and Standby redo logs files same size?

    Hi,
    We have 9.2.0.6 Oracle RAC (2 node) and configured data guard (physical standby).
    I want to increase redo log files size, but i can't this do same time primary and standby side.
    Is there a rule, primary and standby database instances have same size redo log files?
    If I increase only primary redo log files, is there any side effect? However I try this issue on test system. I increased all primary redo log files(if status='INACTIVE' drop redo log group and add redo log group, switch logfile,...)
    , but i couldn't changed standby side. So the system is work well. Is this correct solution or not? How can i increase both sides redo log files?
    Thank you for helps..

    Thank you for your helps.. I found this issue answer:
    http://download-west.oracle.com/docs/cd/B19306_01/server.102/b14239/manage_ps.htm#i1010448
    Consequently, when you add or drop an online redo log file at the primary site, it is important that you synchronize the changes in the standby database by following these steps:
    If Redo Apply is running, you must cancel Redo Apply before you can change the log files.
    If the STANDBY_FILE_MANAGEMENT initialization parameter is set to AUTO, change the value to MANUAL.
    Add or drop an online redo log file:
    To add an online redo log file, use a SQL statement such as this:
    SQL> ALTER DATABASE ADD LOGFILE '/disk1/oracle/oradata/payroll/prmy3.log' SIZE 100M;
    To drop an online redo log file, use a SQL statement such as this:
    SQL> ALTER DATABASE DROP LOGFILE '/disk1/oracle/oradata/payroll/prmy3.log';
    Repeat the statement you used in Step 3 on each standby database.
    Restore the STANDBY_FILE_MANAGEMENT initialization parameter and the Redo Apply options to their original states.
    bye..

  • The file structure online redo log, archived redo log and standby redo log

    I have read some Oracle documentation for file structure and settings in Data Guard environment. But I still have some doubts. What is the best file structure or settings in Oracle 10.2.0.4 on UNIX for a data guard environment with 4 primary databases and 4 physical standby databases. Based on Oracle documents, there are 3 redo logs. They are: online redo logs, archived redo logs and standby redo logs. The basic settings are:
    1. Online redo logs --- This redo log must be on Primary database and logical standby database. But it is not necessary to be on physical standby database because physical standby is not open. It doesn't generate redo log. However, if don't set up online redo log on physical standby, when primary failover and switch standby as primary. How can standby perform without online redo logs? In my standby databases, online redo logs have been set up.
    2. Archived redo logs --- It is obviously that primary database, logical and physical standby database all need to have this log file being set up. Primary use it to archive log files and ship to standby. Standby use it to receive data from archived log and apply to database.
    3. Standby redo logs --- In the document, it says A standby redo log is similar to an online redo log, except that a standby redo log is used to store redo data received from another database. A standby redo log is required if you want to implement: The maximum protection and maximum availability levels of data protection and Real-time apply as well as Cascaded destinations. So it seems that this standby redo log only should be set up on standby database, not on primary database. Am my understanding correct? Because I review current redo log settings on my environment, I have found that Standby redo log directory and files have been set up on both primary and standby databases. I would like to get more information and education from experts. What is the best setting or structure on primary and standby database?

    FZheng:
    Thanks for your input. It is clear that we need 3 type of redo logs on both databases. You answer my question.
    But I have another one. In oracle ducument, it says If you have configured a standby redo log on one or more standby databases in the configuration, ensure the size of the current standby redo log file on each standby database exactly matches the size of the current online redo log file on the primary database. It says: At log switch time, if there are no available standby redo log files that match the size of the new current online redo log file on the primary database. The primary database will shut down
    My current one data gurard envirnment setting is: On primary DB, online redo log group size is 512M and standby redo log group size is 500M. On the standby DB, online redo log group size is 500M and standby redo log group size is 750M.
    This was setup by someone I don't know. Is this setting OK? or I should change Standby Redo Log on standby DB to 512M to exactly meatch with redo log size on primary?
    Edited by: 853153 on Jun 22, 2011 9:42 AM

  • Standby Redo log creation

    DB version: 11.2
    OS : AIX 6.1
    We have a 2 node RAC. We have one Disk group for all datafiles, tempfiles, redo logs,..etc.
    Currenly in our primary DB, Redo logs look like
    SQL> SELECT a.group#, b.thread#, a.member, b.bytes
    FROM v$logfile a, v$log b WHERE a.group# = b.group#
    order by a.group# , b.thread#  2    3  ;
             GROUP#         THREAD# MEMBER                                BYTES
                  1               1 +ORCL_DG/orcl/orcl_log01.dbf         104857600
                  2               1 +ORCL_DG/orcl/orcl_log02.dbf         104857600
                  3               1 +ORCL_DG/orcl/orcl_log03.dbf         104857600
                  4               2 +ORCL_DG/orcl/orcl_log04.dbf         104857600
                  5               2 +ORCL_DG/orcl/orcl_log05.dbf         104857600
                  6               2 +ORCL_DG/orcl/orcl_log06.dbf         104857600
    6 rows selected.
    1 member per group
    3 group per instanceWe need to create a physical standby DB for the above DB with Real Time apply. For standby Redo logs, I need one extra log file for each Instance.
    So, I am going to add
         group# 7 for thread 1
         and
         group# 8 for thread 2
    Finally , SRLs will look like
             GROUP#         THREAD# MEMBER                                BYTES
                  1               1 +ORCL_DG/orcl/orcl_log01.dbf         104857600
                  2               1 +ORCL_DG/orcl/orcl_log02.dbf         104857600
                  3               1 +ORCL_DG/orcl/orcl_log03.dbf         104857600
               7               1 +ORCL_DG/orcl/orcl_log07.dbf         104857600  ------->  Additional
                  4               2 +ORCL_DG/orcl/orcl_log04.dbf         104857600
                  5               2 +ORCL_DG/orcl/orcl_log05.dbf         104857600
                  6               2 +ORCL_DG/orcl/orcl_log06.dbf         104857600
               8               2 +ORCL_DG/orcl/orcl_log08.dbf         104857600  ------->  AdditionalAnything wrong with my proposed SRL creation ?

    JOE_humble wrote:
    DB version: 11.2
    OS : AIX 6.1
    We have a 2 node RAC. We have one Disk group for all datafiles, tempfiles, redo logs,..etc.
    Currenly in our primary DB, Redo logs look like
    SQL> SELECT a.group#, b.thread#, a.member, b.bytes
    FROM v$logfile a, v$log b WHERE a.group# = b.group#
    order by a.group# , b.thread#  2    3  ;
    GROUP#         THREAD# MEMBER                                BYTES
    1               1 +ORCL_DG/orcl/orcl_log01.dbf         104857600
    2               1 +ORCL_DG/orcl/orcl_log02.dbf         104857600
    3               1 +ORCL_DG/orcl/orcl_log03.dbf         104857600
    4               2 +ORCL_DG/orcl/orcl_log04.dbf         104857600
    5               2 +ORCL_DG/orcl/orcl_log05.dbf         104857600
    6               2 +ORCL_DG/orcl/orcl_log06.dbf         104857600
    6 rows selected.
    1 member per group
    3 group per instanceWe need to create a physical standby DB for the above DB with Real Time apply. For standby Redo logs, I need one extra log file for each Instance.
    So, I am going to add
         group# 7 for thread 1
         and
         group# 8 for thread 2
    Finally , SRLs will look like
    GROUP#         THREAD# MEMBER                                BYTES
    1               1 +ORCL_DG/orcl/orcl_log01.dbf         104857600
    2               1 +ORCL_DG/orcl/orcl_log02.dbf         104857600
    3               1 +ORCL_DG/orcl/orcl_log03.dbf         104857600
               7               1 +ORCL_DG/orcl/orcl_log07.dbf         104857600  ------->  Additional
    4               2 +ORCL_DG/orcl/orcl_log04.dbf         104857600
    5               2 +ORCL_DG/orcl/orcl_log05.dbf         104857600
    6               2 +ORCL_DG/orcl/orcl_log06.dbf         104857600
               8               2 +ORCL_DG/orcl/orcl_log08.dbf         104857600  ------->  AdditionalAnything wrong with my proposed SRL creation ?You have to create equal numbers & equal or greater size of standby redo log files than Online redo log files.
    Refer http://www.pythian.com/news/581/oracle-standby-redo-logs/ to configure standby redo log files.

  • Standby redo log

    In what situation, standby redo logs are mandatory.
    I have the below settings and my DATA GAURD setup (10.2.0.3) is working fine without Stdby redo logs.
    Just wondering when do i need standby redo logs.
    SQL> show parameter log_Archive_dest_2
    NAME TYPE VALUE
    log_archive_dest_2 string SERVICE=TO_STANDBY LGWR ASYNC
    AFFIRM DB_UNIQUE_NAME=stand
    SQL> select protection_mode from v$database;
    PROTECTION_MODE
    MAXIMUM PERFORMANCE

    888442 wrote:
    In what situation, standby redo logs are mandatory.
    I have the below settings and my DATA GAURD setup (10.2.0.3) is working fine without Stdby redo logs.
    Just wondering when do i need standby redo logs.
    SQL> show parameter log_Archive_dest_2
    NAME TYPE VALUE
    log_archive_dest_2 string SERVICE=TO_STANDBY LGWR ASYNC AFFIRM DB_UNIQUE_NAME=stand
    SQL> select protection_mode from v$database;
    PROTECTION_MODE
    MAXIMUM PERFORMANCEHi,
    Standby Redo Logs (SRL) require when you are using MAX AVAILABILITY and MAX PROTECTIN protection modes. So SRL using for Real Time Apply.
    In your case (Max Performance) if you want real time apply on standby you must add SRLs to standby database.
    Best practice we adding standby redo logs to primary and standby database same time, but when database role is standby then using SRLs.
    You can ask, why also to primary? Because we can switchover to standby, then priamry role will change to standby, then will use SRLs.
    Regards
    Mahir M. Quluzade

  • Standby redo log group for particular thread

    hi masters,
    actually i am performing an experiment to create physical standbyt database on the same machine as my primary database.
    i ma going according to 'data guard admin guide'. while section for ading standby redo log group,it says that you have to add standby redo log group to "thread"....
    what is this thread? and how can i foind to which thread i have to assign the next redo log group??
    how can i find current thread??
    what if i dont add "to thread' clause in my statement:-
    ALTER DATABASE ADD STANDBY LOGFILE THREAD 5
    2> ('/oracle/dbs/log1c.rdo','/oracle/dbs/log2c.rdo') SIZE 500M;
    thanks and regards
    VD

    Vikrant,
    First a question: Do you have a RAC instance? If so the paragraph even doesn't apply to you and I'm not sure why you are questioning it.
    Secondly
    "The THREAD clause is required only if you want to add one or more standby redo log
    file groups to a specific primary database thread. If you do not include the THREAD
    clause and the configuration uses Real Application Clusters (RAC), Data Guard will
    automatically assign standby redo log file groups to threads at runtime as they are
    needed by the various RAC instances."
    this means you dont have to specify thread for RAC,as it will allocate one according to current thread.
    Your conclusion is incorrect.
    Where do you read the word 'current'?
    Oracle will likely simply make sure each instance has sufficient standby redolog groups, the requirement is 1 standby redolog group per group + 1 extra.
    Sybrand Bakker
    Senior Oracle DBA

  • Standby Redo Log just sits as IN-MEMORY

    Hi, I have shipped an archived redo log from my Primary to my physical standby.
    I can see the log arriving at my Standby and being applied
    select thread#, max(sequence#) "Last Standby Seq Received"
    from v$archived_log val, v$database vdb
    where val.resetlogs_change# = vdb.resetlogs_change#
    group by thread# order by 1;
    returns
       THREAD# Last Standby Seq Received
             1                       151
    select thread#, max(sequence#) "Last Standby Seq Applied"
    from v$archived_log val, v$database vdb
    where val.resetlogs_change# = vdb.resetlogs_change#
    and applied='YES'
    group by thread# order by 1;
       THREAD# Last Standby Seq Applied
             1                      150
    select stamp,name,applied
    from v$archived_log
    where applied != 'YES'
        STAMP
    NAME
    APPLIED
    827498375
    /home/app/oracle/fast_recovery_area/STANDBYL/archivelog/2013_09_30/o1_mf_1_151_9
    4lrqpj3_.arc
    IN-MEMORY
    This log continually sits like this
    I know that Redo Appply is active
    select * from v$managed_standby where process = 'MRP0';
    PROCESS          PID STATUS       CLIENT_P
    CLIENT_PID
    CLIENT_DBID
    GROUP#                                   RESETLOG_ID    THREAD#  SEQUENCE#
        BLOCK#     BLOCKS DELAY_MINS KNOWN_AGENTS ACTIVE_AGENTS
    MRP0            3068 APPLYING_LOG N/A
    N/A
    N/A
    N/A                                        820252586          1        152
          5038     102400          0            3             3
    It looks as if 151 has been applied - yet
    select thread#, max(sequence#) "Last Standby Seq Applied"
    from v$archived_log val, v$database vdb
    where val.resetlogs_change# = vdb.resetlogs_change#
    and applied='YES'
    group by thread# order by 1;
    still shows 150 !
    151 is not that big, I still would have expected it to have applied by now ( in excess of 30 mins )
    Also I know there is no defer or time delay on the archive_destination setting on the Primary.
    Any ideas why this standby redo log just sits IN-MEMORY ?
    thanks,
    Jim

    Hello;
    Not able to reproduce issue. Using Oracle 11.2.0.3 without Real-time apply.
    select thread#, max(sequence#) "Last Standby Seq Received"
    from v$archived_log val, v$database vdb
    where val.resetlogs_change# = vdb.resetlogs_change#
    group by thread# order by 1;
    THREAD#                Last Standby Seq Received
    1                      194    
    select thread#, max(sequence#) "Last Standby Seq Applied"
    from v$archived_log val, v$database vdb
    where val.resetlogs_change# = vdb.resetlogs_change#
    and applied='YES'
    group by thread# order by 1;
    THREAD#                Last Standby Seq Applied
    1                      194         
    select thread#, max(sequence#) "Last Standby Seq Applied"
    from v$archived_log val, v$database vdb
    where val.resetlogs_change# = vdb.resetlogs_change#
    And Applied='YES'
    group by thread# order by 1;
    THREAD#                Last Standby Seq Applied
    1                      194   
    SELECT ARCH.THREAD# "Thread", ARCH.SEQUENCE# "Last Sequence Received", APPL.SEQUENCE# "Last Sequence Applied"
    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;
    Thread                 Last Sequence Received Last Sequence Applied 
    1                      194                    194                  
    select * from v$managed_standby where process = 'MRP0';
    ( shows the next sequence 195 on mine )
    Is it possible the Standby has one extra archive? I've noticed that sometime you will see one extra on that side which appears to have nothing to do with the Data Guard process.
    Best Regards
    mseberg

  • What is the purpose of standby redo log files

    Hi,
    What is the purpose of the standby redo log files in DR?
    what if the standby redo log files are created? or else not created?
    Please explain
    Thanks

    3.1.3 Configure a Standby Redo LogA standby redo log is required for the maximum protection and maximum availability modes and the LGWR ASYNC transport mode is recommended for all databases. Data Guard can recover and apply more redo data from a standby redo log than from archived redo log files alone.
    You should plan the standby redo log configuration and create all required log groups and group members when you create the standby database. For increased availability, consider multiplexing the standby redo log files, similar to the way that online redo log files are multiplexed.>
    Reference http://download.oracle.com/docs/cd/B19306_01/server.102/b14239/create_ps.htm#i1225703
    HTH
    Anand

  • Dataguard lost both Primary redo log and standby redo log files

    Hi,
    I am new to data guard, i came acorss a scenario where we loose both primary redo log file and standby redo log files.
    Can someone please help me understand how to recover from this situation.
    Thanks!

    >loose both primary redo log file and standby redo log files
    We have to be very clear.
    There are (set A) online redo log files  and (set B) standby redo log files at (location 1) Primary and (location 2) Standby.
    The standby redo log files, depending on the configuration, aren't strictly mandatory.  The standby can be applying redo without online redo log files present as well, depending on how it was setup.
    So, the question is  : Did you lose online redo log files at the primary ?  Didn't the primary shutdown itself then ? If so, you have to do an incomplete recovery at the primary OR switch over to the standby (which may or may not have received the last transaction, depending on how it was configured and operating)   OR restore from the standby (again, with possible loss of transactions) to the primary.
    Hemant K Chitale

  • Use of standby redo log files in primary database

    Hi All,
    What is the exact use of setting up standby redo log files in the primary database on a data guard setup?
    any good documents?

    A standby redo log is required for the maximum protection and maximum availability modes and the LGWR ASYNC transport mode is recommended for all databases. Data Guard can recover and apply more redo data from a standby redo log than from archived redo log files alone.
    You should plan the standby redo log configuration and create all required log groups and group members when you create the standby database. For increased availability, consider multiplexing the standby redo log files, similar to the way that online redo log files are multiplexed.
    refer the link,and Perform the following steps to configure the standby redo log.:-
    http://download.oracle.com/docs/cd/B19306_01/server.102/b14239/create_ps.htm#i1225703
    If the real-time apply feature is enabled, log apply services can apply redo data as it is received, without waiting for the current standby redo log file to be archived. This results in faster switchover and failover times because the standby redo log files have been applied already to the standby database by the time the failover or switchover begins.
    refer the link
    http://download.oracle.com/docs/cd/B19306_01/server.102/b14239/log_apply.htm#i1023371

  • Standby Redo Log Files ?

    Hi Everyone,
    Today after reading two different sources for Standby Protection Modes i found myself puzzled and stuck. One of the article from Burleson.com says 'Oracle supports the standby redo logs on a logical standby database and can now be configured in maximum data protection modes such as MAXIMUM PROTECTION ...'
    On the other hand on some of the blogs and other resources to read, i found it something opposite to what Burleson Consulting posted on their website.
    [http://4.bp.blogspot.com/-t0G_-xc8EAs/Tpvx9w2t8oI/AAAAAAAAAN4/Jw3U9s89Wtk/s1600/final.JPG|http://4.bp.blogspot.com/-t0G_-xc8EAs/Tpvx9w2t8oI/AAAAAAAAAN4/Jw3U9s89Wtk/s1600/final.JPG]
    or
    Blog from Jeff Hunter
    [http://www.idevelopment.info/data/Oracle/DBA_tips/Data_Guard/DG_3.shtml|http://www.idevelopment.info/data/Oracle/DBA_tips/Data_Guard/DG_3.shtml]
    Minimum Requirements for Data Protection Modes
         Maximum Protection      Maximum Availability      Maximum Performance
    Redo Archival Process      LGWR      LGWR      LGWR or ARCH
    Network Transmission Mode SYNC      SYNC      ASYNC when using LGWR process. Not applicable when using ARCH process.
    Disk Write Option      AFFIRM      AFFIRM      NOAFFIRM
    Standby Redo Logs Required?      Yes      Required for physical standby databases only (Standby redo logs are not supported for logical standby databases.)      Required for physical standby databases using the LGWR process.
    Database Type      Physical only      Physical and Logical      Physical and Logical
    Please help me to find true between the two.
    Or please provide any doc to read.
    Thanks
    Prashant Dixit

    Maximum Protection Maximum Availability Maximum PerformanceDepends on Business requirement, By default Performance[most of the clients]
    Redo Archival Process ? ? ?LGWR recommended in Max performance
    Network Transmission Mode ? ? ?Depends. If max performance asynchronous
    Disk Write Option ? ? ?Not clear
    Standby Redo Logs Required? ? ? ?If real time apply - YES
    Database Type ? ? ?not clear,
    Assuming physical or logical? --Depends on requirement , Preferably Physical.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           

  • Resuming the REDO APPLY : 10g and 11g Differences

    Versions > 10.2, 11.2
    OS > Solaris
    I have a question on step4 below.
    Both in 10g and 11g versions, for a Physical Standby DB, you
    Step1.
    Mount the DB using
    startup nomount; 
    alter database mount ;Step2. Start the REDO Apply using
    alter database recover managed standby database disconnect from session;Step3. Open the standby DB using
    recover managed standby database cancel; -- stop the redo apply
    alter database open ;
    Step4. Resuming the REDO APPLY
    alter database recover managed standby database using current logfile disconnect ;At this point (after step4 ), for 10.2 version, the standby DB goes back to mount mode , but the 11.2 DB remains open for READ ONLY queries because of ACTIVE DATAGUARD feature. Am I right ?

    Yes, you are right.
    In 10g, there is no option of active dataguard (redo applying is not possible when the database is opened). Redo applying is possible only when the standby database is in mount stage. When the database is opened in read only mode, the archive applying is not possible. In order to run queries on database tables, in a physical standby database, one had to stop the log apply and open the database in read-only mode. This means that the log files are being queued up during that period and will have to be applied once the database is reverted to the managed recovery mode.
    In 11g, this is not the case. It allows users to have read-only access to the physical standby databases. This option gives customers the flexibility to run queries to the physical standby database, while the log shipping and apply continues its work.The archive applying can be done even when the database is opened in read only mode. This option is known as Active Dataguard (Oracle High Availability). For this, the steps you have mentioned are perfect. This is the advantage in 11g.

Maybe you are looking for