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.LogMiningDmlParserstatic classOracleConnectorConfig.LogMiningStrategystatic 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, 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, 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, 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, getLogicalName, getMaxBatchSize, getMaxQueueSize, getMaxQueueSizeInBytes, getPollInterval, getQueryFetchSize, getRetriableRestartWait, getSanitizeFieldNames, getSignalingDataCollectionId, getSkippedOps, getSnapshotDelay, getSnapshotFetchSize, getSnapshotMaxThreads, getSourceInfoStructMaker, isEmitTombstoneOnDelete, shouldProvideTransactionMetadata, validate, validateAndRecord, validateServerNameIsDifferentFromHistoryTopicName
-
-
-
-
Field Detail
-
LOGGER
private static final org.slf4j.Logger LOGGER
-
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
-
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
-
TABLENAME_CASE_INSENSITIVE
@Deprecated public static final Field TABLENAME_CASE_INSENSITIVE
Deprecated.
-
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_HISTORY_RECORDER_CLASS
public static final Field LOG_MINING_HISTORY_RECORDER_CLASS
-
LOG_MINING_HISTORY_RETENTION
public static final Field LOG_MINING_HISTORY_RETENTION
-
LOG_MINING_TRANSACTION_RETENTION
public static final Field LOG_MINING_TRANSACTION_RETENTION
-
RAC_SYSTEM
public static final Field RAC_SYSTEM
-
RAC_NODES
public static final Field RAC_NODES
-
URL
public static final Field URL
-
LOG_MINING_DML_PARSER
public static final Field LOG_MINING_DML_PARSER
-
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
-
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
-
tablenameCaseInsensitive
private final Boolean tablenameCaseInsensitive
-
oracleVersion
private final String oracleVersion
-
logMiningHistoryRecorder
private final HistoryRecorder logMiningHistoryRecorder
-
jdbcConfig
private final Configuration jdbcConfig
-
connectorAdapter
private final OracleConnectorConfig.ConnectorAdapter connectorAdapter
-
snapshotEnhancementToken
private final String snapshotEnhancementToken
-
logMiningStrategy
private final OracleConnectorConfig.LogMiningStrategy logMiningStrategy
-
logMiningHistoryRetentionHours
private final long logMiningHistoryRetentionHours
-
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
-
dmlParser
private final OracleConnectorConfig.LogMiningDmlParser dmlParser
-
-
Constructor Detail
-
OracleConnectorConfig
public OracleConnectorConfig(Configuration config)
-
-
Method Detail
-
configDef
public static org.apache.kafka.common.config.ConfigDef configDef()
-
resolveLogMiningHistoryRecorder
private static HistoryRecorder resolveLogMiningHistoryRecorder(Configuration config)
-
getDatabaseName
public String getDatabaseName()
-
getPdbName
public String getPdbName()
-
getCatalogName
public String getCatalogName()
-
getXoutServerName
public String getXoutServerName()
-
getSnapshotMode
public OracleConnectorConfig.SnapshotMode getSnapshotMode()
-
getTablenameCaseInsensitive
public Optional<Boolean> getTablenameCaseInsensitive()
Returns whether table name case is insensitive or not. The method may returnnullwhich indicates the connector configuration does not specify a value and should therefore be resolved by theOracleConnection.- Returns:
- whether table case is insensitive, may be
null.
-
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 OracleConnectorConfig.ConnectorAdapter getAdapter()
- Returns:
- connection adapter
-
getLogMiningStrategy
public OracleConnectorConfig.LogMiningStrategy getLogMiningStrategy()
- Returns:
- Log Mining strategy
-
isLogMiningHistoryRecorded
public Boolean isLogMiningHistoryRecorded()
- Returns:
- whether log mining history is recorded
-
getLogMiningHistoryRecorder
public HistoryRecorder getLogMiningHistoryRecorder()
- Returns:
- the log mining history recorder implementation, may be null
-
getLogMinerHistoryRetentionHours
public long getLogMinerHistoryRetentionHours()
- Returns:
- the number of hours log mining history is retained if history is recorded
-
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
-
getLogMiningDmlParser
public OracleConnectorConfig.LogMiningDmlParser getLogMiningDmlParser()
- Returns:
- the log mining parser implementation to be used
-
jdbcConfig
public Configuration jdbcConfig()
-
getConnectorName
public String getConnectorName()
- Specified by:
getConnectorNamein classCommonConnectorConfig
-
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)
-
resolveTableNameCaseInsensitivity
private static Boolean resolveTableNameCaseInsensitivity(Configuration config)
-
-