Re: logical standby real time apply does not work unless manually switching logfile

  • From: Niall Litchfield <niall.litchfield@xxxxxxxxx>
  • To: sundarmahadevan82@xxxxxxxxx
  • Date: Thu, 11 Aug 2011 16:20:02 +0100

nb you'll also want to make a similar (mirror image) change on the standby
(for when the roles are reversed. )

On Thu, Aug 11, 2011 at 3:13 PM, sundar mahadevan <
sundarmahadevan82@xxxxxxxxx> wrote:

> Hi Niall,
> You were spot on.
>
> Changing my LOG_ARCHIVE_DEST_3 on primary from
>
> alter system set LOG_ARCHIVE_DEST_3='SERVICE=
> mfprod_logstdby.theglobeandmail.com *ARCH *ASYNC
> VALID_FOR=(ONLINE_LOGFILES,ALL_ROLES) DB_UNIQUE_NAME=MFPRODLS';
>
> to
>
> alter system set LOG_ARCHIVE_DEST_3='SERVICE=
> mfprod_logstdby.theglobeandmail.com *LGWR *ASYNC
> VALID_FOR=(ONLINE_LOGFILES,ALL_ROLES) DB_UNIQUE_NAME=MFPRODLS';
>
> did the trick.
>
> This even worked with the same number of standby redo logs rather than the
> redo log groups +1. Special thanks to Remigiusz, Jack C. Applewhite, Freek
> and this group for the help.
>
>
> On Thu, Aug 11, 2011 at 4:13 AM, Niall Litchfield <
> niall.litchfield@xxxxxxxxx> wrote:
>
>> As Remigiuz points out the issue is not particularly logical standby
>> related but rather log shipping/archival related. The relevant documentation
>> for your version is at
>> http://download.oracle.com/docs/cd/B19306_01/server.102/b14239/log_transport.htm#i1268542
>>  -
>> clearly the standby can only apply what it has actually received. In order
>> to ship in real time then you need to ensure transport is done by the LGWR
>> process, it's likely however that you don't want to *unnecessarily *slow
>> the LGWR process on the primary so you'll probably want to
>> specify asynchronous transmission of the redo stream to the standby.  You
>> can read all about the (large number of) parameters at
>> http://download.oracle.com/docs/cd/B13789_01/server.101/b10823/log_arch_dest_param.htm
>>  .
>> You'll also likely want to consider the effect of network timeouts
>> (NET_TIMEOUT in the dest parameter and SQLNET.EXPIRE_TIME at the standby)
>>
>> I suspect you want something along the lines of
>>
>> log_archive_dest_3  =  'SERVICE=mfprod_logstdby LGWR ASYNC NET_TIMEOUT=60
>> VALID_FOR=(ONLINE_LOGFILE, ALL_ROLES)  DB_UNIQUE_NAME=MFPRODLS'
>>
>> If you configure Data Guard broker then the management interface is
>> somewhat nicer.
>>
>> On Wed, Aug 10, 2011 at 6:23 PM, sundar mahadevan <
>> sundarmahadevan82@xxxxxxxxx> wrote:
>>
>>> I checked other sites(metalink inclusive) for steps in creating logical
>>> standby and they all list log_archive_dest_1, log_archive_dest_2 and
>>> log_archive_dest_3 specified. Do i need to have all three mandatory and is
>>> the cause of my problem? Please advice. Could anyone please post their
>>> logical standby log_archive_dest_* parameter settings for primary and
>>> logical standby configuration.Thanks.
>>>
>>>
>>> On Tue, Aug 9, 2011 at 2:48 PM, sundar mahadevan <
>>> sundarmahadevan82@xxxxxxxxx> wrote:
>>>
>>>> Hi All,
>>>> Good day. I set up a logical standby but real time apply does not work.
>>>> If i switch the logfile, then the redo log file gets archive and get 
>>>> applied
>>>> over. I looked at the various sql commands here:
>>>> http://download.oracle.com/docs/cd/B19306_01/server.102/b14239/manage_ls.htm#CHDGBCGIto
>>>>  see what is wrong but nothing comes up. Appreciate your help.Thanks in
>>>> advance.
>>>>
>>>> Few responses for the sql statements:
>>>>
>>>> On primary:
>>>>
>>>> 14:34:15 sys@MFPROD SQL>select current_scn from v$database;
>>>>
>>>>             CURRENT_SCN
>>>> -----------------------
>>>>           5288795814937
>>>>
>>>> Parameter settings:
>>>>
>>>> log_archive_config                   string
>>>> dg_config=(MFPROD,MFPRODLS)
>>>> log_archive_dest_1                   string
>>>> LOCATION=/u01/arch/mfprod VALID_FOR=(ALL_LOGFILES,ALL_ROLES)
>>>> DB_UNIQUE_NAME=MFPROD
>>>> log_archive_dest_3                   string      SERVICE=mfprod_logstdby
>>>> arch ASYNC VALID_FOR=(ONLINE_LOGFILE, ALL_ROLES) DB_UNIQUE_NAME=MFPRODLS
>>>>
>>>> On Logical standby:
>>>>
>>>> 14:32:20 sys@MFPRODLS SQL>SELECT DEST_ID, RECOVERY_MODE FROM
>>>> V$ARCHIVE_DEST_STATUS WHERE DEST_ID=3;
>>>>
>>>>  DEST_ID RECOVERY_MODE
>>>> -------- -----------------------
>>>>        3 LOGICAL REAL TIME APPLY
>>>>
>>>> 14:47:02 sys@MFPRODLS SQL>SELECT REALTIME_APPLY FROM V$LOGSTDBY_STATE;
>>>>
>>>> REALTIME_APPLY
>>>> ---------------
>>>> Y
>>>>
>>>> Parameter settings:
>>>>
>>>> log_archive_config                   string
>>>> dg_config=(MFPROD,MFPRODLS)
>>>> log_archive_dest_3                   string
>>>> LOCATION=/u01/arch/mfprod_stdby VALID_FOR=(STANDBY_LOGFILES,STANDBY_ROLE)
>>>> DB_UNIQUE_NAME=MFPRODLS
>>>>
>>>> 14:38:37 sys@MFPRODLS SQL>SELECT APPLIED_SCN, LATEST_SCN, MINING_SCN,
>>>> RESTART_SCN FROM V$LOGSTDBY_PROGRESS;
>>>>
>>>>          APPLIED_SCN           LATEST_SCN           MINING_SCN
>>>> RESTART_SCN
>>>> -------------------- -------------------- --------------------
>>>> --------------------
>>>>        5288795813413        5288795813413        5288795813414
>>>> 528879581341
>>>>
>>>
>>>
>>
>>
>> --
>> Niall Litchfield
>> Oracle DBA
>> http://www.orawin.info
>>
>
>


-- 
Niall Litchfield
Oracle DBA
http://www.orawin.info

Other related posts: