基于湖库一体架构,统一管理结构化、半结构化与非结构化等多模态数据,一个系统承载事务处理、实时分析与 AI 工作负载。
任务管理
更新时间:2026-06-18 16:02:23
创建 Binlog 任务
用于为指定的 OceanBase 数据库租户开通 Binlog,Binlog Server 将异步地创建 N 个 Binlog 实例。执行该命令后将进行资源分配,若分配成功则立即返回 OK 包,若不足 N 个实例创建成功将返回 Warning 包。
语法
CREATE BINLOG FOR TENANT cluster.tenant
[FROM timestamp] [TO USER user PASSWORD pwd]
WITH (CLUSTER URL cluster_url | ROOTSERVER_LIST rootserver_list) [, binlog_option [, binlog_option...]];
binlog_option:
INITIAL_TRX_XID
| INITIAL_TRX_GTID_SEQ
| REPLICATE NUM
| SERVER UUID
| BINLOG_TENANT_FAILOVER
| BINLOG_TENANT_REMOTE_FAILOVER
| BINLOG_TENANT_EXPIRE_LOGS_SECONDS
| BINLOG_TENANT_EXPIRE_LOGS_SIZE
| BINLOG_TENANT_LOGS_AUTO_SCALE
| BINLOG_TENANT_SCOPE_CFG
BINLOG_TENANT_LOGS_AUTO_SCALE: {
"enable": value,
"max_scale_up_capacity_gb": value,
"min_scale_down_capacity_gb": value,
"scale_down_threshold": "value",
"scale_down_step": "value",
"scale_up_threshold": "value",
"scale_up_step": "value",
"computed_binlog_expire_logs_size": value
}
参数说明
| 参数 | 描述 |
|---|---|
| cluster.tenant | 待创建 Binlog 任务的租户名以及租户所在的集群名。 |
| timestamp | 可选项,启动时间戳,若不指定则从当前时间戳开始。 |
| user | 可选项,OceanBase 集群系统租户(sys 租户)的用户名。若启动 Binlog Server 时已设置系统租户账密,此处可不用配置。 |
| pwd | 可选项,user 中配置的用户对应的密码。若启动 Binlog Server 时已设置系统租户账密,此处可不用配置。 |
| cluster_url | OceanBase 集群的 config url,配置时需使用引号包裹。config url 具体值可连接集群后执行 SHOW PARAMETERS LIKE 'obconfig_url'; 查看(value 值)。
说明
|
| rootserver_list | 指定 Root Service 所在机器信息,格式为 server_ip:server_rpc_port:server_sql_port。适用于没有部署 OCP 的场景。
说明
|
| binlog_option | 可选项,配置 Binlog 任务的选项,配置多个选项时,使用英文逗号(,)间隔。配置时需使用英文逗号(,)与 cluster_url 隔开。具体支持配置的选项介绍可参见下文 binlog_option。 |
binlog_option
您需关注 binlog_option 下的如下配置:
INITIAL_TRX_XID:指定起始事务的 xid 唯一标识。
INITIAL_TRX_GTID_SEQ:指定起始事务对应的 gtid seq 序列号。
REPLICATE NUM:指定租户的 Binlog 实例副本数量,当取值大于 1 时,Binlog 服务会随机选择一个实例副本作为主实例。
SERVER UUID:手动指定 server uuid。
BINLOG_TENANT_FAILOVER:控制是否开启 Binlog 实例本身的故障恢复。若开启,当所在机器节点本身正常但 Binlog 实例故障时,Binlog 实例将被自动恢复。默认为
1表示开启 Binlog 实例本身的故障恢复。说明
该参数自 V4.3.0 新增。
BINLOG_TENANT_REMOTE_FAILOVER:控制是否开启 Binlog 实例的异节点故障恢复。若开启,当 Binlog 实例所在的机器节点故障时,Binlog 实例将被自动迁移到其他正常的机器节点上恢复运行。默认为
0表示关闭 Binlog 实例的远程故障恢复。说明
该参数自 V4.3.0 新增。
- 异节点故障恢复功能由
BINLOG_TENANT_REMOTE_FAILOVER和BINLOG_TENANT_FAILOVER共同控制:- 当
BINLOG_TENANT_FAILOVER配置为0时,关闭本地节点和异节点故障恢复。 - 当
BINLOG_TENANT_FAILOVER配置为1且BINLOG_TENANT_REMOTE_FAILOVER配置为0时,开启本地节点故障恢复,并关闭异节点故障恢复(默认行为)。 - 当
BINLOG_TENANT_FAILOVER配置为1且BINLOG_TENANT_REMOTE_FAILOVER配置为1时,开启本地节点和异节点故障恢复。
- 当
BINLOG_TENANT_EXPIRE_LOGS_SECONDS:Binlog 文件过期时间。所有最后文件更新时间戳小于当前时间戳减去
BINLOG_TENANT_EXPIRE_LOGS_SECONDS的 Binlog 文件及其对应索引条目都将自动被清理。默认值为259200,单位为秒,取值范围为 [0, 4294967295],取值为0时表示关闭 Binlog 文件按过期时间进行自动清理的功能。说明
该参数自 V4.3.0 新增。
BINLOG_TENANT_EXPIRE_LOGS_SIZE:Binlog 文件过期大小。在 Binlog 文件进行轮转时,检查当前所有 Binlog 文件的总大小和首个 Binlog 文件大小的差值,若大于
BINLOG_TENANT_EXPIRE_LOGS_SIZE则删除首个 Binlog 文件及其对应索引条目,重复这一过程直到差值小于等于BINLOG_TENANT_EXPIRE_LOGS_SIZE或者只剩下当前一个 Binlog 文件,在完成清理后再轮转到下一个 Binlog 文件。默认值为53687091200,单位 byte,取值范围为 [0, 9223372036854775807],取值为0时表示关闭 Binlog 文件按过期大小进行自动清理的功能。说明
该参数自 V4.3.0 新增。
BINLOG_TENANT_LOGS_AUTO_SCALE:设置自动扩缩容相关配置,需配置为 json 格式。具体介绍可参见下文 BINLOG_TENANT_LOGS_AUTO_SCALE。
说明
该参数自 V4.3.0 新增。
BINLOG_TENANT_SCOPE_CFG:用于设置租户级别的配置参数,主要跟高性能配置有关,其值是一个由空白符分割的若干
obcdc_cfg_key=value组成的字符串,需要注意=前后不能存在空白符。具体介绍可参见下文 BINLOG_TENANT_SCOPE_CFG。说明
该参数自 V4.3.0 新增。
BINLOG_TENANT_LOGS_AUTO_SCALE
该参数用于设置自动扩缩容相关配置,需配置为 json 格式。示例如下:
CREATE BINLOG FOR TENANT obdemo.test1
WITH CLUSTER URL 'http://10.10.10.1:8080/services?Action=ObRootServiceInfo&ObCluster=obdemo',
BINLOG_TENANT_EXPIRE_LOGS_SECONDS 254400,
BINLOG_TENANT_EXPIRE_LOGS_SIZE 53687094400,
BINLOG_TENANT_LOGS_AUTO_SCALE '{
"enable":0,
"scale_up_threshold":"20%",
"scale_up_step":"20%",
"max_scale_up_capacity_gb":5000,
"scale_down_threshold":"50%",
"scale_down_step":"20%",
"min_scale_down_capacity_gb":10,
"computed_binlog_expire_logs_size":10737418240
}';
支持在 BINLOG_TENANT_LOGS_AUTO_SCALE 参数中配置的各个配置项介绍如下表:
| 配置项 | 默认值 | 说明 |
|---|---|---|
| enable | 0 | 控制是否启用自动扩缩容配置,默认为 0,表示禁用自动扩缩容功能。 |
| max_scale_up_capacity_gb | 5000 | 扩容上限,即 Binlog 存储空间可扩容的最大阈值,当 Binlog 的存储空间达到此值后则不再自动扩容。单位为 GB,需配置值为正整数。 |
| min_scale_down_capacity_gb | 10 | 缩容下限,即 Binlog 存储空间可缩容的最小阈值,当 Binlog 的存储空间达到此值后则不再自动缩容。单位为 GB,需配置值为正整数。 |
| scale_down_threshold | 50% | 缩容阈值,当 Binlog 存储空间剩余值大于配置的值后将默认触发缩容操作。配置单位必须与 scale_up_threshold 保持一致。 |
| scale_down_step | 20% | 设置每次缩容的磁盘空间大小。支持配置单位为 GB 和 %,且配置的值需为正整数。 |
| scale_up_threshold | 20% | 扩容阈值,当 Binlog 存储空间剩余值小于配置的值后将默认触发扩容。支持配置单位为 GB 和 %,且配置的值需为正整数。 |
| scale_up_step | 20% | 设置每次扩容时扩展的磁盘空间大小。支持配置单位为 GB 和 %,且配置的值需为正整数。 |
| computed_binlog_expire_logs_size | 10737418240 | 设置开启自动扩缩容后的磁盘容量基线。默认为 10GB,即 10737418240。 |
BINLOG_TENANT_SCOPE_CFG
该参数用于设置租户级别的配置参数,主要跟高性能配置有关,其值是一个由空白符分割的若干 obcdc_cfg_key=value 组成的字符串,需要注意 = 前后不能存在空白符。
说明
该参数自 V4.3.0 新增,此处仅介绍部分常用配置。
| 配置项 | 默认值 | 说明 |
|---|---|---|
| record_queue_size | 200000 | 数据发送队列大小。 |
| read_wait_num | 20000 | 数据读取队列批次等待数量。 |
| storage_wait_num | 20000 | Binlog Event 最大攒批大小。 |
| binlog_serialize_thread_size | 3 | 序列化线程池大小,需要大于binlog_serialize_parallel_size 的值。binlog_serialize_parallel_size 为序列化实际并发数。 |
| throttle_convert_rps | 0 | Binlog Event 每秒落盘的数量限制,需配置为整数。默认为 0 表示关闭 Binlog 转储 RPS 速率限制,取值范围为 [0, 4294967295]。 |
| throttle_convert_iops | 0 | Binlog Event 每秒落盘的字节数限制,需配置为整数。默认为 0 表示关闭 Binlog 转储 IOPS 速率限制,取值范围为 [0, 9223372036854775807]。 |
| throttle_dump_rps | 0 | Binlog Event 每秒发送给下游的数量限制,需配置为整数。默认为 0 表示关闭 Binlog 发送 RPS 速率限制,取值范围为 [0, 4294967295]。 |
| throttle_dump_iops | 0 | Binlog Event 每秒发送给下游的字节数限制,需配置为整数。默认为 0 表示关闭 Binlog 发送 IOPS 速率限制,取值范围为 [0, 9223372036854775807]。 |
| throttle_dump_conn | 0 | Binlog 实例同一时间最大并发订阅连接数量限制,需配置为整数。默认为 0 表示关闭 Binlog 最大并发订阅数量限制,取值范围为 [0, 512]。 |
示例
为
obdemo集群中的test1租户创建 Binlog 任务,并为该租户创建三个 Binlog 实例。CREATE BINLOG FOR TENANT `obdemo`.`test1` TO USER `root` PASSWORD `********` WITH CLUSTER URL `http://10.10.10.1:8080/services?Action=ObRootServiceInfo&ObCluster=demo`, REPLICATE NUM 3;通过指定
ROOTSERVER_LIST参数为obdemo集群中的test1租户创建 Binlog 任务。CREATE BINLOG FOR TENANT `obdemo`.`test1` TO USER `root` PASSWORD `********` WITH ROOTSERVER_LIST '10.10.10.1:2882:2881';为
obdemo集群中的test1租户创建 Binlog 任务,并设置自动扩缩容及高性能相关配置。说明
一般情况下不建议设置自动扩缩容,因此示例中将
enable设置为0,表示禁用自动扩缩容功能。CREATE BINLOG FOR TENANT obdemo.test1 TO USER `root` PASSWORD `********` WITH CLUSTER URL 'http://10.10.10.1:8080/services?Action=ObRootServiceInfo&ObCluster=obdemo', BINLOG_TENANT_EXPIRE_LOGS_SECONDS 254400, BINLOG_TENANT_EXPIRE_LOGS_SIZE 53687094400, BINLOG_TENANT_SCOPE_CFG 'record_queue_size=100000 read_wait_num=2000 storage_wait_num=2000 binlog_serialize_thread_size=7 throttle_convert_rps=99 throttle_convert_iops=2097152 throttle_dump_rps=111 throttle_dump_iops=2097152 throttle_dump_conn=64', BINLOG_TENANT_LOGS_AUTO_SCALE '{ "enable":0, "scale_up_threshold":"20%", "scale_up_step":"20%", "max_scale_up_capacity_gb":5000, "scale_down_threshold":"50%", "scale_down_step":"20%", "min_scale_down_capacity_gb":10, "computed_binlog_expire_logs_size":10737418240 }';
查询 Binlog 任务
用于查询 Binlog 任务中主 Binlog 实例的 Binlog 文件和资源指标数据,若主 Binlog 实例不可用则返回空集。
语法
SHOW BINLOG STATUS [FOR TENANT cluster.tenant];
cluster.tenant 表示待查询 Binlog 任务的租户名以及租户所在的集群名。FOR TENANT cluster.tenant 为可选配置,直接执行 SHOW BINLOG STATUS 将输出所有 Binlog 任务的主 Binlog 实例信息,配置后将输出指定租户的主 Binlog 实例信息。命令执行示例如下:
SHOW BINLOG STATUS FOR TENANT obdemo.test1;
输出如下:
+-----------+--------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| cluster | tenant | status |
+-----------+--------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| obdemo | test1 | {"binlog_instance":"gldwt7bnco","resources_metrics":{"client_id":"/home/admin/oblogproxy/run/gldwt7bnco","fd_count":78,"pid":12058,"cpu_status":{"cpu_count":8,"cpu_used_ratio":0.006535947788506746},"disk_status":{"disk_total_size_mb":307048,"disk_usage_size_process_mb":0,"disk_used_ratio":0.0,"disk_used_size_mb":78830},"memory_status":{"mem_total_size_mb":63882,"mem_used_ratio":0.016514824703335763,"mem_used_size_mb":1055},"network_status":{"network_rx_bytes":288853,"network_wx_bytes":289725}},"binlog_files":[{"binlog_name":"mysql-bin.000001","binlog_size":155}],"computed_binlog_expire_logs_size":53687094400} |
+-----------+--------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
结果集说明:
| 字段 | 说明 |
|---|---|
| cluster | 集群名 |
| tenant | 租户名 |
| status | 主 Binlog 实例信息 |
说明
结果集中 status 列自 obbinlog V4.3.0 新增 computed_binlog_expire_logs_size 字段,用于表示当前设置的磁盘大小。若开启了自动扩缩容功能,该值为根据自动扩缩容计算出来的磁盘大小;否则为 Binlog 实例参数 BINLOG_EXPIRE_LOGS_SIZE 的值。
修改 Binlog 任务
用于修改指定租户下所有 Binlog 实例的参数配置,对后续新增的 Binlog 实例也生效。
语法
ALTER BINLOG cluster.tenant
SET binlog_instance_option [, binlog_instance_option...];
binlog_instance_option:
BINLOG_EXPIRE_LOGS_SECONDS
| BINLOG_EXPIRE_LOGS_SIZE
| FAILOVER
| EXTRA_OBCDC_CFG
| BINLOG_TENANT_FAILOVER
| BINLOG_TENANT_REMOTE_FAILOVER
| BINLOG_TENANT_EXPIRE_LOGS_SECONDS
| BINLOG_TENANT_EXPIRE_LOGS_SIZE
| BINLOG_TENANT_LOGS_AUTO_SCALE
| BINLOG_TENANT_SCOPE_CFG
BINLOG_TENANT_LOGS_AUTO_SCALE: {
"enable": value,
"max_scale_up_capacity_gb": value,
"min_scale_down_capacity_gb": value,
"scale_down_threshold": "value",
"scale_down_step": "value",
"scale_up_threshold": "value",
"scale_up_step": "value",
"computed_binlog_expire_logs_size": value
}
参数说明
| 参数 | 描述 |
|---|---|
| cluster.tenant | 待修改 Binlog 实例参数配置的租户名以及租户所在的集群名。 |
| binlog_instance_option | 指定需修改的 Binlog 实例参数,指定多个参数时,使用英文逗号(,)间隔。具体介绍参见下文 binlog_instance_option。 |
binlog_instance_option
BINLOG_EXPIRE_LOGS_SECONDS:Binlog 文件有效期限,默认为 259200 秒,Binlog 文件在超过设定的时长后自动失效。
BINLOG_EXPIRE_LOGS_SIZE:Binlog 文件大小阈值,默认为 53687091200 byte。
FAILOVER:Binlog 下线后是否自动恢复,默认为
1(自动恢复)。EXTRA_OBCDC_CFG:Binlog 实例的 obcdc 参数配置。
BINLOG_TENANT_FAILOVER:控制是否开启 Binlog 实例本身的故障恢复。若开启,当所在机器节点本身正常但 Binlog 实例故障时,Binlog 实例将被自动恢复。默认为
1表示开启 Binlog 实例本身的故障恢复。说明
该参数自 V4.3.0 新增,与旧版本的
FAILOVER参数功能类似,建议使用此新参数。BINLOG_TENANT_REMOTE_FAILOVER:控制是否开启 Binlog 实例的远程故障恢复。若开启,当 Binlog 实例所在的机器节点故障时,Binlog 实例将被自动迁移到其他正常的机器节点上恢复运行。默认为
0表示关闭 Binlog 实例的远程故障恢复。说明
该参数自 V4.3.0 新增。
- 异节点故障恢复功能由
BINLOG_TENANT_REMOTE_FAILOVER和BINLOG_TENANT_FAILOVER共同控制:- 当
BINLOG_TENANT_FAILOVER配置为0时,关闭本地节点和异节点故障恢复。 - 当
BINLOG_TENANT_FAILOVER配置为1且BINLOG_TENANT_REMOTE_FAILOVER配置为0时,开启本地节点故障恢复,并关闭异节点故障恢复(默认行为)。 - 当
BINLOG_TENANT_FAILOVER配置为1且BINLOG_TENANT_REMOTE_FAILOVER配置为1时,开启本地节点和异节点故障恢复。
- 当
BINLOG_TENANT_EXPIRE_LOGS_SECONDS:Binlog 文件过期时间。所有最后文件更新时间戳小于当前时间戳减去
BINLOG_TENANT_EXPIRE_LOGS_SECONDS的 Binlog 文件及其对应索引条目都将自动被清理。默认值为259200,单位为秒,取值范围为 [0, 4294967295],取值为0时表示关闭 Binlog 文件按过期时间进行自动清理的功能。说明
该参数自 V4.3.0 新增,与旧版本的
BINLOG_EXPIRE_LOGS_SECONDS参数功能类似,建议使用此新参数。BINLOG_TENANT_EXPIRE_LOGS_SIZE:Binlog 文件过期大小。在 Binlog 文件进行轮转时,检查当前所有 Binlog 文件的总大小和首个 Binlog 文件大小的差值,若大于
BINLOG_TENANT_EXPIRE_LOGS_SIZE则删除首个 Binlog 文件及其对应索引条目,重复这一过程直到差值小于等于BINLOG_TENANT_EXPIRE_LOGS_SIZE或者只剩下当前一个 Binlog 文件,在完成清理后再轮转到下一个 Binlog 文件。默认值为53687091200,单位 byte,取值范围为 [0, 9223372036854775807],取值为0时表示关闭 Binlog 文件按过期大小进行自动清理的功能。说明
该参数自 V4.3.0 新增,与旧版本的
BINLOG_EXPIRE_LOGS_SIZE参数功能类似,建议使用此新参数。BINLOG_TENANT_LOGS_AUTO_SCALE:设置自动扩缩容相关配置,需配置为 json 格式。具体介绍可参见上文 创建 Binlog 任务 中 BINLOG_TENANT_LOGS_AUTO_SCALE 部分。
说明
该参数自 V4.3.0 新增。
BINLOG_TENANT_SCOPE_CFG:用于设置租户级别的配置参数,主要跟高性能配置有关,其值是一个由空白符分割的若干
obcdc_cfg_key=value组成的字符串,需要注意=前后不能存在空白符。具体介绍可参见上文 创建 Binlog 任务 中 BINLOG_TENANT_SCOPE_CFG 部分。说明
该参数自 V4.3.0 新增。
示例
说明
一般情况下不建议设置自动扩缩容,因此示例中将 enable 设置为 0,表示禁用自动扩缩容功能。
ALTER BINLOG obdemo.test1 SET
BINLOG_TENANT_EXPIRE_LOGS_SECONDS =254401,
BINLOG_TENANT_EXPIRE_LOGS_SIZE=53687094401,
BINLOG_TENANT_SCOPE_CFG='record_queue_size=100002 read_wait_num=2002 storage_wait_num=2002 binlog_serialize_thread_size=6',
BINLOG_TENANT_LOGS_AUTO_SCALE='{
"enable":0,
"scale_up_threshold":"22%",
"scale_up_step":"22%",
"max_scale_up_capacity_gb":5002,
"scale_down_threshold":"52%",
"scale_down_step":"22%",
"min_scale_down_capacity_gb":22,
"computed_binlog_expire_logs_size":10737418242
}';
释放 Binlog 任务
用于关闭指定租户的所有 Binlog 实例,同时删除已生成的存量 Binlog 文件。
语法
DROP BINLOG [IF EXISTS] FOR TENANT cluster.tenant;
cluster.tenant 表示待释放的 Binlog 任务所属租户名以及租户所在的集群名。
示例
释放 obdemo 集群 test1 租户下的 Binlog 任务。
DROP BINLOG FOR TENANT obdemo.test1;