Streams is a much more efficient architecture. Rather than
synchronously capturing changes in materialized view logs which adds
overhead to the transaction, Streams mines the redo logs that are
generated by the change in order to generate the change vector to send
to the target system. That also allows the change to be replicated to
the other system(s) much more quickly.
Streams is a much more flexible architecture. You can write your own
custom apply processes which makes it relatively easy to inject
additional processing or logging, to ignore certain changes, etc. You
can send a Streams logical change record (LCR) to a JMS queue or to a
non-Oracle system (though, of course, you'd need to write code to apply
the LCR on the non-Oracle system).
Oracle Streams does not support the following:
- Replication of changes to tables with columns of the following
data types: BFILE, ROWID, and user-defined types (including object
types, REFs, varrays, and nested tables)
- Synchronous replication
If your current Advanced Replication environment uses these features,
then these elements of the environment cannot be migrated to Oracle
Streams. In this case, you might decide not to migrate the environment
to Oracle Streams now, or you might decide to modify the environment so
that it can be migrated to Oracle Streams.
No comments:
Post a Comment