RE: question on 10.2.0.2.0 Data Guard -- transmit redo data
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
you configure ARCH in log_archive_dest_n or in DGMGRL property LogXptMode
this is the default anyway
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
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
need both the synchronous flavor of log shipping.
[mailto:oracle-l-bounce_at_freelists.org] On Behalf Of Guang Mei Sent: Monday, January 19, 2009 4:41 PM
To: Alex Fatkulin
Subject: Re: question on 10.2.0.2.0 Data Guard -- transmit redo data
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: No standby redo logfiles created RFS: 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.
- Original Message ----- From: "Alex Fatkulin" <afatkulin_at_gmail.com> To: <gmei_at_prospectiv.com> Cc: "oracle-l" <oracle-l_at_freelists.org> Sent: Saturday, January 17, 2009 2:43 AM Subject: Re: question on 10.2.0.2.0 Data Guard -- transmit redo data
> 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_at_prospectiv.com>
>> I have an oracle 10.2.0.2.0 Data Guard setup now (physical standby)
>> linux boxes that I use for learning. And I would like to know if the
>> 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
>> 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:
>> 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
>> think so, because Affirm=No)? And log shipping (from Primary to
>> "ARCH" (because TRANSMIT_MOD=SYNCHRONOUS) ? I can not find anywhere
>> me that if I do not specify say "LGWR ASYNC", what are the default
>> for these in "log_archive_dest_2"? I only specify reopen and tnsnames
>> 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
>> the archived logs were shipped to the standby, the db changes were
>> there in db (I opened the standby in read-only mode and can see the
>> tables I created on primary). But I am not sure if the changes were
>> through shipped "archive logs" or through "standby redo logs".
>> want to know if "Redo Archival Process" is LGWR or ARCH?
>> Guang Mei
> Alex Fatkulin,