基于湖库一体架构,统一管理结构化、半结构化与非结构化等多模态数据,一个系统承载事务处理、实时分析与 AI 工作负载。
最后更新时间:2026-08-27 10:46:40
V5.0.1
版本信息
- 发布时间:2026 年 07 月 24 日
- 版本号:V5.0.1
- 分布式 RPM 版本:oceanbase-5.0.1.0-100000042026072711
- 单机版 RPM 版本:oceanbase-standalone-5.0.1.0-100000042026072711
版本概览
OceanBase 数据库 V5.0.1 是 OceanBase 数据库 V4.6.0 的延续版本,持续对数据库的能力进行完善,其中包括:
DDL 能力增强:
- 新增支持加列、删列以及分区操作的并行 DDL。
- 支持列存转行存、行列混存转行存的延迟在线 DDL,从而完善了行存、列存以及行列混存三种存储格式的相互 Online 转换。
- 新增支持表模式(
partial_update、delete_insert和append_only)在线切换;且增强了 Compaction TTL 能力,支持定义用户列为 TTL 列,且支持partial_update表定义 TTL 属性,能覆盖更多的业务场景。 - 新增支持创建随机分布表,在数据写入时自动均匀打散到集群各节点,无需用户自定义分区,系统会自动切换,提升易用性。
负载均衡能力的增强:新增支持 Zone 级表组和
SUBPARTITION表组,更多维度的控制分区的聚集和均衡策略。对物化视图功能从监控诊断、增量刷新性能和使用易用性以及功能稳定性全方面做了能力提升。
兼容性维度上对 Oracle 的语法、函数、表达式等做了进一步的增强。
AI 能力上,AI Function 支持对图片类型的处理,并且做了并发请求的优化。
提供了 Database 级资源隔离(CPU/IO)的能力,允许将每个 Database 映射到独立的资源组,实现 CPU 和 IO 的细粒度隔离。
关键特性说明
特性增强
SUBPARTITION 表组
新增
SHARDING = 'SUBPARTITION'属性,支持跨一级分区的二级分区对齐。具有相同二级分区键值的数据绑定到同一日志流,全局索引与主表二级分区隐式绑定,提升二级分区维度的事务性能和本地化率。表组内所有表的一级分区和二级分区类型、数量、边界必须完全一致。更多详细信息,参见 表组概述(MySQL 模式) 或 表组概述(Oracle 模式)。
支持 Zone 级表组(TableGroup)
Zone 级表组支持将相关分区按规则聚集在同一个 Zone 内,并使表组内分区 Leader 均匀分布在 Zone 内不同 OBServer 上。解决现有表组
Sharding = None因为数据总量过大而无法用单台 OBServer 承载全部分区数据,Sharding = Partition/Adaptive无法控制分区 Leader 分布而导致性能受限的问题。通过新增SCOPE属性控制分区 Leader 分布方式,原SHARDING属性继续用于控制分区聚集与均衡策略。更多详细信息,参见 表组概述(MySQL 模式) 或 表组概述(Oracle 模式)。
随机分布表
新增随机分布表功能,数据写入时自动均匀打散到集群各节点,每个日志流维护一个活跃分区,彻底规避热点分区问题,适合无主键、高写入吞吐的宽表场景。语法为
CREATE TABLE t (...) PARTITION BY RANDOM [SIZE('size_value')],通过SIZE参数指定单个分区的目标大小,超出后自动分裂。更多详细信息,参见 随机分布表概述(MySQL 模式) 或 随机分布表概述(Oracle 模式)。
Compaction TTL 支持用户列
在原有基于
ora_rowscn的 TTL 之外,支持使用DATETIME、TIMESTAMP或DATE类型的用户列作为TTL列,结合Compaction触发数据过期清理。语法为CREATE TABLE t (...) TTL = ts + INTERVAL 30 DAY BY COMPACTION,也可通过ALTER TABLE为已有表追加TTL属性。对于表模式为partial_update的表,支持以主键列或ROWSCN作为TTL列。更多详细信息,参见 使用 TTL(Time To Live)功能。
列存转行存操作支持异步 Online DDL
在 OceanBase 数据库 V4.3.5 版本已支持了行存表在线转换为列存表,但是列存表转为行存表是 Offline DDL,会阻塞业务DML,OceanBase 数据库 V5.0.1 版本支持通过在线 DDL 方式列存与行存、行列混存三种存储模式间切换,用户在执行 DDL 语句时只需指定关键字
delayed,即可实时修改表的 Schema 信息,而不会阻塞数据写入,对业务读写影响降到最低,基线数据存储格式重整将在基线数据合并时异步执行。表模式 Online 转换
为了方便业务基于不同需求,在不同表模式之间切换,如:为了提升增量数据场景下的列存表查询性能,需要将表模式修改为
delete_insert。支持在三种表模式(partial_update、delete_insert以及append_only)之间 Online 切换,避免业务重建表。Parquet Page 级别预取优化
将 Parquet 外表读取的预取粒度从 Row Group 级别细化到 Page 级别,仅预取被访问列的相关 Page。引入 Page Index 缓存,避免重复解析 Parquet Footer,根据过滤条件动态调整预取队列深度。Parquet 外表扫描 IO 放大降低 40%~60%,高选择性查询端到端延迟下降 30% 以上。
Catalog 外表采样
支持对 Catalog 外表(如 Hive、Iceberg 等数据源的外部表)执行统计信息采样,通过
DBMS_STATS.GATHER_CATALOG_TABLE_STATS采集外表统计信息,优化器可据此生成更优的执行计划,提升跨源联邦查询性能。更多详细信息,参见 GATHER_CATALOG_TABLE_STATS。
外表易用性
OceanBase 的外表 Pattern 实现行为是正则写法,常常被误以为 Pattern 是 GLOB 写法。本版本对外表相关命令(CREATE/ALTER EXTERNAL TABLE、LOAD DATA FROM FILES()、INSERT INTO FROM FILES()等)新增 REGEXP_PATTERN 和 GLOB_PATTERN 子句,且为了兼容老版本的行为,还会保留正则匹配的 Pattern 语法。为了提升用户体验,统一函数命名风格,新增支持CATALOG(),其功能与 CURRENT_CATALOG() 完全等价。
并行 DDL
- 加列/删列:支持多张表同时执行
ALTER TABLE ADD COLUMN和ALTER TABLE DROP COLUMN,表间并行执行,同一张表内仍为串行。加列与删列混用、加自增列、加存储生成列、MySQL 模式删列带索引等场景自动退化为串行执行。 - 分区操作:支持多张表并行执行分区级 DDL,包括
ADD PARTITION、DROP PARTITION、TRUNCATE PARTITION及对应的子分区操作。表间并行,同一张表内通过表级EXCLUSIVE锁保证串行。
- 加列/删列:支持多张表同时执行
Oracle 临时表路由策略优化
Oracle 模式下支持 ODP 不将所有请求强制路由到临时表所在 OBServer 节点以提升性能:
- 优化前行为:同一 Session 访问过临时表后,后续请求(含普通表请求)会强制路由到上次访问临时表的节点,导致大量远程路由访问。
- 优化后行为:同一 Session 访问过临时表后,后续普通表请求可准确路由,提升查询性能。
物化视图能力增强
- 监控和诊断增强:刷新监控信息的
purge从按每个物化视图(以下简称 MV)各自保留时间逐条清理优化为所有 MV 统一保留时间批量清理,降低 SQL 次数与开销;支持在物化视图刷新过程中分阶段实时持久化,支持在刷新过程中观测刷新进度。扩展监控视图展示。新增DBMS_MVIEW.REFRESH_REPORT(refresh_id, mv_name, tenant_id, format)过程,一键获取物化视图刷新任务执行报告,包含刷新类型、耗时、异常原因等关键信息。 - 增量刷新性能和易用性优化:支持自适应快速刷新,多表 MV 增量刷新时自动识别无 DML 变更的基表并跳过对应步骤;所有基表均无变更时仅更新刷新元数据,视为空刷新,降低无效刷新开销。新增语法定义物化视图的
refresh parallel,与物化视图的查询并行度区分,可独立定义物化视图的刷新并行度。支持在聚合、JOIN、UNION等场景下,增量刷新时系统自动推导依赖列,无需手动指定依赖列降低定义物化视图的难度,让用户更易上手。增强 MLOG 自动管理,DROP MV时若 MLOG 未被其他 MV 依赖,对应的 MLOG 也会一并删除,不需要用户手动删除。无论是否开启自动 MLOG 管理,删除基表时会自动级联删除不再被任何 MV 使用的 MLOG。 - 刷新调度能力增强:重构了物化视图刷新任务的调度框架,从旧版同步串行调度升级为异步任务队列模式。新框架支持按优先级排队、控制最大并发刷新任务数(
mv_refresh_concurrency,默认为 10),避免了大量物化视图同时刷新时的资源争抢和调度阻塞,用户可根据租户内物化视图数量和业务负载调整并发度。DBMS_MVIEW.REFRESH支持通过async参数指定刷新任务为异步任务,默认情况下DBMS_MVIEW.REFRESH阻塞直至刷新完成。并且新增支持DBMS_MVIEW.KILL_REFRESH(mview_name)过程:可取消正在运行的物化视图刷新任务,适用于刷新任务长时间阻塞或需要紧急释放系统资源的场景。
- 监控和诊断增强:刷新监控信息的
SCHEMA HISTORY 回收优化
新增
package、routine、ols、udt对象回收,减少历史记录过多对 Schema 刷新性能的影响;优化回收性能并将回收任务改为租户级调度管理。系统视图查询 SQL/PL 保留字
在 MySQL/Oracle 租户模式下新增系统视图
V$OB_KEYWORDS,可查询 SQL 和 PL 的全量关键字列表,便于迁移评估和应用排查。
兼容性增强
Oracle Java UDF
Oracle 模式下支持 Java UDF,允许用户将 Java 类部署到 OceanBase 数据库并通过 PL/SQL 调用,降低从 Oracle 迁移的改造成本。
Oracle 模式全角语法符号解析
支持 SQL 中出现全角标点(如
;、,、()时自动转换为半角,避免因输入法切换导致语法错误。Oracle 模式支持 DEFAULT TABLESPACE
在 OceanBase 数据库 V5.0.1 版本前,开启
TDE之后,新建的表需要显式指定TABLESPACE才能加密,从 OceanBase 数据库 V5.0.1 版本开始,支持一种建表不指定TABLESPACE也能默认被加密的方法,按 租户 → 数据库/用户 → 表 的继承链确定表空间,新增支持修改租户的DEFAULT TABLESPACE,以及创建/修改 database/user 的DEFAULT TABLESPACE,且支持查看租户和database/user的默认TABLESPACE的设置。Oracle 模式支持 JOIN...JOIN...ON...ON 语法
支持后置多个
ON子句的语法形式,与 Oracle SQL 语法完全兼容。Oracle 模式多表
JOIN视图FOR UPDATE/CURRENT OF对多表
JOIN视图执行SELECT ... FOR UPDATE时,系统自动为可更新列注入隐藏ROWID,支持WHERE CURRENT OF cursor的定位更新语义。Oracle 模式支持受限模式(Restricted Mode)
Oracle 模式支持受限模式,允许 DBA 将数据库设置为受限模式,仅具备
RESTRICTED SESSION权限的用户可登录,为 DBA 提供了在运维期间禁止应用账号而允许运维用户账号登陆的能力。受限模式可通过ALTER SYSTEM ENABLE/DISABLE RESTRICTED SESSION开启或关闭。可通过视图V$INSTANCE查询受限模式状态。表达式增强
新增和修复多项内置函数。包括:
- 新增表达式:
NCHR、NEW_TIME、INSTR、ROUND、randCanonical、parseDateTime; - 新增聚合函数:
avgWeighted、string_agg; - 优化表达式性能:
json_extract、json_seek、json_length、json_type、ifnull、space、extract以及date_format。
- 新增表达式:
UTL_FILE 质量加固与特性增强
对
UTL_FILE包进行全面质量加固,新增FGETATTR(获取文件属性)、FCOPY(文件内容拷贝)、FRENAME(文件重命名/移动)、IS_OPEN(判断文件句柄状态)等函数,并支持GET_RAW/PUT_RAW二进制读写。修复大文件(>2GB)读写偏移量溢出、并发打开同一文件时的句柄泄露等问题,与 Oracle 对齐异常码。MySQL 5.7/8.0 默认字符集字符序兼容
通过设置
ob_compatibility_control = 'MYSQL8.0',当仅指定utf8mb4而未写collation时,默认collation为utf8mb4_0900_ai_ci。在升级到 V5.0.1 版本前已创建的库表,默认collation仍为升级前规则;升级后新建租户指定MYSQL8.0才按MYSQL8.0默认。仅新建租户时指定,创建租户后不能修改。
性能优化
中等规模并行优化
在约 4000 DOP 的中等规模并行场景中,并行框架调度队列分层减少线程竞争,数据重分布阶段引入批量发送降低消息频率,优化 PX Worker 的 CPU 亲和性分配减少跨
NUMA访问。中等规模并行(DOP 2000–6000)场景 AP 查询吞吐提升 15%~30%。ARM AP 性能优化
补充
ARM NEON SIMD向量化实现(整数运算、字符串比较、哈希计算),优化内存预取策略适配 ARM 的 Cache Line 行为,针对 ARM 编译器调整内联汇编与编译选项。ARM 平台 AP 核心算子性能提升 20%~40%,整体 TPC-H 性能接近 x86 水平。SQL 执行技改
多项算子和执行路径优化。
HashDistinct接入自适应状态机,根据数据量动态选择Hash或Sort去重策略;Partition Sort优化利用分区有序性减少排序代价;补充Window Function、CASE WHEN等算子的向量化路径;聚合下推增强更多场景将聚合下推到存储层执行;列裁剪增强精确裁剪复杂视图嵌套场景下未被使用的列。外键 GTS 优化
引入外键检查的批量 GTS 获取,合并多次 GTS 请求为单次,减少 RPC 开销;且对只读外键路径(
SELECT时外键校验)绕过 GTS 获取,优化外键元数据缓存,减少重复解析开销。含外键场景写入 TPS 提升 15%~25%。PL 性能优化
PL 编译缓存增强,扩大编译产物缓存减少重复编译;编译器对小循环体执行循环展开优化;局部变量寄存器化减少内存访问;
BULK COLLECT批量FETCH减少内存重分配次数;匿名块多次执行时复用编译结果。PL 密集型负载性能提升 10%~25%。TopN 保序与漏斗函数
非并行场景下
ORDER BY ... LIMIT N场景保留排序稳定性,对相同排序键的行保持输入顺序。新增window_funnel聚合函数,支持用户行为路径分析(事件序列匹配),适用于电商转化率、留存率分析场景。嵌套子查询提升增强
OceanBase 数据库 V5.0.1 版本可启用更激进的嵌套子查询提升规则,将更多相关子查询转化为
JOIN。SPM 支持 PL 内 SQL
SQL Plan Management 的基线捕获与计划演进功能扩展到 PL 内嵌 SQL,存储过程、函数、Package 中的 SQL 均可纳入 SPM 管理。
SubPlan Filter 计划优化
引入
BC2HOST NONE分布式算法和参数化缓存,减少相关子查询的跨节点 RPC 和重复执行开销。迁移批量创建 Tablet
引入批量 Tablet 创建接口,单次 RPC 支持批量传输 Tablet 元数据,优化 Tablet 元数据的序列化格式,降低单 Tablet 网络开销。百万级 Tablet 场景下迁移初始化阶段耗时降低 50%~70%。
AI 与全文搜索
AI Function 支持图片与并发
为了满足业务对图片处理的需求,扩展 AI Function 表达式能力,支持对图片类型数据(Base64 或 URL)调用 AI 接口生成向量,
AI_EMBED/AI_PROMPT/AI_COMPLETE支持图片类型数据,与文本向量统一存储和搜索;AI Function 支持多路并发请求外部 AI 接口,在注册或修改端点时可通过min_concurrency、max_concurrency参数以控制批量请求的并发度,显著提升批量向量化、批量推断场景的吞吐。JSON 表达式性能优化(MySQL 模式)
优化 MySQL 模式
JSON_EXTRACT、JSON_VALUE等 JSON 提取表达式的执行路径,减少 JSON 解析、数据拷贝和 LOB 访问开销,提升 JSON 字段查询性能。
隔离与基础设施
基于 Database 的资源隔离
面向 SaaS 多租户场景,为了避免部分用户对资源进行争抢影响其他用户访问
database,提供了database级资源隔离(CPU 隔离)的能力,允许将每个 Database 映射到独立的资源组,实现 CPU 和 IO 的细粒度隔离。租户规格不低于 16C64G,单租户最多支持 1000 个资源组。资源隔离优先级为:SQL 级 Hint > Database 级 > User 级 > Function 级。Database 级别资源隔离功能依赖 OBProxy V4.4.1。
龙芯 CPU 兼容
OceanBase 数据库 V5.0.1 正式支持龙芯(LoongArch64)处理器架构,为国产化信创场景提供原生支持。支持龙芯 3A6000 及以上系列处理器,适配 Loongnix、统信 UOS(龙芯版)操作系统。
内核支持 Cgroup V2
支持 Linux Cgroup V2,适配使用新内核的国产操作系统(欧拉 EulerOS、麒麟 KylinOS、统信 UOS 等)。OBServer 启动时自动检测当前系统 Cgroup 版本并使用对应接口,无需额外配置。要求 Linux 内核版本 ≥ 5.10。
安全与可靠性增强
双密码管理
解决企业级数据库运维中修改应用账号密码可能导致连接中断的问题。OceanBase 数据库 V5.0.1 版本开始支持数据库账号改密时,允许在过渡期内新旧密码同时有效,避免批量改密导致应用瞬时全部断连;待应用切换完成后再废弃旧密码。MySQL 模式支持
ALTER USER ... IDENTIFIED BY 'new' RETAIN CURRENT PASSWORD,Oracle 模式支持ALTER USER ... PASSWORD_ROLLOVER_TIME = n,新旧密码在滚动升级期间均有效。审计功能增强
MySQL 模式下细化审计过滤器,支持命令级、对象级审计。两种模式下均新增审计日志加密功能。
日志归档启停性能优化
缩短归档开启和停止过程中的等待时间。适用于频繁执行归档启停。
备份任务磁盘满行为优化
备份任务在执行过程中,目标服务器磁盘空间不足备份任务会直接失败,为降低备份任务失败的频率,备份调度前服务器磁盘水位已超过预设阈值的情况将不会被选择执行备份任务;且备份执行过程中的出现磁盘满情况可控重试。
Transfer 稳定性增强
增强 transfer 相关流程的稳定性,优化部分任务推进和异常处理场景,降低 transfer 过程中出现任务长时间等待或临时失败的概率。
密码计算和验证
OceanBase 数据库在 MySQL 和 Oracle 模式下支持通过
caching_sha2_password认证插件来控制密码的哈希计算和验证方式。
产品行为变更
语法、函数与协议变更
| 类型 | 名称/语法 | 适用模式 | 变更说明 |
|---|---|---|---|
| SQL 语法 | CREATE TABLE ... PARTITION BY RANDOM [SIZE('n')] |
MySQL/Oracle | 创建随机分布表,数据按分区大小自动分裂。 |
| SQL 语法 | TTL = <column> + INTERVAL N DAY BY COMPACTION |
MySQL/Oracle | 支持用户列作为 TTL 基准列,结合 Compaction 触发过期清理。 |
| DDL | ALTER TABLE table_name DROP COLUMN GROUP ([all columns,][each column]) [ delayed ]; |
MySQL/Oracle | 在线 DDL 切换表存储模式。 |
| DDL | ALTER TABLE table_name SET MERGE_ENGINE = {partial_update \| delete_insert \| append_only}; |
MySQL/Oracle | 在线 DDL 切换表模式。 |
| DDL | CREATE TABLEGROUP ... SHARDING = 'SUBPARTITION' |
MySQL/Oracle | 创建二级分区对齐的表组。 |
| DDL | CREATE TABLEGROUP ... SCOPE = 'ZONE' / 'SERVER' / 'CLUSTER' |
MySQL/Oracle | 创建指定 Leader 范围的表组。 |
| SQL 语法 | CREATE OR REPLACE JAVA SOURCE NAMED ... |
Oracle | 创建 Java UDF 源码。 |
| 函数 | DBMS_BALANCE.SET_TABLEGROUP_BALANCE_WEIGHT() |
MySQL/Oracle | 设置表组在 Zone 间的均衡权重。 |
| 函数 | DBMS_MVIEW.REFRESH_REPORT() |
MySQL/Oracle | 查询物化视图刷新任务执行报告。 |
| 函数 | DBMS_MVIEW.KILL_REFRESH() |
MySQL/Oracle | 取消正在运行的物化视图刷新任务。 |
| 函数 | DBMS_STATS.GATHER_TABLE_STATS()(外表) |
MySQL/Oracle | 采集外表统计信息。 |
| 函数 | UTL_FILE.FGETATTR()/FCOPY()/FRENAME()/IS_OPEN() |
Oracle | UTL_FILE 包新增功能。 |
| 函数 | UTL_FILE.GET_RAW()/PUT_RAW() |
Oracle | UTL_FILE 包新增二进制读写。 |
| 函数 | LISTAGG ... ON OVERFLOW TRUNCATE |
Oracle | 超长结果截断。 |
| 函数 | JSON_ARRAYAGG(... ORDER BY ...) |
MySQL | JSON 数组聚合时支持内部排序。 |
| 函数 | XMLELEMENT()/XMLFOREST() |
Oracle | XML 生成函数。 |
| 函数 | FUNNEL_COUNT()/FUNNEL_PATH() |
MySQL/Oracle | 用户行为路径分析漏斗函数。 |
| 认证 | ALTER USER ... RETAIN CURRENT PASSWORD |
MySQL | 双密码管理,新旧密码滚动升级期间均有效。 |
| 认证 | ALTER USER ... DISCARD OLD PASSWORD |
MySQL | 显式废弃旧密码,仅新密码有效。 |
| 认证 | ALTER USER ... IDENTIFIED BY 'new' |
MySQL/Oracle | 仅保留新密码,旧密码立即失效。 |
| 认证 | ALTER USER ... PASSWORD_ROLLOVER_TIME = n |
Oracle | 双密码管理,新密码生效后旧密码保留 n 分钟。 |
| 认证 | ALTER USER user IDENTIFIED BY 'new' DISCARD OLD PASSWORD |
Oracle | 显示废弃旧密码。 |
| SQL 语法 | ALTER TENANT tenant_name DEFAULT TABLESPACE tablespace_name; |
MySQL/Oracle | 修改租户的 DEFAULT TABLESPACE。 |
| SQL 语法 | CREATE DATABASE database_name [DEFAULT TABLESPACE tablespace_name]; |
MySQL | 在 MySQL 模式租户下创建 database 时指定 DEFAULT TABLESPACE。 |
| SQL 语法 | ALTER DATABASE database_name DEFAULT TABLESPACE tablespace_name; |
MySQL | 在 MySQL 模式租户下修改 database 的 DEFAULT TABLESPACE。 |
| SQL 语法 | CREATE USER user_name IDENTIFIED BY password [DEFAULT TABLESPACE tablespace_name]; |
Oracle | 在 Oracle 模式租户下创建 user 时指定 DEFAULT TABLESPACE,语法与 Oracle 兼容。 |
| SQL 语法 | ALTER USER user_name DEFAULT TABLESPACE tablespace_name; |
Oracle | 在 Oracle 模式租户下修改和 user_name 同名的 database 的 DEFAULT TABLESPACE,语法与 Oracle 兼容。 |
| SQL 语法 | 支持 ALTER VIEW xxx COMPILE |
Oracle | 手动触发视图重编译。 |
| SQL 语法 | JOIN b JOIN c ON cond1 ON cond2 |
Oracle | 支持连续 JOIN 写法。 |
| SQL 语法 | ALTER SYSTEM {ENABLE \| DISABLE} RESTRICTED SESSION; |
Oracle | 开启/关闭 受限模式。 |
| PL包 | DBMS_SCHEMA |
MySQL/Oracle | 新增系统包 DBMS_SCHEMA,用于提供 Schema 相关接口,支持子程序:RECYCLE_SCHEMA_HISTORY()。 |
| 函数 | window_funnel(window, mode, timestamp, cond1, cond2, ..., condN) |
MySQL/Oracle | 新增漏斗分析聚合函数,用于计算在指定时间窗口内按顺序满足条件的最大步骤数。 |
| SQL 语法 | CREATE TABLEGROUP table_name SHARDING = 'SUBPARTITION'; |
MySQL/Oracle | 新增创建 SHARDING 方式为 SUBPARTITION 的表组。 |
| 函数 | CATALOG() |
MySQL/Oracle | 查看当前 Catalog 环境,其功能与 CURRENT_CATALOG() 完全等价。 |
| SQL 语法 | 外表相关语句中新增 REGEXP_PATTERN 和 GLOB_PATTERN 子句 |
MySQL/Oracle | 为外表相关语句增加 GLOB Pattern 匹配能力,同时保留对正则匹配的支持。 |
| SQL语法 | CREATE MATERIALIZED VIEW mv_name REFRESH xxx PARALLEL n; |
MySQL/Oracle | 创建物化视图时指定刷新并行度。 |
| SQL语法 | ALTER MATERIALIZED VIEW mv_name REFRESH PARALLEL n; |
MySQL/Oracle | 修改物化视图的刷新并行度。 |
配置项变更
| 配置项 | 变更类型 | 适用租户 | 变更说明 |
|---|---|---|---|
| mv_refresh_concurrency | 新增 | Oracle/MySQL | 控制物化视图刷新任务的最大并发数,取值范围 [1, +∞)。 |
| ai_function_max_concurrency | 新增 | Oracle/MySQL | 控制 AI Function 并发请求外部 AI 接口的最大并发数。 |
| audit_log_encryption | 新增 | mysql5.7 | 指定审计日志的所使用的加密算法,取值支持:NONE/AES。 |
| schema_history_expire_time | 生效级别 | Oracle/MySQL | 修改配置项生效范围:从集群级配置项变更为租户级,控机制 schema history 过期时间。 |
| schema_history_recycle_interval | 废弃 | Oracle/MySQL | 废弃 schema history 回收调度间隔的配置。 |
| schema_history_archive_expire_time | 新增 | Oracle/MySQL | 新增租户级配置项,默认值为 0,用于控制归档表的保留时间。 |
| function_round_dialect | 新增 | Oracle/MySQL | 新增租户级配置项,默认值为 MySQL,该配置项用于控制 ROUND 函数的语义模式。 |
视图变更
| 视图名 | 变更类型 | 说明 |
|---|---|---|
| V$OB_KEYWORDS | 新增视图 | 展示 SQL 和 PL 的全量保留字列表,含 IS_RESERVED 列标识是否为保留字。 |
| [G]V$OB_SANDBOX_PROCESS | 新增视图 | 展示外部语言独立子进程的运行状态和资源使用情况。 |
| DBA_MVIEW_RUNNING_JOBS/CDB_MVIEW_RUNNING_JOBS | 新增字段 | 展示当前运行中的物化视图刷新任务,含 SVR_IP、SVR_PORT、TABLE_NAME、JOB_TYPE、SESSION_ID、READ_SNAPSHOT、PARALLEL、JOB_START_TIME、REFRESH_ID 九列,支持同时展示旧版 MDS 引擎和新版 Pending Task 引擎的运行中刷新任务信息。 |
| DBA_MVREF_CHANGE_STATS/CDB_MVREF_CHANGE_STATS | 新增字段 | 展示物化视图刷新相关的统计信息,新增字段,表示该变更记录所属的重试批次 ID。 |
| DBA_MVREF_RUN_STATS/CDB_MVREF_RUN_STATS | 新增/修改字段 | 展示物化视图的每次刷新运行的信息,新增字段 RESULT、MVIEW_ID、MVIEW_NAME、DATA_TARGET_SCN、TRACE_ID,并修改字段 ELAPSED_TIME 和 LOG_PURGE_TIME 的单位,从秒修改为微妙。 |
| DBA_MVREF_STATS/CDB_MVREF_STATS | 新增/修改字段 | 展示物化视图刷新的基本计时统计信息,新增字段 NUM_STEPS、RESULT、REFRESH_SCN、SVR_IP、SVR_PORT,并修改字段 ELAPSED_TIME 和 LOG_PURGE_TIME 的单位,从秒修改为微妙。 |
| DBA_MVREF_STMT_STATS/CDB_MVREF_STMT_STATS | 新增/修改字段 | 描述刷新语句关联的信息,新增字段:RETRY_ID、START_TIME、RESULT、PARALLELISM,并修改字段 EXECUTION_TIME 的单位,从秒修改为微妙。 |
| DBA_MVIEW_DEPS | 新增视图 | 展示物化视图的依赖关系,含 MVIEW_OWNER、MVIEW_NAME、DEP_OWNER、DEP_NAME、DEP_TYPE 五列,便于分析物化视图的基表依赖链。 |
| CDB_MVIEW_DEPS | 新增视图 | CDB 级物化视图依赖关系视图,与 DBA_MVIEW_DEPS 列结构一致。 |
| DBA_TABLES/CDB_TABLES | 新增列 | 补充 OceanBase 数据库表级存储属性,包括行列存属性、压缩算法以及表模式等信息。 |
| DBA_OB_ROOTSERVICE_EVENT_HISTORY | 新增列 | 新增 OLD_VALUE(通过 NAME4/VALUE4 展示),记录配置项修改前旧值。EVENT='admin_set_config' 时,NAME4='old_value'。 |
| DBA_OB_TENANTS | 新增列 | 新增 default_tablespace 列,展示租户的默认表空间名。 |
| DBA_OB_DATABASES/CDB_OB_DATABASES | 新增列 | MySQL/Oracle 租户新增 default_tablespace 列,展示 database 的默认表空间名。 |
| DBA_OB_USERS/CDB_OB_USERS | 新增列 | 视图新增列 old_password 和 old_password_start_time,用于记录旧密码的密文和旧密码开始作为 “旧密码” 生效的时间。 |
| mysql.user | 新增列 | MySQL 模式系统视图新增 user_attributes 列,记录用户扩展属性,JSON 格式。用于兼容 MySQL 8.0。 |
| DBA_PROFILES | 新增列 | Oracle 模式系统视图新增 password_rollover_time 列,记录密码轮转时间。 |
| DBA_USERS 和 USER_USERS | 修改字段取值 | 修改 ACCOUNT_STATUS 字段的计算逻辑。新增 OPEN & IN ROLLOVER 状态,表示账户正常且处于密码轮转期,新旧密码均可使用。 |
| GV$OB_TENANT_WORKER_GROUPS | 新增视图 | 对外提供租户工作线程组状态的查询能力。 |
| DBA_OB_EXTERNAL_TAB_STATISTICS | 新增视图 | 用于查询外部收集统计表级统计详情的视图。 |
| DBA_OB_EXTERNAL_TAB_COL_STATISTICS | 新增视图 | 用于查询外部收集统计列级统计详情的视图。 |
| DBA_OB_EXTERNAL_PART_COL_STATISTICS | 新增视图 | 用于查询外部收集统计分区列级统计详情的视图。 |
| DBA_SCHEDULER_RUNNING_JOBS | 新增视图 | 展示租户下正在运行的所有 Job。 |
| CDB_SCHEDULER_RUNNING_JOBS | 新增视图 | 展示所有租户下正在运行的所有 Job。 |
| CDB_SCHEDULER_JOBS | 新增视图 | 展示所有租户下的所有 Job。 |
| CDB_OB_SYS_VARIABLE_HISTORY | 新增视图 | 展示所有租户的系统变量的历史变更。 |
| DBA_OB_SYS_VARIABLE_HISTORY | 新增视图 | 展示当前租户的系统变量的历史变更。 |
已知限制与使用注意事项
- V5.0.1 版本不支持共享存储模式。
- Database 资源隔离需 OBProxy V4.4.1:Database 级别的资源隔离功能依赖 OBProxy V4.4.1,在此之前仅 SQL 级 Hint、User 级、Function 级隔离可用。
- 并行 DDL 为隐藏特性:生产环境开启并行 DDL 前请在测试环境充分验证。
- Zone 级表组修改
SCOPE属性后可能触发 Leader 迁移:建议在业务低峰期执行。 - 租户克隆:禁止对主租户执行租户克隆操作,备租户克隆功能为实验特性,依赖租户克隆的场景需先确认使用边界,需知晓功能风险;如已使用主租户克隆功能的用户请联系 OceanBase 数据库技术人员进行风险评估。
升级说明
建议按以下路径升级至 V5.0.1 版本:
V4.6.0 至 V5.0.1 版本(平滑升级)。
V4.3.5/V4.3.5 BP1~BP2/V4.3.4/V4.3.3/V4.3.2/V4.3.1/V4.3.0(除 RC1)至 V5.0.1(仅限 POC 和测试环境,存在一定风险;如升级遇到问题,环境可能需要重建)。
V4.2.x 系列及更低版本不支持升级至 V5.0.1 版本。
- 如果 V4.2.x 系列要升级至 V5.0.1 版本,建议 V4.2.x 版本先升级至 V4.3.x 系列,再评估是否可升级至 V5.0.1。
共享存储模式不支持升级至 V5.0.1 版本。
周边配套
OceanBase 数据库 V5.0.1 版本推荐使用的平台工具版本如下:
| 组件 | 配套版本 |
|---|---|
| ODP | V4.3.6.4
说明Database 级别资源隔离功能需要依赖 ODP V4.4.1 版本。 |
| OCP | V4.5.0 |
| ODC | V4.4.3 BP2 |
| OBCDC | V5.0.1 |
| OMS | V4.3.3
说明暂不支持获取增量数据。 |
| Binlog | V4.3.6.7 |
| OCCI | V1.0.6 |
| OBCI | V2.1.1.3 |
| ECOB | V1.2.1 |
| OBClient | V2.2.13 |
| LibOBClient | V2.2.13 |
| JDBC | V2.4.18 |
| ODBC | V2.0.9.9 |
| dotnet | V1.2.0 |
| 导数工具 | V4.3.5 |
| devdeps-java-extensions | V1.0.4 |