# Striim 3.10.3 documentation

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

### Note

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

### Note

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.

property

type

default value

notes

Bidirectional Marker Table

String

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

Committed Transactions

Boolean

True

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

Compression

Boolean

False

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

String

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

String

<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

String

PRIMARY

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

DDL Capture Mode

String

All

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

String

OnlineCatalog

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

String

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

String

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

String

Leave blank except when you Reading from a standby.

Fetch Size

Integer

1000

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

Boolean

True

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

String

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.

Queue Size

Integer

2048

Quiesce Marker Table

String

QUIESCEMARKER

See Creating the QUIESCEMARKER table for Oracle Reader. 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.

String

LogMiner

specify LogMiner or XStream

Send Before Image

Boolean

True

set to False to omit before data from output

SSL Config

String

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

If using SSL for encryption only:

oracle.net.ssl_cipher_suites=
(SSL_DH_anon_WITH_3DES_EDE_CBC_SHA,
SSL_DH_anon_WITH_RC4_128_MD5,
SSL_DH_anon_WITH_DES_CBC_SHA)

If using SSL for encryption and server authentication:

javax.net.ssl.trustStore=
/etc/oracle/wallets/ewallet.p12;
javax.net.ssl.trustStoreType=PKCS12;
javax.net.ssl.trustStorePassword=********

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

javax.net.ssl.trustStore=
/etc/oracle/wallets/ewallet.p12;
javax.net.ssl.trustStoreType=PKCS12;
javax.net.ssl.keyStore=/opt/Striim/certs;
javax.net.ssl.keyStoreType=JKS;
javax.net.ssl.keyStorePassword=********

Start SCN

String

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

Start Timestamp

String

null

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

Boolean

False

Set to True if reading from CDB or PDB.

Tables

String

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-part 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.)

Transaction Buffer Disk Location

String

striim/LargeBuffer

See Transaction Buffer Type.

Transaction Buffer Spillover Size

String

1MB

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

String

Memory

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.