Striim 3.10.3 documentation

Oracle Reader properties

Before you can use this adapter, Oracle must be configured as described in the parts of Oracle configuration that are relevant to your environment.


The Oracle JDBC driver must be installed on each Forwarding Agent that will run Oracle Reader with LogMiner. See Installing the Oracle JDBC driver.


The Oracle Instant Client must be installed on each Striim server or Forwarding Agent that will run Oracle Reader using XStream Out. See Installing the Oracle Instant Client. XStream Out is supported only when Striim is running on Linux.

Striim provides templates for creating applications that read from Oracle and write to various targets. See Creating a new application using a template for details.

The adapter properties are:



default value


Bidirectional Marker Table


When performing bidirectional replication, the fully qualified name of the marker table (see Bidirectional replication). This setting is case-sensitive.

Committed Transactions



LogMiner only: by default, only committed transactions are read. Set to False to read both committed and uncommitted transactions.




If set to True, update operations for tables that have primary keys include only the primary key and modified columns, and delete operations include only the primary key. With the default value of False, all columns are included. See Oracle Reader example output for examples.

Set to True when the output of an OracleReader source is is the input of a DatabaseWriter writing to a Cassandra target (see Cassandra Writer).

Connection Retry Policy


timeOut=30, retryInterval=30, maxRetries=3

With the default setting:

  • Striim will wait for the database to respond to a connection request for 30 seconds (timeOut=30).

  • If the request times out, Striim will try again in 30 seconds (retryInterval=30).

  • If the request times out on the third retry (maxRetries=3), a ConnectionException will be logged and the application will stop.

Negative values are not supported.

Connection URL


<hostname>:<port>:<SID> or <hostname>:<port>/<service name>

If using Oracle 12c with PDB, use the SID for the CDB service. (Note that with DatabaseReader and DatabaseWriter, you must use the SID for the PDB service instead.)

If using Amazon RDS for Oracle, the connection URL is <endpoint>:<port>:<DB name>. The required values are displayed at Instance Actions > see details

Database Role



Leave set to the default value of PRIMARY except when you Reading from a standby.

DDL Capture Mode



With the default value of All, OracleReader captures all supported DDL operations (see Including DDL operations in Oracle Reader output). Set to Minimal to capture only DDL operations for tables.

Dictionary Mode



Leave set to the default of OnlineCatalog except when Including DDL operations in Oracle Reader output or when you Reading from a standby.

Excluded Tables


If a wildcard is specified for Tables, any tables specified here will be excluded from the query. Specify the value as for Tables.

Exclude Users


Optionally, specify one or more Oracle user names, separated by semicolons, whose transactions will be omitted from OracleReader output. Possible uses include:

  • omitting transactions that would cause an endless endless loop when data previously read by OracleReader is eventually written back to the same table by DatabaseWriter, for example, in the context of high-availability "active/active" replication

  • omitting transactions involving multiple gigabytes of data, thus reducing Striim's memory requirements

  • omitting long-running transactions, ensuring that OracleReader will restart from a recent SCN after Striim is restarted

External Dictionary File


Leave blank except when you Reading from a standby.

Fetch Size



LogMiner only: the number of records the JDBC driver will return at a time. For example, if Oracle Reader queries LogMiner and there are 2300 records available, the JDBC driver will return two batches of 1000 records and one batch of 300.

Filter Transaction Boundaries



With the default value of True, BEGIN and COMMIT operations are filtered out. Set to False to include BEGIN and COMMIT operations.

Outbound Server Process Name


WebAction XStream

XStream only: Specifies the name Oracle will use for the internal process it creates to send change data to Striim. Each source or cache using XStream on the same Oracle database must have a unique value for this property. If you have only one source or cache using XStream, there is no need to change the default value. See "The Outbound Server" in Oracle's XStream documentation for more information.


encrypted password

the password specified for the username (see Encrypted passwords)

Queue Size



Quiesce Marker Table



See Creating the quiescemarker table. Modify the default value if the quiesce marker table is not in the schema associated with the user specified in the Username. Three-part CDB / PDB names are not supported in this release.

Reader Type



specify LogMiner or XStream

Send Before Image



set to False to omit before data from output

SSL Config


If using SSL with the Oracle JDBC driver, specify the required properties. Examples:

If using SSL for encryption only:

If using SSL for encryption and server authentication:

If using SSL for encryption and both server and client authentication:

Start SCN


Optionally specify an SCN from which to start reading (See Replicating Oracle data to another Oracle database for an example).

See also Switching from initial load to continuous replication.

Start Timestamp



With the default value of null, only new (based on current system time) transactions are read. If a timestamp is specified, transactions that began after that time are also read. The format is DD-MON-YYYY HH:MI:SS. For example, to start at 5:00 pm on July 15, 2017, specify 15-JUL-2017 17:00:00.

Support PDB and CDB



Set to True if reading from CDB or PDB.



The table or materialized view to be read (supplemental logging must be enabled as described in Oracle configuration) in the format <schema>.<table>. (If using Oracle 12c with PDB, use three-party names: <pdb>.<schema>.<table>.) Names are case-sensitive.

You may specify multiple tables and materialized views as a list separated by semicolons or with the following wildcards:

  • %: any series of characters

  • _: any single character

For example, HR.% would read all tables in the HR schema. Wildcards may not be used with XStream Out when Compression is set to True.

For a literal underscore, use \_. For example, HR\_% would include HR_EMPLOYEES and HR_DEPTS but not HRMASTER. (Note that when reading Oracle tables with DatabaseReader the opposite is the case: \_ is the wildcard and _ is a literal underscore.)

See also Specifying key columns for tables without a primary key.

Transaction Buffer Disk Location



See Transaction Buffer Type.

Transaction Buffer Spillover Size



When Transaction Buffer Type is Memory, this setting has no effect.

When Transaction Buffer Type is Disk, the amount of memory that Striim will use to hold each in-process transactions before buffering it to disk. You may specify the size in MB or GB.

Transaction Buffer Type



With the default setting, when Striim is processing more events than it can store in the available Java heap space, the application will crash. Typically this will happen when a transaction includes millions of INSERT, UPDATE, or DELETE events with a single COMMIT, at which point the application will crash with an error message such as "increase the block size of large buffer" or "exceeded heap usage threshold."

To work around that problem, set to Disk. Striim will buffer large transactions to disk at the location specified by the Transaction Buffer Disk Location property, then process them when memory is available.

When the setting is Disk and recovery is enabled (see Recovering applications), after the application crashes or is stopped the buffer will be reset, and during recovery any previously buffered transactions will restart from the beginning.Recovering applications



the username created as described in Oracle configuration; if using Oracle 12c with PDB, specify the CDB user (c##striim) 

XStream Timeout



number of seconds OracleReader will wait for the outbound server to start before failing