RE: Question re Physical and logical standby

  • From: William Wagman <wjwagman@xxxxxxxxxxx>
  • To: jason arneil <jason.arneil@xxxxxxxxx>
  • Date: Tue, 14 Oct 2008 11:27:53 -0700

Jason,

Yes it is but still my question, is this a different way of building the 
dictionary and in fact is that what the command

SQL> alter database add supplemental log data (primary key, unique index) 
columns;

Is doing? Also, after studying a bit more it appears that if this is done on 
the primary prior to building the standby then the change will be propagated 
with the backup. If it is done after the standby has been built then it must be 
done on both the primary and the standby. Is that correct?

Thanks.

Bill Wagman
Univ. of California at Davis
IET Campus Data Center
wjwagman@xxxxxxxxxxx
(530) 754-6208
From: jason arneil [mailto:jason.arneil@xxxxxxxxx]
Sent: Tuesday, October 14, 2008 11:22 AM
To: William Wagman
Cc: oracle-l@xxxxxxxxxxxxx
Subject: Re: Question re Physical and logical standby

Hi William,

I'd say this was pretty comprehensively dealt with in the oracle 
documentation,http://download.oracle.com/docs/cd/B19306_01/server.102/b14239/create_ls.htm#i91652

to quote the relevant part:

"A LogMiner dictionary must be built into the redo data so that the LogMiner 
component of SQL Apply can properly interpret changes it sees in the redo. As 
part of building LogMiner Multiversioned Data Dictionary, supplemental logging 
is automatically set up to log primary key and unique-constraint/index columns. 
The supplemental logging information ensures each update contains enough 
information to logically identify each row that is modified by the statement."
To build the LogMiner dictionary, issue the following statement:
SQL> EXECUTE DBMS_LOGSTDBY.BUILD;



This is done only on the primary.

jason.

--
http://jarneil.wordpress.com

2008/10/14 William Wagman <wjwagman@xxxxxxxxxxx>
Greetings,

I'm running Oracle 10.2.0.4 EE 64-bit on Windows Server 2003. I am performing 
these tasks from the command line rather than using the OEM. I have a physical 
standby for disaster recovery and now wish to create a logical standby to be 
used for reporting purposes. I have the second physical standby created and am 
preparing to transition to a logical standby. Two sources (Matthew Hart and 
Scott Jesse's book on High Availability and the technet article by Darl Kuhn, 
http://www.oracle.com/technology/oramag/oracle/04-jul/o44tech_avail.html have 
as the first step to enable supplemental logging on the primary via sql...

SQL> alter database add supplemental log data (primary key, unique index) 
columns;

Hart and Jesse say it should also be done on the standby whereas the technet 
article only mentions doing it on the primary.

My first question, does this need to be run on the primary and both standbys, 
only the primary and the logical standby or only the primary?

The Oracle documentation (chapter 4 of the Oracle Data Guard Concepts and 
Administration, 'Creating A Logical Standby Database') makes no mention of this 
but does mention building a dictionary in the redo data as follows

SQL> EXECUTE DBMS_LOGSTDBY.BUILD;

My second question (point of confusion if you will), as I read the 
documentation it appears that these two approaches are actually different ways 
of doing the same thing, is that correct? If so and I choose to use 
DBMS_LOGSTDBY must that be run on the primary and both standbys, only the 
primary and the logical standby or only the primary?

Thanks.

Bill Wagman
Univ. of California at Davis
IET Campus Data Center
wjwagman@xxxxxxxxxxx
(530) 754-6208

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




--
--
http://jarneil.wordpress.com
--
//www.freelists.org/webpage/oracle-l


Other related posts: