首批通过分布式安全可靠测评,为关键业务系统打造
OBCDC 常见配置项
更新时间:2026-04-16 13:11:33
本文提供 OBCDC 常用的配置项及说明。全部配置项请参考 OBCDC 配置项说明。
| 配置项 | 功能 | 默认值 | 取值范围 | 说明 |
|---|---|---|---|---|
| log_level | OBCDC 日志 | ALL.*:INFO; PALF.*:WARN; SHARE.SCHEMA:INFO | 不涉及 | 日志级别,可以按模块调控 |
| max_log_file_count | OBCDC 日志 | 40 | [0, +∞) | 最多保存的日志个数,一个日志文件 256M |
| rootserver_list | 连接 OceanBase 数据库 | | |
不涉及 | 启动时指定 Root Service 所在机器信息 |
| cluster_url | 连接 OceanBase 数据库 | | |
不涉及 | obconfig_url,OceanBase 集群 RS 信息的入口 |
| cluster_user | 连接 OceanBase 数据库 | | |
不涉及 | 系统租户用户名(有 oceanbase 库读权限) |
| cluster_password | 连接 OceanBase 数据库 | | |
不涉及 | 系统租户用户名对应的密码 |
| tenant_endpoint | 连接 OceanBase 数据库 | | |
不涉及 | 普通租户的机器信息,格式为 svr_ip:sql_port |
| tenant_user | 连接 OceanBase 数据库 | | |
不涉及 | 租户用户(有系统表读权限) |
| tenant_password | 连接 OceanBase 数据库 | | |
不涉及 | 租户用户的密码 |
| rs_sql_connect_timeout_sec | 连接 OceanBase 数据库 | 40 | [0, +∞) | RS 机器(系统租户)连接超时时间(online schema 模式用于用户获取 Schema) |
| rs_sql_query_timeout_sec | 连接 OceanBase 数据库 | 30 | [0, +∞) | RS 的 SQL 请求超时时间 |
| tenant_sql_connect_timeout_sec | 连接 OceanBase 数据库 | 40 | [0, +∞) | 对普通租户的机器的连接超时时间 |
| tenant_sql_query_timeout_sec | 连接 OceanBase 数据库 | 30 | [0, +∞) | 普通租户的 SQL 请求超时时间 |
| fetch_log_rpc_timeout_sec | 日志拉取 | 15 | [0, +∞) | 日志拉取超时时间 |
| cluster_id_black_list | 数据过滤 | | |
不涉及 | 需参考 ob_org_cluster_id 的值进行配置,ob_org_cluster_id 的详细介绍可参见 ob_org_cluster_id |
| tb_white_list | 数据过滤 | *.*.* | 不涉及 | 设置表的白名单(租户.DB.TB,租户模式下,租户部分需指定为同步的租户) |
| tb_black_list | 数据过滤 | | |
不涉及 | 设置表的黑名单 |
| working_mode | 工作模式 | storage | {storage, memory} | storage 模式下,REDO 日志会通过 rocksdb 持久化在本地,重启时会清空本地存储 |
| fetching_log_mode | 工作模式 | integrated | {integrated, direct} | 拉取日志模式,integrated 表示通过 RPC 从 OBServer 节点拉取日志,direct 表示直接读取归档文件 |
| archive_dest | 工作模式 | | |
不涉及 | 当 fetching_log_mode 配置为 direct 模式时才会生效,用于给 CDC 提供 OceanBase 数据库租户的归档路径信息(OSS 模式下需要包含访问密钥等) |
| meta_data_refresh_mode | 工作模式 | online | {online, data_dict} | 元数据来源,online 模式表示通过 SQL 读内部表构建 Schema,data_dict 模式表示通过日志中的数据字典构建 Schema。CDC 同步 OceanBase 数据库 V4.2 及之后版本数据时会忽略用户配置,强制使用 data_dict 模式,若需使用 online 模式,需额外修改 skip_ob_version_compat_check 配置项为 1 |
| skip_ob_version_compat_check | 工作模式/版本兼容性 | 0 | {0, 1} | 控制是否忽略版本检查,取值为 1 时表示忽略版本检查,部分同步高版本数据场景需要设置为 1(不建议) |
| pause_redo_dispatch_task_count_threshold | 流量控制 | 80 | [0, 100] | 设置 USER_QUEUE 或 RESOURCE_COLLECTOR 模块任务数量和对应队列长度的比值,比值达到设置的值时会触发下发 REDO 日志限流 |
| part_trans_task_active_count_upper_bound | 流量控制 | 0 | [0, +∞) | 预期分配的参与者事务数量的上限,取值为 0 时表示 CDC 内部自动调控,部分场景需要人工修改。流控参数之一,和 memory_limit(CDC 配置项)类似,不会严格限制,否则 CDC 同步会卡住 |
| part_trans_task_reusable_count_upper_bound | 流量控制 | 0 | [0, +∞) | 预期可复用的参与者事务(即 CDC 内处理完成待消费或回收)数量的上限,取值为 0 时表示 CDC 内部自动调控,部分场景需要人工修改。流控参数之一,和 memory_limit(CDC 配置项) 类似,不会严格限制,否则 CDC 同步会卡住 |
| part_trans_task_prealloc_page_count | 流量控制 | 20000 | [0, +∞) | 缓存的参与者事务的上限,调大可能会导致 CDC 空闲期内存占用升高 |
| data_start_schema_version | LogRecord 输出 | | |
不涉及 | 指定 Schema 版本来构建 CDC 内的 Schema,格式为 tenant_id:schema_version,多个租户使用 | 分隔 |
| timezone | LogRecord 输出 | +8:00 | 时间偏移值 | 用于处理使用本地时区写入的时间数据,需要和 OBServer 节点机器使用的本地时区一致,当部分数据在写入的 Session 中指定了时区时,如果需要 CDC 的输出与用户写入的数据一致,需要将该配置项设置为 Session 中指定的时区 |
| timezone_info_fpath | LogRecord 输出 | etc/timezone_info.conf |
不涉及 | 时区文件的路径 |
| enable_hbase_mode | LogRecord 输出 | 0 | {0, 1} | 同步的表中有 HBase 模式的表时需要开启该配置 |
| enable_compatible_charset | LogRecord 输出 | 0 | {0, 1} | 控制输出的 charset 是否兼容 DRC 的用法 |
| enable_convert_timestamp_to_unix_timestamp | LogRecord 输出 | 0 | {0, 1} | 控制是否将 timestamp 转为 unix 时间戳,MySQL 模式下生效 |
| enable_oracle_mode_match_case_sensitive | LogRecord 输出 | 0 | {0, 1} | 是否支持按照大小写敏感匹配 Oracle 模式租户的黑白名单 |
| enable_output_by_table_def | LogRecord 输出 | 0 | {0, 1} | 控制是否按照用户定义的列顺序输出列 |
| enable_output_hidden_primary_key | LogRecord 输出 | 0 | {0, 1} | 控制是否输出隐藏主键 |
| enable_output_invisible_column | LogRecord 输出 | 0 | {0, 1} | 控制是否输出不可见列 |