Oracle实时同步
本文提供Oracle实时同步场景的实施思路、配置示例和验证方式,可作为实际项目配置参考。
实现在Oracle中结果表向目标表中实时同步数据
案例
Oracle中将cdc_source中的数据实时同步到cdc_target中
前提
- 启用Oracle的logminer
解决方案
创建Flink SQL作业类型,添加以下依赖

CREATE TABLE from_table (
USERNAME STRING,
AGE INT,
PRIMARY KEY(USERNAME) NOT ENFORCED
) WITH (
'connector' = 'oracle-cdc',
'hostname' = 'localhost',
'port' = '15201',
'username' = 'root',
'password' = 'root123',
'database-name' = 'helowin',
'schema-name' = 'root',
'table-name' = 'CDC_SOURCE',
'scan.startup.mode' = 'latest-offset');
CREATE TABLE target_table(
USERNAME STRING,
AGE INT,
PRIMARY KEY(USERNAME) NOT ENFORCED
) WITH (
'connector'='jdbc',
'url'='jdbc:oracle:thin:@localhost:15201:helowin',
'driver'='oracle.jdbc.driver.OracleDriver',
'table-name'='CDC_SINK',
'username'='root',
'password'='root123',
'sink.buffer-flush.max-rows' = '0');
INSERT INTO target_table select * from from_table;
| 配置项 | 说明 |
|---|---|
| connector | 连接方式 |
| uri | 数据库连接url |
| table-name | 表名 |
| database-name | 库名**** |
