Skip to main content

Configuration Reference

Complete reference of all oracdc connector parameters. See the etc directory in the source repository for sample configuration files.

Mandatory Parameters

a2.jdbc.url

JDBC connection URL. Supported formats:

EZConnect Format:

jdbc:oracle:thin:@[[protocol:]//]host1[,host2,host3][:port1][,host4:port2][/service_name][:server_mode][/instance_name][?connection properties]

TNS URL Format:

jdbc:oracle:thin:@(DESCRIPTION=(ADDRESS=(PROTOCOL=<protocol>)(HOST=<dbhost>)(PORT=<dbport>))(CONNECT_DATA=(SERVICE_NAME=<service-name>)))

TNS Alias Format:

jdbc:oracle:thin:@<alias_name>

For more information see Oracle Database JDBC Java API Reference.

a2.wallet.location

Location of Oracle Wallet / External Password Store. Not required when a2.jdbc.url, a2.jdbc.username, and a2.jdbc.password are set.

a2.jdbc.username

JDBC connection username. Not required when using Oracle Wallet.

a2.jdbc.password

JDBC connection password. Not required when using Oracle Wallet.

Optional Parameters

General Source Connector Parameters

ParameterDefaultDescription
a2.schema.typekafkaSchema type: kafka (separate key/value), single (all fields in one schema), or debezium (before/after images)
a2.topic.prefix(empty)Prefix prepended to table names for topic generation
a2.kafka.topicoracdc-topicTopic name when using a2.schema.type=debezium
a2.topic.partition0Kafka topic partition to write data
a2.batch.size1000Maximum rows per poll batch (source) or consume batch (sink)
a2.poll.interval1000Interval in ms to poll for new data in each materialized view log
a2.exclude(empty)Comma separated list of tables to exclude. Supports <SCHEMA>.<TABLE> and wildcards (<SCHEMA>.* or <SCHEMA>.%)
a2.include(empty)Comma separated list of tables to include. Same format as a2.exclude
a2.protobuf.schema.namingfalseWhen true, generates schema names as valid Protocol Buffers identifiers using underscore separator
a2.first.change(not set)Starting SCN for DBMS_LOGMNR.START_LOGMNR. Overrides stored offset
a2.tmpdirjava.io.tmpdirTemporary directory for off-heap storage
a2.oracdc.schemasfalseUse oracdc's own schemas (OraNumber, OraTimestamp) for Oracle datatypes
a2.initial.loadIGNORESet to EXECUTE to perform initial data load from tables
a2.topic.name.styleTABLETopic naming: TABLE, SCHEMA_TABLE, or PDB_SCHEMA_TABLE
a2.topic.name.delimiter_Topic name delimiter: _, -, or .
a2.table.list.stylestaticstatic: reads table list at startup. dynamic: builds list on the fly
a2.process.lobsfalseProcess BLOB, CLOB, NCLOB, XMLTYPE columns
a2.lob.transformation.classOraCdcDefaultLobTransformationsImplClass implementing OraCdcLobTransformationsIntf for LOB transformation
a2.connection.backoff30000Backoff time in ms between reconnection attempts
a2.use.racfalseEnable Oracle RAC support. Auto-detects RAC and starts per-thread tasks
a2.transaction.implementationChronicleQueueQueue implementation: ChronicleQueue (off-heap) or ArrayList (heap). LOBs require ChronicleQueue
a2.print.invalid.hex.value.warningfalsePrint information about invalid hex values in log
a2.process.online.redo.logsfalseProcess online redo logs for minimal latency
a2.scn.query.interval.ms60000Minimum interval in ms to determine current SCN during online redo log processing
a2.tolerate.incomplete.rowfalseWhen true, ignores incomplete redo records instead of stopping
a2.print.all.online.scn.rangestruePrint detailed SCN range information for online log processing

Key Selection Parameters

ParameterDefaultDescription
a2.pk.typewell_definedwell_defined: uses PK or NOT NULL unique key. any_unique: allows nullable unique keys
a2.use.rowid.as.keytrueWhen true and no appropriate key exists, uses ROWID as surrogate key
a2.use.all.columns.on.deletefalseWhen true, reads all columns from DELETE redo records (not just key columns)
a2.key.override(empty)Per-table key override. Format: OWNER.TABLE=NONE|ROWID|INDEX(INDEX_NAME), comma separated

Topic Mapping Parameters

ParameterDefaultDescription
a2.topic.mapperOraCdcDefaultTopicNameMapperClass implementing TopicNameMapper interface for topic assignment
a2.stop.on.ora.1284trueStop on ORA-01284 (file cannot be opened). When false, continues with next log
a2.print.unable.to.delete.warningfalsePrint warning about ignored DELETE operations for keyless tables
a2.schema.name.mapperOraCdcDefaultSchemaNameMapperClass for schema name construction

Pseudo Column Parameters

ParameterDefaultDescription
a2.pseudocolumn.ora_rowscn(empty)Field name for row change SCN
a2.pseudocolumn.ora_commitscn(empty)Field name for transaction commit SCN
a2.pseudocolumn.ora_rowts(empty)Field name for row change timestamp
a2.pseudocolumn.ora_operation(empty)Field name for operation type (UPDATE/INSERT/DELETE)
a2.pseudocolumn.ora_xid(empty)Field name for transaction ID (XID)
a2.pseudocolumn.ora_username(empty)Field name for executing user
a2.pseudocolumn.ora_osusername(empty)Field name for OS user
a2.pseudocolumn.ora_hostname(empty)Field name for client hostname
a2.pseudocolumn.ora_audit_session_id(empty)Field name for audit session ID
a2.pseudocolumn.ora_session_info(empty)Field name for database session info
a2.pseudocolumn.ora_client_id(empty)Field name for client identifier

Sequence Notification Parameters

ParameterDefaultDescription
a2.last.sequence.notifier(empty)Class implementing LastProcessedSeqNotifier. Use OraCdcLastProcessedSeqFileNotifier for file-based notification
a2.last.sequence.notifier.file${connectorName}.seqFile name for last processed sequence number

Performance and Memory Parameters

ParameterDefaultDescription
a2.transactions.threshold0Max simultaneously processed transactions. Default calculated from vm.max_map_count on Linux, 0x7000 on other platforms
a2.reduce.load.ms60000Wait time in ms to reduce concurrent transactions (pauses reading, continues sending)
a2.array.list.default.capacity32Initial capacity of ArrayList for transaction data
a2.ignore.stored.offsetfalseWhen true, ignores stored offset and uses a2.first.change or minimum available SCN
a2.tables.in.process.size256Initial size of memory structure for tables being processed
a2.tables.out.of.scope.size1024Initial size of memory structure for out-of-scope table IDs
a2.transactions.in.process.size1024Initial size of memory structure for current transactions
a2.emitter.timeout.ms21Interval in ms for emitter thread to check for new redo records
a2.offheap.sizeHALF-QUARTERInitial off-heap memory structure size

NUMBER Type Override

a2.number.map.[PDB_NAME.]SCHEMA_NAME.TABLE_NAME.COL_NAME_OR_PATTERN

Overrides Kafka data type for Oracle NUMBER columns. The % symbol can be used as a wildcard (start or end of column name). Possible values:

  • BOOL, BOOLEAN
  • BYTE, TINYINT
  • SHORT, SMALLINT
  • INT, INTEGER
  • LONG, BIGINT
  • FLOAT
  • DOUBLE
  • DECIMAL([P],S), NUMERIC([P],S)

Physical Standby Connection Parameters

ParameterDefaultDescription
a2.standby.activatefalseEnable redo log processing on physical standby
a2.standby.wallet.location(empty)Oracle Wallet location for standby connection
a2.standby.jdbc.url(empty)JDBC URL for physical standby database
a2.standby.privilegesysdgPrivilege for standby connection: sysdg, sysbackup, or sysdba

LogMiner-Specific Parameters

ParameterDefaultDescription
a2.archived.log.catalogOraCdcV$ArchivedLogImplClass implementing OraLogMiner interface
a2.fetch.size32Rows fetched per round trip for V$LOGMNR_CONTENTS
a2.logminer.tracefalseTrace LogMiner calls with event 10046 level 8
a2.log.miner.reconnect.msLong.MAX_VALUEReconnect interval for LogMiner (Unix/Linux only)

LogMiner Distributed Mode Parameters

ParameterDefaultDescription
a2.distributed.activatefalseUse distributed configuration
a2.distributed.wallet.location(empty)Oracle Wallet for target (mining) database
a2.distributed.jdbc.url(empty)JDBC URL for mining database
a2.distributed.target.host(empty)Hostname of target shipment agent
a2.distributed.target.port(empty)Port of target shipment agent

RedoMiner-Specific Parameters

Redo File Access

ParameterDefaultDescription
a2.redo.filename.convert(empty)Converts redo log path. Format: ORIGINAL_PATH=NEW_PATH
a2.storage.mediaFSStorage medium: FS, ASM, SSH, SMB, BFILE, or TRANSFER

ASM Connection

ParameterDefaultDescription
a2.asm.jdbc.url(empty)JDBC URL for Oracle ASM instance
a2.asm.username(empty)ASM username (requires SYSASM or SYSDBA)
a2.asm.password(empty)ASM user password
a2.asm.read.aheadtrueRead data in advance with larger chunks
a2.asm.reconnect.ms604800000ASM reconnect interval (1 week)
a2.asm.privilegesysasmASM connection privilege: sysasm or sysdba

SSH Connection

ParameterDefaultDescription
a2.ssh.hostname(empty)FQDN or IP of remote server
a2.ssh.port22SSH port
a2.ssh.user(empty)SSH username
a2.ssh.private.key(empty)Path to SSH private key file
a2.ssh.password(empty)SSH password
a2.ssh.reconnect.ms86400000SSH reconnect interval (24h)
a2.ssh.strict.host.key.checkingfalseEnable strict host key checking
a2.ssh.providersshjSSH library: sshj or maverick
a2.ssh.max.unconfirmed.reads256Max unconfirmed SFTP reads (sshj)
a2.ssh.buffer.size32768SFTP read-ahead buffer size (sshj)

SMB Connection

ParameterDefaultDescription
a2.smb.server(empty)FQDN or IP of SMB server
a2.smb.share.online(empty)SMB share with online redo logs
a2.smb.share.archive(empty)SMB share with archived redo logs
a2.smb.user(empty)SMB username
a2.smb.password(empty)SMB password
a2.smb.domain(empty)Windows authentication domain
a2.smb.timeout180000SMB read timeout in ms
a2.smb.socket.timeout180000SMB socket timeout in ms
a2.smb.reconnect.ms86400000SMB reconnect interval (24h)
a2.smb.buffer.size1048576SMB read-ahead buffer size

BFILE/TRANSFER Connection

ParameterDefaultDescription
a2.bfile.directory.online(empty)Oracle directory for online redo logs
a2.bfile.directory.archive(empty)Oracle directory for archived redo logs
a2.bfile.reconnect.ms3600000Oracle Net reconnect interval (1h)
a2.bfile.buffer.size4194304BFILE read-ahead buffer size
a2.transfer.directory.stage(empty)Oracle directory for TRANSFER stage storage (must be on file system)

TDE Encryption

ParameterDefaultDescription
a2.tde.wallet.path(empty)Full path to Oracle Wallet file (ewallet.p12)
a2.tde.wallet.password(empty)Oracle Wallet password

Data Processing

ParameterDefaultDescription
a2.process.all.update.statementstrueWhen false, ignores no-change UPDATE statements
a2.unable.to.map.col.id.warningtrueWarn when redo record contains unmapped column ID
a2.supplemental.loggingALLRequired supplemental logging level: ALL or NONE
a2.stop.on.missed.log.filetrueStop if a redo log file cannot be opened. When false, skips to next file

Sink Connector Parameters

ParameterDefaultDescription
a2.autocreatefalseCreate missing tables automatically
a2.table.mapper(empty)Class for mapping topic names to target table names
a2.table.name.prefix(empty)Prefix for target table names
a2.table.name.suffix(empty)Suffix for target table names
a2.pk.string.length(empty)String length for PK columns
a2.connection.init.sql(empty)SQL executed for all new connections