Striim 3.9.6 documentation

OracleReader 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.

Note

The Oracle JDBC driver must be installed on each Striim server or Forwarding Agent that will run OracleReader 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 OracleReader 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:

property

type

default value

notes

Committed Transactions

java. lang. Boolean

True

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

Compression

java. lang. 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 OracleReader example output for examples.

Set to True when the output of an OracleReader source is the input of a Notes on writing to Cassandra with DatabaseWriter target.

connection Retry Policy

java. lang. 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=00).

  • 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

java. lang. 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

Dictionary Mode

java. lang. String

OnlineCatalog

change default only when Including DDL operations in OracleReader output

DDL Capture Mode

java. lang. String

All

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

Exclude Users

java. lang. 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

Excluded Tables

java. lang. String

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

Fetch Size

java. lang. Integer

1000

LogMiner only: the number of records LogMiner will accumulate before returning each batch of results. During development, set this to 1 to return each record immediately.

Filter Transaction Boundaries

java. lang. 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

java. lang. 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.

Password

com. webaction. security. Password

the password specified for the username (see Encrypted passwords)

Queue Size

java. lang. Integer

2048

Quiesce Marker Table

java. lang. String

QUIESCEMARKER

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

java. lang. String

LogMiner

specify LogMiner or XStream

Send Before Image

java. lang. Boolean

True

set to False to omit before data from output

SSL Config

java. lang. 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.trustStorePassword=********;
javax.net.ssl.keyStore=/opt/Striim/certs;
javax.net.ssl.keyStoreType=JKS;
javax.net.ssl.keyStorePassword=********

Start SCN

java. lang. String

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

Start Timestamp

java. lang. 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

java. lang. Boolean

False

Set to True if reading from CDB or PDB.

Tables

java. lang. 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-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. At least one table must match the wildcard or OracleReader will fail with a "Could not find tables specified in the database" error. 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

java. lang. String

striim/LargeBuffer

See Transaction Buffer Type.

Transaction Buffer Spillover Size

java. lang. 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

java. lang. 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.Recovering applications

Username

java. lang. String

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

XStream Timeout

java. lang. String

600

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