RE: question on 10.2.0.2.0 Data Guard -- transmit redo data

  • From: "Mathias Zarick" <Mathias.Zarick@xxxxxxxxxxxx>
  • To: <gmei@xxxxxxxxxxxxxx>, "Alex Fatkulin" <afatkulin@xxxxxxxxx>
  • Date: Tue, 20 Jan 2009 09:45:05 +0100

Hi Guang, Alex,

you can query "select archiver from v$archive_dest where dest_id= ... "
to get to now which
process is sending the redo to the standby database.

Actually for Log Shipping there 4 modes.
1.) ARCH without Standby Redo Logs on Standby
2.) ARCH with Standby Redo Logs on Standby
3.) LGWR with Standby Redo Logs on Standby / asynchronous mode
4.) LGWR with Standby Redo Logs on Standby / synchronous mode

1.)
you configure ARCH in log_archive_dest_n or in DGMGRL property
LogXptMode
this is the default anyway
2.)
same way to configure.
Oracle automatically uses SRLs if available and so can
start a recovery on standby from SRLs even if the log is not yet
completetly
transfered.
3.) you need SRLs.
you configure LGWR ASYNC in log_archive_dest_n or ASYNC in DGMGRL
property LogXptMode
LGWR writes to local online redo logs, local LNS process reads from
there and asynchronously
writes to standby sites RFS, RFS writes to SRL, and oracle starts
recovery directly
from SRL (real time appyly).
4.) you need SRLs.
you configure LGWR SYNC in log_archive_dest_n or SYNC in DGMGRL property
LogXptMode
LGWR writes to online redo logs files and to the LNS process, LNS writes
to standby
RFS and this one to standby redo log. Everything synchronously. A commit
on prim is
finished if written in local log and in remote standby log (performance
impact).

Protection level are another dimension in this game. MaxAvailability and
MaxProtection
need both the synchronous flavor of log shipping.

HTH Mathias

-----Original Message-----
From: oracle-l-bounce@xxxxxxxxxxxxx
[mailto:oracle-l-bounce@xxxxxxxxxxxxx] On Behalf Of Guang Mei
Sent: Monday, January 19, 2009 4:41 PM
To: Alex Fatkulin
Cc: oracle-l
Subject: Re: question on 10.2.0.2.0 Data Guard -- transmit redo data

Alex,
Thanks for your help. Yes, querying protection_mode gave me MAXIMUM
PERFORMANCE. But I was also hoping that somehow I could run a query and
it would tell me it is LGWR or ARCH process in that mode.
I can indirectly confirm that ARCH process is running (to propagate
changes) by dropping all standby redo logs on the standby, and then
"alter system switch logfile", to see if changes have been propagated
(they were).

BTW, from standby's alert_log, I got:

Mon Jan 19 10:23:17 2009
Completed:  alter database recover managed standby database disconnect
from session Mon Jan 19 10:23:59 2009 idle dispatcher 'D000' terminated,
pid = (13, 5) Mon Jan 19 10:25:37 2009
RFS[1]: No standby redo logfiles created
RFS[1]: Archived Log: '/d10/oradata/ES_PROD/ARCH/1_18_673284179.arc'
Mon Jan 19 10:25:42 2009
Media Recovery Log /d10/oradata/ES_PROD/ARCH/1_18_673284179.arc

So I assume that confirms RFS is using ARCH.

Guang

----- Original Message -----
From: "Alex Fatkulin" <afatkulin@xxxxxxxxx>
To: <gmei@xxxxxxxxxxxxxx>
Cc: "oracle-l" <oracle-l@xxxxxxxxxxxxx>
Sent: Saturday, January 17, 2009 2:43 AM
Subject: Re: question on 10.2.0.2.0 Data Guard -- transmit redo data


> Guang,
>
> first of all, the protection level is being set by alter database set
> stanbdy database to... statement
>
> different combination of log shipping options are necessarily to
> support given level of protection
>
> query protection_mode from v$database to find out the current settings
> (though noaffirm is supported by maximum protection only)
>
> default is arch, alert log can confirm this (set log_archive_trace to
> 1 and take a look)
>
> On Fri, Jan 16, 2009 at 2:21 PM, Guang Mei <gmei@xxxxxxxxxxxxxx>
wrote:
>> I have an oracle 10.2.0.2.0 Data Guard setup now (physical standby)
on 
>> two
>> linux boxes that I use for learning. And I would like to know if the
db 
>> is
>> using "standby redo logs" or "archived logs" to apply the change .
>>
>> on Primary DB, I have:
>>
>> SQL> select dest_id,target,log_sequence,AFFIRM,TRANSMIT_MODE from
>> V$ARCHIVE_DEST;
>>
>>    DEST_ID TARGET  LOG_SEQUENCE AFF TRANSMIT_MOD
>> ---------- ------- ------------ --- ------------
>>          1 PRIMARY           15 NO  SYNCHRONOUS
>>          2 STANDBY            0 NO  SYNCHRONOUS
>>          3 PRIMARY            0 NO  SYNCHRONOUS
>>          4 PRIMARY            0 NO  SYNCHRONOUS
>>          5 PRIMARY            0 NO  SYNCHRONOUS
>>          6 PRIMARY            0 NO  SYNCHRONOUS
>>          7 PRIMARY            0 NO  SYNCHRONOUS
>>          8 PRIMARY            0 NO  SYNCHRONOUS
>>          9 PRIMARY            0 NO  SYNCHRONOUS
>>         10 PRIMARY            0 NO  SYNCHRONOUS
>>
>> 10 rows selected.
>> Also  from Primary DB's init.ora:
>>
>> STANDBY_FILE_MANAGEMENT=auto
>> log_archive_dest_2 = 'SERVICE=ES_PROD reopen=60'
>> log_archive_dest_state_2 = ENABLE
>>
>> Based on the above, can I say the setup is "Maximum Performance" mode
(I
>> think so, because Affirm=No)?  And log shipping (from Primary to
Standby) 
>> is
>> "ARCH" (because TRANSMIT_MOD=SYNCHRONOUS) ?  I can not find anywhere
to 
>> tell
>> me that if I do not specify say "LGWR ASYNC", what are the default
values
>> for these in "log_archive_dest_2"? I only specify reopen and tnsnames

>> entry
>> here.
>>
>> Also with these configuration and after I created the same number of
>> "standby redo logs" on standby as the primary "online redo logs", and

>> when I
>> made some db changes, then alter system switch logfile on primary, I
can 
>> see
>> the archived logs were shipped to the standby, the db changes were
also
>> there in db (I opened the standby in read-only mode and can see the
new
>> tables I created on primary). But I am not sure if the changes were 
>> applied
>> through shipped "archive logs" or through "standby redo logs".
Basically 
>> I
>> want to know if "Redo Archival Process" is LGWR or ARCH?
>> Thanks.
>>
>> Guang Mei
>>
>>
>
>
>
> -- 
> Alex Fatkulin,
> http://afatkulin.blogspot.com
> http://www.linkedin.com/in/alexfatkulin
> 

--
//www.freelists.org/webpage/oracle-l


--
//www.freelists.org/webpage/oracle-l


Other related posts: