doris创建oracle catalog导致用户被锁

doris版本2.0.5.

创建oracle catalog,oracle用户的密码写错了,返回报错信息,catalog创建前台显示应该是失败了。

后来发现后台一直有连接在用错误的密码访问oracle,oracle设置了连续错误访问10次锁用户,最终导致用户被锁。

原因还没查明,不确定是否是doris的bug。

如果有原因说明或者解决方法,可以在评论中回复。

<think>嗯,用户想了解如何通过Flink CDC将数据从Oracle同步到Doris。首先,我需要回忆一下相关组件和技术。Flink CDC是用来捕获变更数据的,而Doris是一个分析型数据库,适合实时分析。那么整个流程应该是配置Flink作业,使用Flink CDC连接Oracle,处理数据变化,然后写入Doris。 首先,用户可能需要确认各个组件的版本兼容性,比如Flink、Flink CDC Connector和Doris Connector的版本是否匹配。接下来是具体步骤:配置Oracle的CDC,确保归档日志开启,可能需要修改数据库参数和用户权限。然后编写Flink作业,使用Flink SQL或者DataStream API。这里可能需要注意Oracle CDC的配置参数,比如scan.startup.mode,处理初始快照或者增量数据。 另外,Doris这边需要配置FE和BE,创建表,然后通过Flink的Doris Connector写入。可能需要处理数据类型映射的问题,比如Oracle的日期类型到Doris的转换。还有数据写入方式,是用Stream Load还是其他方式,如何保证数据一致性,比如开启两阶段提交。 用户可能遇到的问题包括连接失败,比如网络问题或者权限不足,需要检查防火墙和用户权限。还有数据延迟,可能需要调整Flink的并行度或者检查点间隔。数据重复或丢失的话,可能需要检查Exactly-Once的配置,或者Doris的导入事务支持。 需要提醒用户注意性能调优,比如内存配置,并行度设置,以及监控作业的运行状态。最后,建议用户参考官方文档,确保所有配置正确,并进行测试验证同步的正确性。</think>以下是通过Flink CDC将Oracle数据同步到Doris的步骤说明: --- ### 一、核心组件 1. **Oracle**:数据源数据库 2. **Flink CDC**:捕获Oracle的变更数据(Change Data Capture) 3. **Apache Flink**:流处理引擎 4. **Doris**:目标分析型数据库 --- ### 二、实现步骤 #### 步骤1:环境准备 - 确认版本兼容性: $$ \text{Flink 1.13+} \quad + \quad \text{flink-connector-oracle-cdc 2.3+} \quad + \quad \text{Doris Connector 1.1+} $$ - 开启Oracle归档日志(需DBA权限): ```sql ALTER DATABASE ARCHIVELOG; ALTER DATABASE ADD SUPPLEMENTAL LOG DATA; CREATE USER flink_user IDENTIFIED BY password; -- 创建专用用户 GRANT SELECT ON V_$LOG TO flink_user; -- 授权日志访问 ``` #### 步骤2:配置Flink CDC Source ```sql CREATE TABLE oracle_source ( id INT, name STRING, update_time TIMESTAMP ) WITH ( 'connector' = 'oracle-cdc', 'hostname' = 'oracle_host', 'port' = '1521', 'username' = 'flink_user', 'password' = 'password', 'database-name' = 'ORCL', 'schema-name' = 'scott', 'table-name' = 'employees', 'debezium.log.mining.strategy' = 'online_catalog' ); ``` #### 步骤3:配置Doris Sink ```sql CREATE TABLE doris_sink ( id INT, name STRING, update_time TIMESTAMP ) WITH ( 'connector' = 'doris', 'fenodes' = 'doris_fe:8030', 'table.identifier' = 'db.table', 'username' = 'root', 'password' = '', 'sink.properties.format' = 'json', 'sink.properties.strip_outer_array' = 'true' ); ``` #### 步骤4:启动同步作业 ```sql INSERT INTO doris_sink SELECT * FROM oracle_source; ``` --- ### 三、关键技术点 1. **数据一致性保证**: - 通过`EXACTLY_ONCE`语义配置 - Doris需开启两阶段提交: ```prolog enable_two_phase_commit = true ``` 2. **性能优化**: ```yaml # Flink Checkpoint配置 execution.checkpointing.interval: 10s execution.checkpointing.tolerable-failed-checkpoints: 3 ``` 3. **异常处理**: - 断点续传:通过`scan.startup.mode=timestamp`指定恢复位点 - 错误重试:配置`jdbc.connection.max-retries=5` --- ### 四、常见问题排查 1. **连接失败**: - 检查Oracle监听状态:`lsnrctl status` - 验证Doris FE/BE节点连通性 2. **数据延迟**: ```shell # 查看Flink背压 curl http://flink-jobmanager:8081/jobs/<jobid>/backpressure ``` 3. **字段类型映射**: | Oracle类型 | Doris类型 | |------------|-----------| | NUMBER | BIGINT | | DATE | DATETIME | | CLOB | STRING | --- ### 五、推荐部署模式 ```mermaid graph LR A[Oracle] -->|CDC| B(Flink Cluster) B -->|Stream Load| C[Doris FE] C --> D[Doris BE] D --> E((数据分片)) ``` 建议生产环境采用Flink on YARN/K8s部署,Doris集群建议3FE + 3BE起步配置。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值