anchor.diff:  }
   ----
   
  +// Type: assembly
  +// ModuleID: debezium-oracle-connector-generated-events-that-represent-transaction-boundaries
  +// Title: {prodname} Oracle connector-generated events that represent transaction boundaries
   [[oracle-transaction-metadata]]
   === Transaction Metadata
   
  -{prodname} can generate events that represents transaction metadata boundaries and enrich data messages.
  -
  -==== Transaction boundaries
  -{prodname} generates events for every transaction `BEGIN` and `END`.
  -Every event contains
  -
  -* `status` - `BEGIN` or `END`
  -* `id` - string representation of unique transaction identifier
  -* `event_count` (for `END` events) - total number of events emmitted by the transaction
  -* `data_collections` (for `END` events) - an array of pairs of `data_collection` and `event_count` that provides number of events emitted by changes originating from given data collection
  -
  -Following is an example of what a message looks like:
  +{prodname} can generate events that represent transaction metadata boundaries and that enrich data change event messages.
  +
  +Database transactions are represented by a statement block that is enclosed between the `BEGIN` and `END` keywords.
  +{prodname} generates transaction boundary events for the `BEGIN` and `END` delimiters in every transaction.
  +Transaction boundary events contain the following fields:
  +
  +`status`:: `BEGIN` or `END`
  +`id`:: String representation of unique transaction identifier.
  +`event_count` (for `END` events):: Total number of events emmitted by the transaction.
  +`data_collections` (for `END` events):: An array of pairs of `data_collection` and `event_count` that provides number of events emitted by changes originating from the given data collection.
  +
  +The following example shows a typical transaction boundary message:
  +
  +.Example: Oracle connector transaction boundary event
   
   [source,json,indent=0,subs="attributes"]
   ----
  
positive.code: // Title: Descriptions of {prodname} Oracle connector configuration properties
  // ModuleID: descriptions-of-debezium-oracle-connector-configuration-properties
  [[oracle-connector-properties]]
  === Connector Properties
  
  The {prodname} Oracle connector has numerous configuration properties that you can use to achieve the right connector behavior for your application.
  Many properties have default values.
  
negative.code: When set to `0`, transactions are retained until a commit or rollback is detected.
  
  The LogMiner adapter maintains an in-memory buffer of all running transactions.
  Because all of the DML operations that are part of a transaction are buffered until a commit or rollback is detected,
  long-running transactions should be avoided in order to not overflow that buffer.
  Any transaction that exceeds this configured value is discarded entirely, and the connector does not emit any messages for the operations that were part of the transaction.
  ifdef::community[]
  While this option allows the behavior to be configured on a case-by-case basis,
  we have plans to enhance this behavior in a future release by means of adding a scalable transaction buffer, (see {link-prefix}:{jira-url}/browse/DBZ-3123[DBZ-3123]).
  endif::community[]
  |[[oracle-property-log-mining-archive-destination-name]]<<oracle-property-log-mining-archive-destination-name, `+log.mining.archive.destination.name+`>>
  |No default
  |Specifies the configured Oracle archive destination to use when mining archive logs with LogMiner. +
   +
  The default behavior automatically selects the first valid, local configured destination.
  However, you can use a specific destination can be used by providing the destination name, for example, `LOG_ARCHIVE_DEST_5`.
  
  |[[oracle-property-log-mining-username-exclude-list]]<<oracle-property-log-mining-username-exclude-list, `+log.mining.username.exclude.list+`>>
  |No default
  |List of database users to exclude from the LogMiner query.
  It can be useful to set this property if you want the capturing process to always exclude the changes that specific users make.
  
  |[[oracle-property-lob-enabled]]<<oracle-property-lob-enabled, `+lob.enabled+`>>
  |`false`
  |Controls whether or not large object (CLOB or BLOB) column values are emitted in change events. +
   +
  By default, change events have large object columns, but the columns contain no values.
  There is a certain amount of overhead in processing and managing large object column types and payloads.
  To capture large object values and serialized them in change events, set this option to `true`.
  
  |[[oracle-property-rac-nodes]]<<oracle-property-rac-nodes, `+rac.nodes+`>>
  |No default
  |A comma-separated list of Oracle Real Application Clusters (RAC) node host names or addresses.
  This field is required to enable use with Oracle RAC.
  
  |[[oracle-property-skipped-operations]]<<oracle-property-skipped-operations, `+skipped.operations+`>>
  |No default
  |A comma-separated list of the operation types that you want the connector to skip during streaming.
  You can configure the connector to skip the following types of operations:
  
  * `c` (insert/create)
  * `u` (update)
  * `d` (delete)
  
  By default, no operations are skipped.
  
  |===
  