Skip Headers
Oracle® Streams Concepts and Administration
11g Release 2 (11.2)

Part Number E10704-02
Go to Documentation Home
Home
Go to Book List
Book List
Go to Table of Contents
Contents
Go to Index
Index
Go to Master Index
Master Index
Go to Feedback page
Contact Us

Go to previous page
Previous
Go to next page
Next
View PDF

What's New in Oracle Streams?

This section describes new features of Oracle Streams for Oracle Database 11g and provides pointers to additional information.

This section contains these topics:

Oracle Database 11g Release 2 (11.2) New Features in Oracle Streams

The following Oracle Streams features are new in Oracle Database 11g Release 2 (11.2):

Statement DML Handlers

A new type of apply handler called a statement DML handler can process row LCRs in a customized way using a collection of SQL statements. Statement DML handlers typically perform better than procedure DML handlers because statement DML handlers require no PL/SQL processing.

See Also:

Record Table Changes With Oracle Streams

The new MAINTAIN_CHANGE_TABLE procedure in the DBMS_STREAMS_ADM package makes it easy to configure an Oracle Streams environment that records the changes made to a table.

See Also:

SQL Generation

SQL generation is the ability to generate the SQL statement required to perform the change encapsulated in a row logical change record (row LCR).

See Also:

Oracle Streams Supports Compressed Tables

In prior releases of Oracle Database, Oracle Streams did not support the capture of changes to compressed tables. In Oracle Database 11g Release 2 (11.2) and later, Oracle Streams capture processes and synchronous captures can capture changes made to tables compressed using either basic table compression or OLTP table compression. In addition, apply processes can apply changes to compressed tables.

Note:

Capture processes can capture changes to compressed tables only if the compatibility level is set to 11.2.0 or higher at the source database. In a downstream capture configuration, the compatibility level must be set to 11.2.0 or higher at the database running the capture process also. Synchronous captures can capture changes to compressed tables only if the compatibility level is set to 11.2.0 or higher at the database.

See Also:

Capture Processes and Apply Processes Support SecureFile LOBs

In prior releases of Oracle Database, Oracle Streams did not support SecureFile LOBs. In Oracle Database 11g Release 2 (11.2) and later, Oracle Streams capture processes can capture changes made to SecureFile CLOB, NCLOB, and BLOB columns, and Oracle Streams apply processes can apply changes to SecureFile CLOB, NCLOB, and BLOB columns.

See Also:

New Keep Columns Declarative Rule-Based Transformation

The keep columns declarative rule-based transformation keeps a list of columns in a row logical change record (LCR) that satisfies the specified rule. The transformation deletes columns that are not in the list from the row LCR. You specify a keep columns declarative rule-based transformation using the KEEP_COLUMNS procedure in the DBMS_STREAMS_ADM package.

See Also:

Oracle Database PL/SQL Packages and Types Reference

Automatic Split and Merge

Two new capture process parameters can enable automatic split and merge: split_threshold and merge_theshold. When these parameters are set to specify automatic split and merge, Oracle Scheduler jobs monitor the streams flowing from a capture process. When an Oracle Scheduler job identifies a problem with a stream, the job submits a new Oracle Scheduler job to split the problem stream off from the other streams flowing from the capture process. Other Oracle Scheduler jobs continue to monitor the stream, and, when the problem is corrected, an Oracle Scheduler job merges the stream back with the other streams.

See Also:

New Apply Process Parameter: txn_age_spill_threshold

The apply process begins to spill messages from memory to hard disk for a particular transaction when the amount of time that any message in the transaction has been in memory exceeds the specified number of seconds in the txn_age_spill_threshold parameter.

See Also:

Oracle Database PL/SQL Packages and Types Reference

Monitoring Jobs

The new START_MONITORING procedure in the UTL_SPADV package can create a monitoring job that monitors Oracle Streams performance continually at specified intervals. Other new procedures in this package enable you to manage monitoring jobs.

See Also:

New DBA_RECOVERABLE_SCRIPT_HIST View

The new DBA_RECOVERABLE_SCRIPT_HIST view stores the results of recovery operations that were performed by the RECOVER_OPERATION procedure in the DBMS_STREAMS_ADM package.

See Also:

Oracle Database 11g Release 1 (11.1) New Features in Oracle Streams

The following Oracle Streams features are new in Oracle Database 11g Release 1 (11.1):

Oracle Streams Topology and Oracle Streams Performance Advisor

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.

See Also:

Chapter 23, "Monitoring the Oracle Streams Topology and Performance"

Automatic Data Type Conversion During Apply

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.

See Also:

"Automatic Data Type Conversion During Apply"

Simplified Way to Restore Default Values for Parameters

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 DBMS_APPLY_ADM.SET_PARAMETER procedure.

See Also:

Oracle Database PL/SQL Packages and Types Reference

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 in a flashback data archive. In Oracle Database 11g Release 1 (11.1) and later, Oracle Streams supports tables in a flashback data archive.

See Also:

"Oracle Streams and Flashback Data Archive"

Oracle Streams Supports Virtual Columns

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.

New Capture Process Parameter: skip_autofiltered_table_ddl

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.

See Also:

New Apply Process Parameter: rtrim_on_implicit_conversion

A new apply process parameter named rtrim_on_implicit_conversion determines whether the apply process trims character data during automatic data type conversion.

See Also:

Synchronous Capture

Synchronous capture is a new Oracle Streams client that captures data manipulation language (DML) changes made to tables immediately after the changes are committed.

See Also:

"Implicit Capture with Synchronous Capture"

Oracle Streams Support for XMLType Columns

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 XMLType data.

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.

See Also:

Oracle Streams Support for Transparent Data Encryption

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.

See Also:

Split and Merge of a Stream Destination

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 DBMS_STREAMS_ADM package: SPLIT_STREAMS, MERGE_STREAMS_JOB, and MERGE_STREAMS.

See Also:

Oracle Streams Replication Administrator's Guide

Track LCRs Through a Stream

The new 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.

See Also:

Compare and Converge Shared Database Objects

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.

See Also:

Automated Alerts for Oracle Streams Clients and Thresholds

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"

Oracle Streams Jobs Use Oracle Scheduler

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"

Notification Improvements

This release introduces the following notification improvements:

See Also:

Oracle Streams Advanced Queuing User's Guide

New Error Messages for Easier Error Handling

The following apply error messages are new in Oracle Database 11g Release 1 (11.1):

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 procedure handlers and error handlers, then they you might need to modify them for the current release.

See Also:

"Are There Any Apply Errors in the Error Queue?"

Combined Capture and Apply

Oracle Streams can improve propagation efficiency under certain conditions.

See Also:

Chapter 12, "Combined Capture and Apply Optimization"