Looking for a way to synchronize Streams

  • From: "Charles Schultz" <sacrophyte@xxxxxxxxx>
  • To: oracle-l <oracle-l@xxxxxxxxxxxxx>
  • Date: Thu, 5 Oct 2006 08:29:45 -0500

Oracle OSEE 10.2.0.2

Some background about our program flow: the Target database is a staging
database for EDW ETL, where we use replication and deltas to migrate data
from Production. At some point in time, we will maintain two individual
APPLY Streams, and we want to be able to checkpoint the Target database for
respective processes (ie, apply ETL on certain time-sensitive data, but
allow the other Stream to continue APPLY for a different end consumer). But
for the sake of being clear, we only have one APPLY stream right now.

Our goal is to be able to synchronize the Target database in a very specific
point of time on the source database (a particular SCN). I am told that this
will become critical later on, but right now we are able to get by without
holding fast to a specific SCN. I have been attempting to do this by
tracking the SCN as it comes out of the Source database and into the
Downstream database. I just learned yesterday that this SCN is not
necessarily the same, hence I had to think about a different approach. I
suppose it would be possible to identify the archive log that contains the
SCN, and to stop the CAPTURE, PROPAGATE and APPLY processes after it move
through. That is probably viable, since we will be switching the archived
logs on the Source database at a point in time as a sort of hard checkpoint.
But this seems like a less-than-ideal method. Not to mention it is not
compatible with our desire to have two APPLY Streams. Can you offer advice
for our situation?

In addition, I would ideally like to continue capturing and mining archived
logs even while the APPLY process is disabled, due to the resource- and
time-intensive operations of mining the logs. So far, we have encountered
some problems with this approach because the CAPTURE process is very aware
of the state of the PROPAGATE process, and can become partially disabled if
too many errors are observed.

Some related but specific questions:
Is there a way to manually reset the limit of errors before the PROPAGATION
schedule is disabled?
Can all of the processes (CAPTURE, PROPAGATE, APPLY) be set to automatically
restart after an error?

Please excuse my naivete - I kinda had to jump into the frying pan on this
one.
TIA

--
Charles Schultz

Other related posts:

  • » Looking for a way to synchronize Streams