Oracle FAQ | Your Portal to the Oracle Knowledge Grid |
![]() |
![]() |
Home -> Community -> Mailing Lists -> Oracle-L -> RE: quest SharePlex
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)
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
![]() |
![]() |