Chapter 2
[ 71 ]
Recovery and resynchronization of a failed or lost site may require a full re-
instantiation of the site was well as data. Remember, Streams does not guarantee
zero or minimal data loss in the case of failure. Depending on the number of objects
replicated, capture, propagation, and apply rules dened, and amount of data, this
could take anywhere from minutes to days. Special consideration and procedures
must be followed if a point-in-time recovery is necessary.
Think of Streams versus Data Guard this way: yes, you can use Streams to provide a
redundant failover system. But would you use a butter knife to cut a steak? Yes, you
could do it, but you'd have to work a lot harder than if you used the steak knife that
is in the same drawer (over to the left, next to the dinner forks).
Never say never: Now, the above recommendation does not intend to imply that you
cannot or should not use a streamed database that has been congured to support
shared ownership as a fail-to instance should a primary site fail. If it is there, and
maintains data consistency at the required level, go ahead and use it. Every business
circumstance is different. In some circumstances you may decide you want to use
Streams to support a redundant failover system. Just think twice about implementing
Streams specically to support a redundant failover system rather than Data Guard.
Design aid: Streams site matrix
If a picture is worth a thousand words, then a matrix should be worth at least 500.
This section discusses the use of a handy-dandy little tool that we like to call the
Streams Site Matrix. This matrix provides a visual summary of who sends what
where, and who's changes get applied to where and how. Overall, this matrix,
when combined with the design considerations, helps you more accurately predict
the level of effort to implement Streams and identify, early on, potential data and
design conicts, as well as identify resource requirements and potential limitations.
For instance, from this matrix, you can accurately provide information concerning
necessary hardware, Oracle licensing, network connections needs to your system
architects; necessary user application data values to support the distributed data
model, and optimal DML transaction behavior to your software architects; and,
additional data elds necessary to support conict resolution, and change audit
throughout the distributed environment to your data architects. The Matrix also
provides a succinct, organized list of the Capture, Propagation, and Apply processes
and queues, advanced functionality such as conict resolution, transformations, and
so on, needed for each site.