- Upgrade paths: V4.2.5_CE/BP1~BP6 → BP7 → V4.4.2_CE_BP1; V4.3.5_CE/BP1~BP5 → BP6 → V4.4.2_CE_BP1; direct upgrade from V4.4.1_CE to V4.4.2_CE_BP1.
- Configuration change: `ob_storage_s3_url_encode_type` default updated to `compliantRfc3986Encoding` (cluster‑level).
- Automatic partition split threshold lowered from 128 MB to 1 MB at table level.
- Experimental primary‑backup strong sync (RPO=0) supporting Max Protection (wait for REDO log on both primary and standby) and Max Availability (auto‑downgrade to async if lag exceeds NET_TIMEOUT).
- Zone‑level TableGroup with new SCOPE attribute for fine‑grained leader distribution across a zone.
- MySQL mode now supports MAX_EXECUTION_TIME hint/session/global variable to limit read‑only SELECT timeout.
Full changelog
版本信息
| 项目 | 描述 |
|----------|-----------------|
| 发布日期 | 2026-05-08 |
| 版本号 | V4.4.2_CE_BP1 |
| Commit 号 | 8cf64ed |
| RPM 版本号 | oceanbase-ce-4.4.2.1-101000022026050611 |
升级说明
- 支持从 V4.2.5_CE/V4.2.5_CE BP1~BP6 升级到 V4.2.5_CE BP7,再升级到 V4.4.2_CE BP1。
- 支持从 V4.3.5_CE/V4.3.5_CE BP1~BP5 升级到 V4.3.5_CE BP6,再升级到 V4.4.2_CE BP1。
- 支持从 V4.4.1_CE 升级到 V4.4.2_CE BP1。
特性增强
-
支持主备库强同步(RPO=0)(最大保护模式和最大可用模式)【实验特性】
- 最大保护模式:最高级别的数据保护,可确保主库故障时不丢数据。在该模式下,事务需等待 REDO 日志在主库和强同步备库均持久化成功后才能提交;备库不可用时主库停止写服务。
- 最大可用模式:在集群可用性不受损前提下提供高等级数据保护。主备库均正常时,事务需等待主库和强同步备库同时持久化后提交;主备链路故障时,一旦主备位点差距超过
NET_TIMEOUT(默认 30 s),主库自动将强同步降级为异步以优先恢复服务;当主备链路恢复且落后时间持续小于HEALTH_CHECK_TIME(默认 60 s)后自动回切强同步。
-
支持 Zone 级表组(TableGroup)
Zone 级表组支持将相关分区按规则聚集在同一个 Zone 内,并使表组内分区 Leader 均匀分布在 Zone 内不同 OBServer 上。解决现有表组
Sharding = None因为数据总量过大而无法用单台 OBServer 承载全部分区数据,Sharding = Partition/Adaptive无法控制分区 Leader 分布而导致性能受限的问题。通过新增SCOPE属性控制分区 Leader 分布方式,原SHARDING属性继续用于控制分区聚集与均衡策略。低版本集群的表组升级至 V4.4.2 BP1 的 SCOPE 属性为 NULL。| SHARDING | SCOPE | 组合策略说明 |
|----------|-------|----------------|
| NONE | SERVER | 表组内全部分区 Leader 聚合到同一个节点 |
| NONE | CLUSTER | 表组内全部分区 Leader 按数据量和权重在集群各PRIMARY_ZONE均匀分布 |
| NONE | ZONE | 表组内全部分区 Leader 按数据量和权重在一个 Zone 内均匀分布 |
| NONE | NULL |相当于 SHARDING=NONE,SCOPE=SERVER 策略 |
| PARTITION | SERVER | 不支持 |
| PARTITION | ZONE | 不支持 |
| PARTITION | NULL | 相当于 SHARDING=PARTITION,SCOPE=CLUSTER 策略 |
| PARTITION | CLUSTER | 表组内分区数据按一级分区规则聚合成分区组,各分区组 Leader 按数据量和权重均匀地分布在集群的各PRIMARY_ZONE。(等价于旧版本sharding=partition) |
| ADAPTIVE | SERVER | 不支持 |
| ADAPTIVE | ZONE | 不支持 |
| ADAPTIVE | NULL | 相当于 SHARDING=ADAPTIVE,SCOPE=CLUSTER 策略 |
| ADAPTIVE | CLUSTER | 表组内表仅能同时为一级分区表或二级分区表;一级分区按一级规则聚合,二级分区以每个一级分区为一个均衡组并按二级规则聚合。表组内各分区的 Leader 在集群各PRIMARY_ZONE均匀分布。(等价于旧版本sharding=adaptive) | -
存储过程性能优化
优化 PL/SQL 存储过程执行性能,包括循环场景(循环+静态 SQL、循环+cursor)性能优化、系统包 LLVM 编译产物拆分到系统租户、Exception 执行性能优化、MySQL 模式 LLVM CG 优化、带 Null 值匿名块参数化。
-
双密码管理功能支持
兼容 MySQL 8.0 双密码机制,解决企业级数据库运维中修改应用账号密码可能导致连接中断的问题,实现密码修改过程中的无缝过渡。
-
执行器增强
持续增强 SQL 执行器稳定性与性能,包括 NLJ 性能优化、单机串行执行下 TOP-N 返回的数据改进为稳定排序(支持同 Sort Key 的数据按排序前顺序返回)、MySQL 模式支持
WINDOW_FUNNEL表达式、MySQL 模式支持ALTER VIEW COMPILE。 -
SCHEMA HISTORY 回收优化
新增 package、routine、ols、udt 对象回收,减少历史记录过多对 schema 刷新性能的影响;优化回收性能并将回收任务改为租户级调度管理。
-
MySQL 只读 SELECT TIMEOUT
MySQL 模式新增
MAX_EXECUTION_TIME控制只读 SELECT 超时时间。| 维度 |
OB_QUERY_TIMEOUT|MAX_EXECUTION_TIME|
|------|--------------------|----------------------|
| 作用域 | 控制整条查询超时时间,适用于SELECT、UPDATE、INSERT、DELETE(除MAX_EXECUTION_TIME控制类型外) | 控制单条只读SELECT SINGLE-STATEMENT QUERY或 MULTI-STATEMENT 场景中的只读SELECT STATEMENT|
| 生效条件 | 始终生效 | 需> 0且语句为只读SELECT,且该只读SELECT不在存储过程中,也不会触发会修改数据的操作(MULTI-STATEMENT QUERY 见下方说明) |- 该变量生效条件为
MAX_EXECUTION_TIME > 0(默认 0,单位毫秒),总体超时时间仍受OB_QUERY_TIMEOUT控制。 - MULTI-STATEMENT 场景下,整个查询执行时间不超过
OB_QUERY_TIMEOUT;只读SELECT同时受MAX_EXECUTION_TIME和OB_QUERY_TIMEOUT约束;特殊情况是当一个 MULTI-STATEMENT 的查询中既包含只读SELECTSTATEMENT,又包含除只读SELECTSTATEMENT 外的SELECT、UPDATE、INSERT、DELETE时,这个查询中的只读SELECTSTATEMENT 受到两个变量同时约束;其他STATEMENT仅受OB_QUERY_TIMEOUT约束。 - SINGLE-STATEMENT 场景下,若
MAX_EXECUTION_TIME > 0,整条查询超时时间为MAX_EXECUTION_TIME。 - 子查询
SELECT * FROM (SELECT * FROM T1);按一个 STATEMENT 处理。
- 该变量生效条件为
-
外表性能优化
包括 Parquet 格式 Page 级预取、外表 CSV 格式并行解析、Hive 表查询优化、ODPS(MaxCompute)大分区多机并行下载优化。
-
向量搜索扩展 similarity 相关函数
新增
similarity功能,支持在LIMIT后通过parameters (similarity=x)指定相似度阈值并过滤低于阈值结果;提供inner_product_similarity、cosine_similarity、l2_similarity三种函数,返回值域为[0,1],表示两个向量的相似度越接近于 1 越相似。具体请参见相似度函数。 -
IVF 向量索引性能优化
IVF/IVF_PQ索引在构建、查询、DML、易用性四个维度升级。构建侧通过 Kmeans 并行化和 domain id merge 框架适配提升构建效率;查询侧引入迭代式过滤算法,按过滤率智能选择 pre/post filter;DML 侧通过缓存机制优化增量写入;易用性侧支持索引重建参数修改、构建进度监控、语句级 nprobes 参数动态配置。具体请参见IVF 系列索引 -
收集实时统计信息
存储层收集实时统计信息,增强可观测性。
-
小事务转储状态优化
针对高频小事务场景优化事务状态回填机制,加速数据清理;避免长事务阻塞回收,即使存在未提交事务也可清理已完成事务数据,提升读写性能。
-
其他性能优化
- 优化涉及外键、trigger 等复杂条件 DML 语句性能。
- OBKV 模式新增 CDC 不同步 TTL DELETE 日志能力,以降低 I/O 压力。
产品行为变更
| 功能 | 变更说明 |
|------|----------|
| 自动分区分裂阈值下限值调整 | 表级自动分区分裂阈值下限从 128MB 下调至 1MB。 |
| 集群级配置项 ob_storage_s3_url_encode_type 默认值修改 | 默认值修改为 compliantRfc3986Encoding(仅对 S3 SDK 生效)。 |
| OBCDC 适配 IPv6 改造 | OBCDC 支持 IPv6。 |
视图变更
| 视图 | 变更类型 | 变更说明 |
|------|----------|----------|
| [G]V$OB_SQL_AUDIT | 新增列/列语义变更 | 新增 COMMIT_TIME、TX_TABLE_READ_CNT、OUTROW_LOB_CNT、OBJECT_STORAGE_READS、PARENT_TRACE_ID 等列;其中 COMMIT_TIME 记录事务提交耗时。ELAPSED_TIME 列语义变更为包含 COMMIT_TIME。 |
| GV$SQL_AUDIT | 新增列 | 新增 COMMIT_TIME(bigint(20)),表示 SQL 提交耗时(微秒)。 |
| DBA_OB_USERS / CDB_OB_USERS | 新增列 | 新增 old_password(varchar(128))和 old_password_start_time(bigint(20))列,用于双密码信息管理。 |
| mysql.user | 新增列 | 新增 user_attributes(longtext)列,用于存储扩展属性(JSON 格式),双密码信息存储在 JSON 对象的 additional_password key 中。 |
| DBA_PROFILES | 新增列 | 新增 password_rollover_time,用于控制密码轮转有效期(微秒),并新增 PASSWORD_ROLLOVER_TIME 资源项展示。 |
| DBA_USERS / USER_USERS | 列值逻辑变更 | ACCOUNT_STATUS 新增状态 OPEN & IN ROLLOVER,表示账户正常且处于密码轮转期,新旧密码均可使用。 |
| ALL_OBJECTS / DBA_OBJECTS / USER_OBJECTS | 新增类型 | 新增 OBJECT_TYPE='JAVA CLASS',用于展示上传的 Java Class 对象。 |
| DBA_OB_TENANTS | 新增列 | 新增 PROTECTION_MODE 和 PROTECTION_LEVEL,用于展示主备库保护模式与保护级别。 |
| CDB/DBA_OB_SYNC_STANDBY_DEST | 新增视图 | 系统/用户租户下查看各租户强同步下游信息。 |
| CDB/DBA_OB_TABLEGROUPS | 新增列 | 新增 SCOPE(VARCHAR(20))列,展示表组分布范围(SERVER/ZONE/CLUSTER)。当 SCOPE 为空时,SHARDING='NONE' 显示 SERVER,SHARDING='PARTITION'/'ADAPTIVE' 显示 CLUSTER。 |
| CDB/DBA_OB_TABLEGROUP_TABLES / CDB/DBA_OB_TABLE_LOCATIONS | 新增列 | 新增 SCOPE 列,展示表所属表组分布范围属性。 |
| SHOW TABLEGROUPS | 新增列 | 新增 SCOPE 列,展示表组分布范围属性。 |
| CDB/DBA_SCHEDULER_RUNNING_JOBS | 新增 | 展示租户下正在运行的 job,包含 20 个字段。 |
| CDB_SCHEDULER_JOBS | 新增 | 展示所有租户下所有 job(运行中和未运行),补充 DBA_SCHEDULER_JOBS 对应 CDB 视图。 |
| DBA_OB_ROOTSERVICE_EVENT_HISTORY | 新增列 | 新增 OLD_VALUE(通过 NAME4/VALUE4 展示),记录配置项修改前旧值。EVENT='admin_set_config' 时,NAME4='old_value'。 |
| GV$SESSION_LONGOPS | 新增信息 | IVF 聚类构建阶段新增进度信息,格式为 VEC_TASK:{TRI_CNT, CUR_ITER, END_DIFF, DIFF, IMPALANCE, SUCC_TABLET}。 |
| GV$OB_LOG_STAT | 新增列 | 新增 SYNC_MODE(VARCHAR(128)),展示日志流同步模式:ASYNC、SYNC、PRE_ASYNC。 |
| DBA_JAVA_POLICY / USER_JAVA_POLICY | 新增视图 | 新增 Java Policy 管理相关视图。 |
| DBA_TAB_PRIVS / USER_TAB_PRIVS / ALL_TAB_PRIVS | 新增权限 | 新增 RESTRICTED SESSION 权限。 |
语法与函数变更
| 语法/函数 | 适用租户 | 说明 |
|-----------|----------|------|
| CAST AS BIGINT | MySQL | 支持将数据转换为 bigint 类型。 |
| ALTER USER 'user'@'host' IDENTIFIED BY 'new_password' RETAIN CURRENT PASSWORD | MySQL | 双密码支持,修改密码时保留旧密码作为次密码,新旧密码同时有效。 |
| ALTER USER 'user'@'host' DISCARD OLD PASSWORD | MySQL | 双密码支持,丢弃旧密码,仅保留当前主密码。 |
| MAX_EXECUTION_TIME(N) hint | MySQL | SQL hint 语法,N 为毫秒,用于设置单条 SELECT 超时时间。 |
| SET SESSION max_execution_time = N | MySQL | 会话级系统变量设置。 |
| SET GLOBAL max_execution_time = N | MySQL | 全局级系统变量设置。 |
| ALTER SYSTEM SET SYNC_STANDBY_DEST = "SERVICE=host NET_TIMEOUT=20 HEALTH_CHECK_TIME=40s USER=user_name@tenant_name PASSWORD=password" [tenant = "tenant1"] | MySQL | 设置强同步备库目的端。host 为备库 IP 列表(分号分隔),NET_TIMEOUT 默认 30s,HEALTH_CHECK_TIME 默认 60s,USER/PASSWORD 为复制专用用户凭据。 |
| ALTER VIEW [database.]view_name COMPILE | MySQL | MySQL 模式支持带 database 限定的语法。 |
| CREATE TABLEGROUP tablegroup_name [SHARDING = 'NONE'] [SCOPE = 'CLUSTER'] | MySQL | 创建表组时支持指定 SCOPE=CLUSTER,实现全集群打散(需租户所在集群版本 >= V4.4.2 BP1)。 |
| ALTER TABLEGROUP tablegroup_name SCOPE = 'CLUSTER' | MySQL | 支持修改表组 SCOPE 属性(需租户所在集群版本 >= V4.4.2 BP1)。 |
| window_funnel(window, mode, timestamp, cond1, cond2, ..., condN) | MySQL | 漏斗分析聚合函数,返回值范围 [0, N],支持 default 和 strict_deduplication 两种模式。 |
| cosine_similarity(vector_1, vector_2) | MySQL | 计算余弦相似度,值域 [0,1]。 |
| l2_similarity(vector_1, vector_2) | MySQL | 计算 L2 相似度,值域 [0,1]。 |
| inner_product_similarity(vector_1, vector_2) | MySQL | 计算内积相似度,值域 [0,1]。 |
| SELECT ... ORDER BY distance_expr APPROX LIMIT k PARAMETERS (similarity=x) | MySQL | 向量查询支持按相似度阈值过滤(x 取值 [0,1])。 |
| CALL DBMS_VECTOR.REBUILD_INDEX(index_name, table_name, column_name, trigger_percent, extra_args1, extra_args2, build_param) | MySQL | 支持通过存储过程重建向量索引并修改索引类型和参数。 |
| SELECT ... ORDER BY distance_function(column, vector) APPROXIMATE LIMIT n PARAMETERS(IVF_NPROBES=value) | MySQL | 支持语句级指定 IVF_NPROBES 查询参数。 |
| CALL dbms_vector.rebuild_index(index_name, table_name, column_name, delta_rate_threshold, index_organization, distance_metrics, index_parameters) | MySQL | 支持修改 IVF 索引参数重建,覆盖 IVF_FLAT 与 IVF_PQ 主要参数。 |
配置项变更
| 配置项 | 类型 | 默认值 | 生效级别 |
|--------|------|--------|----------|
| schema_history_expire_time | TIME | 7d | 租户级(原集群级) |
| schema_history_recycle_interval | TIME | 10m | 集群级 |
| schema_history_archive_expire_time | TIME | 0 | 租户级 |
| max_execution_time | INT | 0 | SESSION/GLOBAL |
| audit_log_enable | BOOL | FALSE | 租户级 |
| audit_log_buffer_size | CAPACITY | 16M | 租户级 |
| audit_log_compression | STRING | NONE | 租户级 |
| audit_log_path | STRING | "" | 租户级 |
| audit_log_format | STRING | CSV | 租户级 |
| audit_log_max_size | CAPACITY | 0M | 租户级 |
| audit_log_prune_seconds | INT | 0 | 租户级 |
| audit_log_query_sql | STRING | ALL | 租户级 |
| audit_log_rotate_on_size | CAPACITY | 256M | 租户级 |
| audit_log_strategy | STRING | ASYNCHRONOUS | 租户级 |
| audit_log_encryption | STRING | NONE | 租户级 |
| ob_vector_search_strategy | INT | 变更为 RECALL_FIRST | 租户级 |
| ob_storage_s3_url_encode_type | STRING | compliantRfc3986Encoding(原为 default) | 集群级 |
| zone_disk_balance_tolerance_percentage | INT | 10 | 租户级 |