Oracle FAQ Your Portal to the Oracle Knowledge Grid
HOME | ASK QUESTION | ADD INFO | SEARCH | E-MAIL US
 

Home -> Community -> Mailing Lists -> Oracle-L -> RE: quest SharePlex

RE: quest SharePlex

From: Nick Wagner <Nick.Wagner_at_quest.com>
Date: Tue, 21 Jan 2003 09:59:43 -0800
Message-ID: <F001.00536451.20030121095943@fatcity.com>


This is actually part of the 'magic' of SharePlex. The way we obtain the PK information from the database if the PK was not modified is very tricky.

I can tell you some of the 'magic' but not all of it. (NDA type stuff)

In all updates the redo logs contain the rowid for the row being modified (or piece of row in chained row cases) and we use that rowid to go back into the database and grab the PK information. All that is pretty simple, the real magic comes in when you do something like this...

(QA does this type of operation all the time)

  1. shutdown SharePlex (stop all processes on the source machine, so SharePlex is not even up and running)
  2. insert a row.
  3. update that row to cause chaining.
  4. update the row again in the chained piece and don't modify the PK.
  5. delete the row
  6. start SharePlex back up.

Did everything replicate successfully? Yep. :)

We've looked at turning on the supplemental logging and it causes more overhead then our quick search. And is not really on option for large environments like Oracle Apps or other ERP's that have 1000's of tables, many of them that don't have a PK at all.

-----Original Message-----
Sent: Sunday, January 19, 2003 2:34 AM
To: Multiple recipients of list ORACLE-L

Thanks for the reply.

That covers the object/data_object id problem, and gives the ability to identify which columns in the dump are the primary key columns.

But when you update a row, the redo will only contain the primary key if the primary key has been modified, so you should hardly ever find it in the redo.

Does this mean you trap the primary key on every insert and keep a cross reference between primary keys and rowids somewhere, or do you do a lookup back into the database in real time to translate rowids into primary keys ?

Oracle, of course, gets around this problem in version 9 with the 'supplemental logging' feature - which Shareplex could probably use to even better effect, but how do you do it before 9 ?

Regards

Jonathan Lewis
http://www.jlcomp.demon.co.uk

Coming soon a new one-day tutorial:
Cost Based Optimisation
(see http://www.jlcomp.demon.co.uk/tutorial.html )

Next Seminar dates:
(see http://www.jlcomp.demon.co.uk/seminar.html )

____England______January 21/23
____USA_(CA, TX)_August

The Co-operative Oracle Users' FAQ
http://www.jlcomp.demon.co.uk/faq/ind_faq.html

-----Original Message-----
To: Multiple recipients of list ORACLE-L <ORACLE-L_at_fatcity.com> Date: 18 January 2003 01:15

>You provide a 'configuration file' which is just a flat file of table
names
>on the source machine and table names on the target machine. Then
we go
>through an activation process that takes the table name on the source
and
>grabs the object id from Oracle and the primary key columns (if no
primary
>key, we use all the columns except for LOB's and LONGs). Then the
capture
>process scans through the redo logs only capturing changes to object
ids in
>our list.
>

-- 
Please see the official ORACLE-L FAQ: http://www.orafaq.net
-- 
Author: Jonathan Lewis
  INET: jonathan_at_jlcomp.demon.co.uk

Fat City Network Services    -- 858-538-5051 http://www.fatcity.com
San Diego, California        -- Mailing list and web hosting services
---------------------------------------------------------------------
To REMOVE yourself from this mailing list, send an E-Mail message
to: ListGuru_at_fatcity.com (note EXACT spelling of 'ListGuru') and in
the message BODY, include a line containing: UNSUB ORACLE-L
(or the name of mailing list you want to be removed from).  You may
also send the HELP command for other information (like subscribing).

-- 
Please see the official ORACLE-L FAQ: http://www.orafaq.net
-- 
Author: Nick Wagner
  INET: Nick.Wagner_at_quest.com

Fat City Network Services    -- 858-538-5051 http://www.fatcity.com
San Diego, California        -- Mailing list and web hosting services
---------------------------------------------------------------------
To REMOVE yourself from this mailing list, send an E-Mail message
to: ListGuru_at_fatcity.com (note EXACT spelling of 'ListGuru') and in
the message BODY, include a line containing: UNSUB ORACLE-L
(or the name of mailing list you want to be removed from).  You may
also send the HELP command for other information (like subscribing).
Received on Tue Jan 21 2003 - 11:59:43 CST

Original text of this message

HOME | ASK QUESTION | ADD INFO | SEARCH | E-MAIL US