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