This section describes new features of Oracle Streams for Oracle Database 11g Release 1 (11.1) and provides pointers to additional information.
The following Oracle Streams features are new in Oracle Database 11g Release 1 (11.1):
The Oracle Streams topology identifies individual streams of messages and the Oracle Streams components configured in each stream. An Oracle Streams environment typically covers multiple databases, and the Oracle Streams topology provides a comprehensive view of the entire Oracle Streams environment.
The Oracle Streams Performance Advisor reports performance measurements for an Oracle Streams topology, including throughput and latency measurements. The Oracle Streams Performance Advisor also identifies bottlenecks in an Oracle Streams topology so that they can be corrected. In addition, the Oracle Streams Performance advisor examines the Oracle Streams components in an Oracle Streams topology and recommends ways to improve their performance.
During apply, an apply process automatically converts certain data types when there is a mismatch between the data type of a column in the row logical change record (row LCR) and the data type of the corresponding column in a table.
You can set a capture process parameter to its default value by specifying
NULL for the value of the parameter in the
DBMS_CAPTURE_ADM.SET_PARAMETER procedure. Similarly, you can set an apply process parameter to its default value by specifying
NULL for the value of the parameter in the
In prior releases of Oracle Database, Oracle Streams did not support the replication of changes to tables in a flashback data archive. In Oracle Database 11g Release 1 (11.1) and later, Oracle Streams supports tables in a flashback data archive.
In prior releases of Oracle Database, Oracle Streams did not support the replication of changes to tables with virtual columns. In Oracle Database 11g Release 1 (11.1) and later, Oracle Streams supports tables with virtual columns.
A new capture process parameter named
skip_autofiltered_table_ddl enables you to capture data definition language (DDL) changes to database objects for which data manipulation language (DML) changes are automatically filtered.
Oracle Database PL/SQL Packages and Types Reference for more information about this capture process parameter
A new apply process parameter named
rtrim_on_implicit_conversion determines whether the apply process trims character data during automatic data type conversion.
Oracle Database PL/SQL Packages and Types Reference for more information about this apply process parameter
Synchronous capture is a new Oracle Streams client that captures data manipulation language (DML) changes made to tables immediately after the changes are committed.
XMLType is an Oracle-supplied type that can be used to store and query XML data in the database. Oracle Streams can capture, propagate, and apply changes to
Capture processes can capture changes to
XMLType columns stored as
CLOB columns, but capture processes cannot capture changes to
XMLType columns stored object relationally or as binary XML. Apply processes can apply changes to
XMLType columns stored as
CLOB columns, stored object relationally, or stored as binary XML.
Oracle Streams supports capturing, propagation, and applying changes to columns that have been encrypted using transparent data encryption. Oracle Streams supports columns that were encrypted at the column level or through tablespace encryption. Tablespace encryption enables you to encrypt an entire tablespace. All objects created in the encrypted tablespace are automatically encrypted, including all columns in the database objects in the tablespace. Once a column is encrypted, whether it is due to column encryption or tablespace encryption, Oracle Streams components handle the column data in the same way.
You can easily split off an unavailable replica from a Streams replication configuration. Splitting the stream minimizes the time needed for the replica to "catch up" when it becomes available again. When the replica is caught up, it can be merged back into the original configuration. This feature uses three new procedures in the
SET_MESSAGE_TRACKING procedure in the
DBMS_STREAMS_ADM package lets you specify a tracking label for logical change records (LCRs) generated by a database session. You can query the new
V$STREAMS_MESSAGE_TRACKING view to track the LCRs through the stream and see how they were processed by each Oracle Streams client.
LCR tracking is useful if LCRs are not being applied as expected by one or more apply processes. When this happens, you can use LCR tracking to determine where the LCRs are stopping in the stream and address the problem at that location.
Also, the new
message_tracking_frequency capture process parameter enables you to track LCRs automatically.
Oracle Database PL/SQL Packages and Types Reference for information about the
message_tracking_frequency capture process parameter
A new Oracle-supplied package called
DBMS_COMPARISON enables you to compare the rows in a shared database object, such as a table, at two different databases. If differences are found in the database object, then this package can converge the database objects so that they are consistent.
Enterprise Manager automatically alerts you when an Oracle Streams client becomes disabled or when Oracle Streams-related threshold that you have defined is crossed.
See Also:"Viewing Oracle Streams Alerts"
In past releases, Oracle Streams used jobs created by the
DBMS_JOB package to perform jobs such as propagation and event notification, and the
JOB_QUEUE_PROCESSES initialization parameter controlled the number of slave processes that were created.
In Oracle Database 11g Release 1 (11.1), Oracle Streams uses Oracle Scheduler to perform these jobs. Oracle Scheduler automatically tunes the number of slave processes for these jobs based on the load on the computer system, and the
JOB_QUEUE_PROCESSES initialization parameter is only used to specify the maximum number of slave processes. Therefore, the
JOB_QUEUE_PROCESSES initialization parameter does not need to be set, unless you want to limit the number of slaves that can be created.
See Also:"Propagation Jobs"
This release introduces the following notification improvements:
Notification grouping by time
Better scaling to enable a large number of notifications to be sent simultaneously
Improved diagnosability of notifications using registration statistics
The following apply error messages are new in Oracle Database 11g Release 1 (11.1):
An ORA-26787 error is raised if the row to be updated or deleted does not exist in the target table.
An ORA-26786 error is raised when the row exists in the target table, but the values of some columns do not match those of the row logical change record (row LCR).
In past releases, an ORA-01403 error was returned in these situations. These new error messages make it easier to handle apply errors in DML handlers and error handlers. If you have existing DML handlers and error handlers, then they you might need to modify them for the current release.
Oracle Streams can improve propagation efficiency under certain conditions.