Package io.debezium.connector.oracle
Class OracleConnectorConfig
- java.lang.Object
-
- io.debezium.config.CommonConnectorConfig
-
- io.debezium.relational.RelationalDatabaseConnectorConfig
-
- io.debezium.relational.HistorizedRelationalDatabaseConnectorConfig
-
- io.debezium.connector.oracle.OracleConnectorConfig
-
public class OracleConnectorConfig extends HistorizedRelationalDatabaseConnectorConfig
Connector configuration for Oracle.- Author:
- Gunnar Morling
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static classOracleConnectorConfig.ConnectorAdapterstatic classOracleConnectorConfig.LogMiningBufferTypestatic classOracleConnectorConfig.LogMiningDmlParserstatic classOracleConnectorConfig.LogMiningStrategystatic classOracleConnectorConfig.SnapshotLockingModestatic classOracleConnectorConfig.SnapshotModeThe set of predefined SnapshotMode options or aliases.private static classOracleConnectorConfig.SystemTablesPredicateATables.TableFilterthat excludes all Oracle system tables.-
Nested classes/interfaces inherited from class io.debezium.relational.RelationalDatabaseConnectorConfig
RelationalDatabaseConnectorConfig.DecimalHandlingMode
-
Nested classes/interfaces inherited from class io.debezium.config.CommonConnectorConfig
CommonConnectorConfig.BinaryHandlingMode, CommonConnectorConfig.EventProcessingFailureHandlingMode, CommonConnectorConfig.Version
-
-
Field Summary
-
Fields inherited from class io.debezium.relational.HistorizedRelationalDatabaseConnectorConfig
DATABASE_HISTORY, DEFAULT_SNAPSHOT_FETCH_SIZE
-
Fields inherited from class io.debezium.relational.RelationalDatabaseConnectorConfig
COLUMN_BLACKLIST, COLUMN_EXCLUDE_LIST, COLUMN_INCLUDE_LIST, COLUMN_INCLUDE_LIST_ALREADY_SPECIFIED_ERROR_MSG, COLUMN_WHITELIST, COLUMN_WHITELIST_ALREADY_SPECIFIED_ERROR_MSG, DATABASE_BLACKLIST, DATABASE_BLACKLIST_NAME, DATABASE_EXCLUDE_LIST, DATABASE_EXCLUDE_LIST_NAME, DATABASE_INCLUDE_LIST, DATABASE_INCLUDE_LIST_ALREADY_SPECIFIED_ERROR_MSG, DATABASE_INCLUDE_LIST_NAME, DATABASE_NAME, DATABASE_WHITELIST, DATABASE_WHITELIST_ALREADY_SPECIFIED_ERROR_MSG, DATABASE_WHITELIST_NAME, DECIMAL_HANDLING_MODE, DEFAULT_SNAPSHOT_LOCK_TIMEOUT_MILLIS, INCLUDE_SCHEMA_CHANGES, MASK_COLUMN, MASK_COLUMN_WITH_HASH, MSG_KEY_COLUMNS, PASSWORD, PROPAGATE_COLUMN_SOURCE_TYPE, PROPAGATE_DATATYPE_SOURCE_TYPE, SCHEMA_BLACKLIST, SCHEMA_EXCLUDE_LIST, SCHEMA_EXCLUDE_LIST_NAME, SCHEMA_INCLUDE_LIST, SCHEMA_INCLUDE_LIST_ALREADY_SPECIFIED_ERROR_MSG, SCHEMA_INCLUDE_LIST_NAME, SCHEMA_WHITELIST, SCHEMA_WHITELIST_ALREADY_SPECIFIED_ERROR_MSG, SERVER_NAME_PATTERN, SNAPSHOT_FULL_COLUMN_SCAN_FORCE, SNAPSHOT_LOCK_TIMEOUT_MS, SNAPSHOT_SELECT_STATEMENT_OVERRIDES_BY_TABLE, TABLE_BLACKLIST, TABLE_BLACKLIST_NAME, TABLE_EXCLUDE_LIST, TABLE_EXCLUDE_LIST_NAME, TABLE_IGNORE_BUILTIN, TABLE_INCLUDE_LIST, TABLE_INCLUDE_LIST_ALREADY_SPECIFIED_ERROR_MSG, TABLE_INCLUDE_LIST_NAME, TABLE_WHITELIST, TABLE_WHITELIST_ALREADY_SPECIFIED_ERROR_MSG, TABLE_WHITELIST_NAME, TIME_PRECISION_MODE, TRUNCATE_COLUMN, USER
-
Fields inherited from class io.debezium.config.CommonConnectorConfig
BINARY_HANDLING_MODE, CUSTOM_CONVERTERS, DATABASE_CONFIG_PREFIX, DEFAULT_MAX_BATCH_SIZE, DEFAULT_MAX_QUEUE_SIZE, DEFAULT_MAX_QUEUE_SIZE_IN_BYTES, DEFAULT_POLL_INTERVAL_MILLIS, DEFAULT_QUERY_FETCH_SIZE, DEFAULT_RETRIABLE_RESTART_WAIT, EVENT_PROCESSING_FAILURE_HANDLING_MODE, INCREMENTAL_SNAPSHOT_CHUNK_SIZE, MAX_QUEUE_SIZE, MAX_QUEUE_SIZE_IN_BYTES, POLL_INTERVAL_MS, PROVIDE_TRANSACTION_METADATA, QUERY_FETCH_SIZE, RETRIABLE_RESTART_WAIT, SANITIZE_FIELD_NAMES, SIGNAL_DATA_COLLECTION, SKIPPED_OPERATIONS, SNAPSHOT_DELAY_MS, SNAPSHOT_FETCH_SIZE, SNAPSHOT_MAX_THREADS, SNAPSHOT_MODE_TABLES, SOURCE_STRUCT_MAKER_VERSION, TOMBSTONES_ON_DELETE
-
-
Constructor Summary
Constructors Constructor Description OracleConnectorConfig(Configuration config)
-
Method Summary
-
Methods inherited from class io.debezium.relational.HistorizedRelationalDatabaseConnectorConfig
getDatabaseHistory, useCatalogBeforeSchema
-
Methods inherited from class io.debezium.relational.RelationalDatabaseConnectorConfig
getColumnFilter, getDecimalMode, getJdbcConfig, getKeyMapper, getSnapshotSelectOverridesByTable, getTableFilters, getTableIdMapper, getTemporalPrecisionMode, isFullColummnScanRequired, isSchemaChangesHistoryEnabled, schemaExcludeList, schemaIncludeList, snapshotLockTimeout, tableExcludeList, tableIncludeList
-
Methods inherited from class io.debezium.config.CommonConnectorConfig
binaryHandlingMode, customConverterRegistry, getConfig, getDataCollectionsToBeSnapshotted, getEventProcessingFailureHandlingMode, getHeartbeatTopicsPrefix, getIncrementalSnashotChunkSize, getLogicalName, getMaxBatchSize, getMaxQueueSize, getMaxQueueSizeInBytes, getPollInterval, getQueryFetchSize, getRetriableRestartWait, getSanitizeFieldNames, getSignalingDataCollectionId, getSkippedOperations, getSnapshotDelay, getSnapshotFetchSize, getSnapshotMaxThreads, getSourceInfoStructMaker, isEmitTombstoneOnDelete, shouldProvideTransactionMetadata, supportsOperationFiltering, validate, validateAndRecord, validateServerNameIsDifferentFromHistoryTopicName
-
-
-
-
Field Detail
-
DEFAULT_PORT
protected static final int DEFAULT_PORT
- See Also:
- Constant Field Values
-
DEFAULT_VIEW_FETCH_SIZE
protected static final int DEFAULT_VIEW_FETCH_SIZE
- See Also:
- Constant Field Values
-
DEFAULT_BATCH_SIZE
protected static final int DEFAULT_BATCH_SIZE
- See Also:
- Constant Field Values
-
MIN_BATCH_SIZE
protected static final int MIN_BATCH_SIZE
- See Also:
- Constant Field Values
-
MAX_BATCH_SIZE
protected static final int MAX_BATCH_SIZE
- See Also:
- Constant Field Values
-
MAX_SLEEP_TIME
protected static final Duration MAX_SLEEP_TIME
-
DEFAULT_SLEEP_TIME
protected static final Duration DEFAULT_SLEEP_TIME
-
MIN_SLEEP_TIME
protected static final Duration MIN_SLEEP_TIME
-
SLEEP_TIME_INCREMENT
protected static final Duration SLEEP_TIME_INCREMENT
-
ARCHIVE_LOG_ONLY_POLL_TIME
protected static final Duration ARCHIVE_LOG_ONLY_POLL_TIME
-
PORT
public static final Field PORT
-
HOSTNAME
public static final Field HOSTNAME
-
PDB_NAME
public static final Field PDB_NAME
-
XSTREAM_SERVER_NAME
public static final Field XSTREAM_SERVER_NAME
-
SNAPSHOT_MODE
public static final Field SNAPSHOT_MODE
-
SNAPSHOT_LOCKING_MODE
public static final Field SNAPSHOT_LOCKING_MODE
-
ORACLE_VERSION
public static final Field ORACLE_VERSION
-
SERVER_NAME
public static final Field SERVER_NAME
-
CONNECTOR_ADAPTER
public static final Field CONNECTOR_ADAPTER
-
LOG_MINING_STRATEGY
public static final Field LOG_MINING_STRATEGY
-
CONTINUOUS_MINE
public static final Field CONTINUOUS_MINE
-
SNAPSHOT_ENHANCEMENT_TOKEN
public static final Field SNAPSHOT_ENHANCEMENT_TOKEN
-
LOG_MINING_TRANSACTION_RETENTION
public static final Field LOG_MINING_TRANSACTION_RETENTION
-
RAC_NODES
public static final Field RAC_NODES
-
URL
public static final Field URL
-
LOG_MINING_ARCHIVE_LOG_HOURS
public static final Field LOG_MINING_ARCHIVE_LOG_HOURS
-
LOG_MINING_BATCH_SIZE_MIN
public static final Field LOG_MINING_BATCH_SIZE_MIN
-
LOG_MINING_BATCH_SIZE_DEFAULT
public static final Field LOG_MINING_BATCH_SIZE_DEFAULT
-
LOG_MINING_BATCH_SIZE_MAX
public static final Field LOG_MINING_BATCH_SIZE_MAX
-
LOG_MINING_VIEW_FETCH_SIZE
public static final Field LOG_MINING_VIEW_FETCH_SIZE
-
LOG_MINING_SLEEP_TIME_MIN_MS
public static final Field LOG_MINING_SLEEP_TIME_MIN_MS
-
LOG_MINING_SLEEP_TIME_DEFAULT_MS
public static final Field LOG_MINING_SLEEP_TIME_DEFAULT_MS
-
LOG_MINING_SLEEP_TIME_MAX_MS
public static final Field LOG_MINING_SLEEP_TIME_MAX_MS
-
LOG_MINING_SLEEP_TIME_INCREMENT_MS
public static final Field LOG_MINING_SLEEP_TIME_INCREMENT_MS
-
LOG_MINING_ARCHIVE_LOG_ONLY_MODE
public static final Field LOG_MINING_ARCHIVE_LOG_ONLY_MODE
-
LOG_MINING_ARCHIVE_LOG_ONLY_SCN_POLL_INTERVAL_MS
public static final Field LOG_MINING_ARCHIVE_LOG_ONLY_SCN_POLL_INTERVAL_MS
-
LOB_ENABLED
public static final Field LOB_ENABLED
-
LOG_MINING_USERNAME_EXCLUDE_LIST
public static final Field LOG_MINING_USERNAME_EXCLUDE_LIST
-
LOG_MINING_ARCHIVE_DESTINATION_NAME
public static final Field LOG_MINING_ARCHIVE_DESTINATION_NAME
-
LOG_MINING_BUFFER_TYPE
public static final Field LOG_MINING_BUFFER_TYPE
-
LOG_MINING_BUFFER_LOCATION
public static final Field LOG_MINING_BUFFER_LOCATION
-
LOG_MINING_BUFFER_DROP_ON_STOP
public static final Field LOG_MINING_BUFFER_DROP_ON_STOP
-
CONFIG_DEFINITION
private static final ConfigDefinition CONFIG_DEFINITION
-
ALL_FIELDS
public static Field.Set ALL_FIELDS
The set ofFields defined as part of this configuration.
-
databaseName
private final String databaseName
-
pdbName
private final String pdbName
-
xoutServerName
private final String xoutServerName
-
snapshotMode
private final OracleConnectorConfig.SnapshotMode snapshotMode
-
oracleVersion
private final String oracleVersion
-
connectorAdapter
private OracleConnectorConfig.ConnectorAdapter connectorAdapter
-
streamingAdapter
private final StreamingAdapter streamingAdapter
-
snapshotEnhancementToken
private final String snapshotEnhancementToken
-
snapshotLockingMode
private final OracleConnectorConfig.SnapshotLockingMode snapshotLockingMode
-
logMiningStrategy
private final OracleConnectorConfig.LogMiningStrategy logMiningStrategy
-
logMiningContinuousMine
private final boolean logMiningContinuousMine
-
logMiningArchiveLogRetention
private final Duration logMiningArchiveLogRetention
-
logMiningBatchSizeMin
private final int logMiningBatchSizeMin
-
logMiningBatchSizeMax
private final int logMiningBatchSizeMax
-
logMiningBatchSizeDefault
private final int logMiningBatchSizeDefault
-
logMiningViewFetchSize
private final int logMiningViewFetchSize
-
logMiningSleepTimeMin
private final Duration logMiningSleepTimeMin
-
logMiningSleepTimeMax
private final Duration logMiningSleepTimeMax
-
logMiningSleepTimeDefault
private final Duration logMiningSleepTimeDefault
-
logMiningSleepTimeIncrement
private final Duration logMiningSleepTimeIncrement
-
logMiningTransactionRetention
private final Duration logMiningTransactionRetention
-
archiveLogOnlyMode
private final boolean archiveLogOnlyMode
-
archiveLogOnlyScnPollTime
private final Duration archiveLogOnlyScnPollTime
-
lobEnabled
private final boolean lobEnabled
-
logMiningArchiveDestinationName
private final String logMiningArchiveDestinationName
-
logMiningBufferType
private final OracleConnectorConfig.LogMiningBufferType logMiningBufferType
-
logMiningBufferLocation
private final String logMiningBufferLocation
-
logMiningBufferDropOnStop
private final boolean logMiningBufferDropOnStop
-
-
Constructor Detail
-
OracleConnectorConfig
public OracleConnectorConfig(Configuration config)
-
-
Method Detail
-
configDef
public static org.apache.kafka.common.config.ConfigDef configDef()
-
getDatabaseName
public String getDatabaseName()
-
getPdbName
public String getPdbName()
-
getCatalogName
public String getCatalogName()
-
getXoutServerName
public String getXoutServerName()
-
getSnapshotMode
public OracleConnectorConfig.SnapshotMode getSnapshotMode()
-
getSnapshotLockingMode
public OracleConnectorConfig.SnapshotLockingMode getSnapshotLockingMode()
-
getOracleVersion
public String getOracleVersion()
-
getHistoryRecordComparator
protected HistoryRecordComparator getHistoryRecordComparator()
- Specified by:
getHistoryRecordComparatorin classHistorizedRelationalDatabaseConnectorConfig
-
getSourceInfoStructMaker
protected SourceInfoStructMaker<? extends AbstractSourceInfo> getSourceInfoStructMaker(CommonConnectorConfig.Version version)
- Specified by:
getSourceInfoStructMakerin classCommonConnectorConfig
-
getContextName
public String getContextName()
- Specified by:
getContextNamein classCommonConnectorConfig
-
getAdapter
public StreamingAdapter getAdapter()
- Returns:
- the streaming adapter implementation
-
getLogMiningStrategy
public OracleConnectorConfig.LogMiningStrategy getLogMiningStrategy()
- Returns:
- Log Mining strategy
-
isRacSystem
public Boolean isRacSystem()
- Returns:
- whether Oracle is using RAC
-
getRacNodes
public Set<String> getRacNodes()
- Returns:
- set of node hosts or ip addresses used in Oracle RAC
-
getTokenToReplaceInSnapshotPredicate
public String getTokenToReplaceInSnapshotPredicate()
- Returns:
- String token to replace
-
isContinuousMining
public boolean isContinuousMining()
- Returns:
- whether continuous log mining is enabled
-
getLogMiningArchiveLogRetention
public Duration getLogMiningArchiveLogRetention()
- Returns:
- the duration that archive logs are scanned for log mining
-
getLogMiningBatchSizeMin
public int getLogMiningBatchSizeMin()
- Returns:
- int The minimum SCN interval used when mining redo/archive logs
-
getLogMiningViewFetchSize
public int getLogMiningViewFetchSize()
- Returns:
- int Number of actual records that will be fetched from the log mining contents view
-
getLogMiningBatchSizeMax
public int getLogMiningBatchSizeMax()
- Returns:
- int The maximum SCN interval used when mining redo/archive logs
-
getLogMiningBatchSizeDefault
public int getLogMiningBatchSizeDefault()
- Returns:
- int The default SCN interval used when mining redo/archive logs
-
getLogMiningSleepTimeMin
public Duration getLogMiningSleepTimeMin()
- Returns:
- int The minimum sleep time used when mining redo/archive logs
-
getLogMiningSleepTimeMax
public Duration getLogMiningSleepTimeMax()
- Returns:
- int The maximum sleep time used when mining redo/archive logs
-
getLogMiningSleepTimeDefault
public Duration getLogMiningSleepTimeDefault()
- Returns:
- int The default sleep time used when mining redo/archive logs
-
getLogMiningSleepTimeIncrement
public Duration getLogMiningSleepTimeIncrement()
- Returns:
- int The increment in sleep time when doing auto-tuning while mining redo/archive logs
-
getLogMiningTransactionRetention
public Duration getLogMiningTransactionRetention()
- Returns:
- the duration for which long running transactions are permitted in the transaction buffer between log switches
-
isArchiveLogOnlyMode
public boolean isArchiveLogOnlyMode()
- Returns:
- true if the connector is to mine archive logs only, false to mine all logs.
-
getArchiveLogOnlyScnPollTime
public Duration getArchiveLogOnlyScnPollTime()
- Returns:
- the duration that archive log only will use to wait between polling scn availability
-
isLobEnabled
public boolean isLobEnabled()
- Returns:
- true if LOB fields are to be captured; false otherwise to not capture LOB fields.
-
getLogMiningUsernameExcludes
public Set<String> getLogMiningUsernameExcludes()
- Returns:
- User names to exclude from the LogMiner query
-
getLogMiningArchiveDestinationName
public String getLogMiningArchiveDestinationName()
- Returns:
- name of the archive destination configuration to use
-
getLogMiningBufferType
public OracleConnectorConfig.LogMiningBufferType getLogMiningBufferType()
- Returns:
- the log mining buffer type implementation to be used
-
getLogMiningBufferLocation
public String getLogMiningBufferLocation()
- Returns:
- the log mining buffer storage location, may be
null
-
isLogMiningBufferDropOnStop
public boolean isLogMiningBufferDropOnStop()
- Returns:
- whether buffer cache should be dropped on connector stop.
-
getConnectorName
public String getConnectorName()
- Specified by:
getConnectorNamein classCommonConnectorConfig
-
resolveRacNodes
private Set<String> resolveRacNodes(Configuration config)
-
validateOutServerName
public static int validateOutServerName(Configuration config, Field field, Field.ValidationOutput problems)
-
requiredWhenNoUrl
public static int requiredWhenNoUrl(Configuration config, Field field, Field.ValidationOutput problems)
-
requiredWhenNoHostname
public static int requiredWhenNoHostname(Configuration config, Field field, Field.ValidationOutput problems)
-
validateBufferLocation
public static int validateBufferLocation(Configuration config, Field field, Field.ValidationOutput problems)
-
validateRacNodes
public static int validateRacNodes(Configuration config, Field field, Field.ValidationOutput problems)
-
-