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