v4.2.4_CE
版本发布时间: 2024-07-15 09:44:43
oceanbase/oceanbase最新发布版本:v4.2.4_CE(2024-07-15 09:44:43)
版本信息
项目 | 描述 |
---|---|
发布日期 | 2024-7-12 |
版本号 | V4.2.4_CE |
Commit 号 | 556a8f5 |
OBServer RPM 版本号 | oceanbase-ce-4.2.4.0-100000082024070810 |
版本概览
OceanBase 数据库 V4.2.4_CE 版本是面向 TP 和 HTAP 业务的高度兼容、高性能、安全且易于管理的新版本。在 V4.2.3_CE 版本基础上,新版本继续完善产品兼容性,新增多项 MySQL 特性支持,包括 Event Scheduler、ASCII/TIS620 字符集、列默认值定义为表达式等,提升 MySQL 迁移的便利性。增强优化器能力,支持统计信息过期后的自适应修正,优化直方图采样策略,提升估行准确性以防统计信息走偏。新版本也实现了主备库之间的自动路由功能,确保服务高可用性,即使在主库故障情况下也能无缝切换至备库继续提供服务。提升 PDML 高并发性能,优化 DAS 执行 GTS 开销,支持物理备库的并行同步,整体提升了小规格 OLTP 性能。另外支持 REFERENCES、CREATE/DROP ROLE、TRIGGER 权限管理,强化数据库企业级安全特性。运维易用性方面,扩展分区均衡的运维能力,优化死锁检测诊断机制,重构 ASH 报告内容展示,提升实时诊断准确性,提升了用户操作的便捷性和效率。同时重构了 OBKV 请求的 SQL_ID
生成方式,提升 OBKV 可观测性。
关键特性说明
特性增强
-
估行与统计信息增强
优化器代价估计依赖对每个算子的准确估行,准确估行则依赖估计策略选择和统计信息的准确性。V4.2.2 版本已经重构了基表估行与选择率计算的方式,提高了优化器代价估计的准确性。针对一些复杂场景,V4.2.4_CE 版本也进行了补充完善,如:
-
多基表谓词的联合选择率计算: 针对谓词间相关性假设模型提供
cardinality_estimation_model
系统变量,控制优化器使用哪种基表估行方案。默认为 PARTIAL,表示谓词间具有一定程度的相关性,通过指数回退计算联合选择率。 - NDV 计算方式调整: 计划生成过程中维护环境基数,通过环境基数计算多表达式的联合 NDV,进而影响谓词选择率、GroupBy 算子行数的估算。
- 统计信息过期自适应: 每 15 分钟将增删改行数刷新到内部表,标记统计信息过期严重的场景(默认数据量变化超过 10 倍),自适应地进行统计信息修正。如每 15 分钟对统计信息过期严重的表发起一次后台任务异步收集,或使用动态采样避免执行计划走偏。
- 动态采样支持更多复杂谓词场景: 针对基表常见的复杂谓词,即使在统计信息有效的场景,也支持使用动态采样的方式去计算更准确的复杂谓词选择率。
同时,新版本也优化了直方图收集采样策略,将直方图和基础统计信息收集解耦,新增统计信息收集参数
hist_est_percent
和hist_block_sample
,用于独立控制直方图收集的采样比例和是否使用块采样。为了优化直方图收集性能,新版本会根据表大小自适应选择直方图收集的采样方式,小表使用行采样,大表使用块采样。更多有关估行与统计信息增强的内容,参见统计信息和估行机制的使用。 -
多基表谓词的联合选择率计算: 针对谓词间相关性假设模型提供
MySQL 兼容
-
Event Scheduler
MySQL 模式下新增 Event Scheduler(事件调度器) 功能,用于定时执行 SQL 或匿名块语句,适用于定时任务执行、周期性数据维护等场景。将事件调度器集成到数据库中,减少了对外部调度工具的依赖,简化了运维操作。更多内容参见 CREATE EVENT、ALTER EVENT 和 DROP EVENT。
-
Select ... for update skip locked
新版本兼容 MySQL
select ... for update skip locked
语法,表示存在锁冲突时不等待,跳过被其他事务锁定的行,立即执行查询返回结果。 -
Authentication method Switch
高版本原生 MySQL 客户端连接 OceanBase 数据库时,可能使用到未支持的 MySQL 认证方法。为了避免建连报错,V4.2.3_CE 版本支持了
Authentication method Switch
,当原生客户端使用 OceanBase 数据库时不支持的认证方式创建连接时,服务端会发送AuthSwitchRequest
给客户端,告知客户端使用服务端支持的认证方式重新开始认证。 -
Show Create User
兼容 MySQL
show create table
语法,用于展示数据库用户信息。管理员或具有 OceanBase、MySQL 库 SELECT 权限的账户可以查看租户下所有用户信息,普通用户仅可查看本账户信息。 -
使用子查询为系统变量赋值
早期版本已支持使用子查询为用户变量赋值,新版本扩展子查询赋值系统变量的用法,以兼容 MySQL 行为。
-
字符集/字符序扩展
新增支持 ASCII 字符集(
ascii_bin
、ascii_general_ci
字符序),TIS620 字符集(tis620_bin
、tis620_thai_ci
字符序)。另外utf8mb4
字符集扩展了utf8mb4_unicode_520_ci
、utf8mb4_croatian_ci
、utf8mb4_czech_ci
、utf8mb4_0900_ai_ci
等字符序,并支持了utf8mb3
字符集(作为utf8mb4
别名)。更多内容参见字符序。 -
Default 值支持表达式
新增支持不依赖其他列的表达式作为列的 Default 值,如:
default(DATE_FORMAT(sysdate(),'%Y%m%d'))
、default(CURRENT_DATE)
、default(UNIX_TIMESTAMP())
等。 -
Check Table Statement
部分兼容
Check Table Statement
语法,支持检查数据库中的表或视图是否存在,或检查视图引用对象是否有效。其他功能暂未支持。
OBKV 增强
-
OBKV 诊断增强
老版本中 OBKV 的
SQL_ID
根据 Request 生成,每个 Request 生成一个 SQL_ID,不便进行分类诊断。V4.2.3_CE 版本重构 OBKV 请求的SQL_ID
生成方式,将请求拆分为多个单操作,并参考 SQL 参数化的方式,将 OBKV 单操作进行参数化后生成新的SQL_ID
。基于新的SQL_ID
生成方式,外围工具也可对 OBKV 请求进行分类,识别高频操作和超长耗时操作等,提高 OBKV 诊断易用性。
性能提升
-
小规格(4C、8C)性能优化
针对 4C、8C 规格集群,通过多场景优化提升系统性能,如多索引场景下的写入优化、Update 路径下
rowkey_exist
检查开销优化、Memtable hash 索引开销优化、Plan cache hash key 优化等,OLTP 相关 Case 性能相对 V4.2.3_CE 版本提升约 20%。 -
Insertup/Replace 性能优化
Insertup(指
insert ... values ... on duplicate
) 和 Replace(指replace into ... values ...
)语句在 V4.x 版本中不会逐行做分区裁剪,因此涉及多 Tablet 写入的 SQL 会统一选用 DISTRIBUTED 执行计划,在语句执行前获取一次 GTS。小数据量入库场景下,尤其是存在较多主键/唯一键冲突时,GTS 获取操作会带来明显的性能损耗。新版本细化了写入场景,在写入表不涉及 unique global 索引或涉及 unique global 索引但写入数据位于同一日志流等场景,省略了 GTS 获取操作,优化了执行流程,显著提升 Insertup/Replace 性能。 -
PX NLJ/SPF Random Shuffle
在 PX 执行过程中,Join 算子以及 Subplan Filter 算子可以有多种数据分布方式作为优化器计划形态的备选,但在当前
NONE_ALL
的分布下存在 NLJ/SPF 不能充分利用并行的问题,尤其在数据偏移严重的情况下,性能不优。为此 V4.2.4_CE 版本支持了在 NLJ/SPF 的计算、存储分界插入 Random Shuffle 的 Exchange 算子,将一个线程的工作量打散到多个线程,解耦计算、取数。新增两种执行中的数据分布方式:RANDOM_ALL
和HASH_ALL
,在 NLJ/SPF 的计划选择中分别作为NONE_ALL
计划的竞争者,预期当 NLJ/SPF 左支的 PX GI 算子划分任务较少不足以利用NLJ/SPF 的计算线程时,选择RANDOM_ALL
和HASH_ALL
的计划,来提升执行性能。 -
PDML 事务优化
新版本在事务层通过支持并行提交、并行回放日志等实现优化,相对 V4.x 早期版本,明显提升高并发场景下 PDML 执行性能。
-
物理备库并行同步
Oceanbase 数据库从 V4.2.0 版本开始支持了基于网络直通的物理备库,主库与备库之间通过网络来传输日志,V4.2.3 版本支持了网络备库的日志传输性能优化后,日志同步性能相较优化前提升了很多,但是在主备库异地部署的场景下,受限于日志传输的模型,日志传输的速度提升有限。在写入压力大的场景,同步性能可能无法满足客户需求。因此在 V4.2.4_CE 版本又设计和实现了新的同步模型,支持网络备库从主库并行同步日志,增强网络备库的日志同步能力,提升同步性能。更多内容参见优化日志同步性能。
资源优化
-
内存限速机制
在 V4.x 版本之前,需要依赖冻结转储释放内存的模块并不多,Memtable 是其中最大的一部分。因此,之前版本对 Memtable 本身设定了内存使用上限,并通过限速逻辑使其在内存使用量接近上限的过程中运行尽可能平滑,避免突然耗尽内存导致系统停写。V4.x 版本之后,随着更多依赖冻结转储释放内存的模块(如事务数据模块)被引入,新版本提供了更细致的手段来控制多个模块的内存使用,新增 TxData 和 MDS 模块内存上限控制,和 Memtable 共享内存空间,当累积内存达到
租户内存 * _tx_share_memory_limit_percentage% * writing_throttling_trigger_percentage%
时,触发整体限速。同时,新版本也增加了时间维度触发事务数据表冻结转储的功能,默认 1800 秒触发一次事务数据表的冻结,降低事务数据模块的内存占用。 -
SQL AUDIT 内存优化
SQL AUDIT 是以机器粒度去记录当前租户执行过的 SQL 信息,普通租户构造了 1000 万条记录指针队列,在机器启动时预分配内存空间,我们称之为静态内存。而实际记录的信息会使用动态内存。新版本优化了 SQL AUDIT 内存结构,降低起始静态内存,更好地适应小规格租户。同时,支持根据租户的实际记录数,动态调整队列内存大小,在高规格租户允许进一步拓展可存储记录数。
可靠性提升
-
主备库自动路由
在 V2.x、V3.x 系列中,OceanBase 数据库支持集群级主备库,使用
CLUSTER_NAME
作为唯一表示一组主备集群的标识,用户通过 ODP 连接时,指定集群名即可自动路由到主集群。V4.x 版本变更为租户级主备库,主租户不记录备租户信息,备租户也不记录主租户信息,主备关系通过外部工具如 OCP 来维护,没办法通过 ODP 连接自动路由到主租户。新版本引入SERVICE_NAME
概念,用于管理一组主备租户,通过 ODP 指定SERVICE_NAME
登录,如obclient -h $ip -P $port -u$user_name@SERVICE:$service_name
,ODP 可根据 SERVICE_NAME 将连接路由至主租户,以满足 V4.x 主备库自动路由的需求。同时,系统租户下也提供了一套 SERVICE_NAME 管理命令,用于为租户创建、删除、启动、停止 SERVICE_NAME。
安全能力增强
-
MySQL REFERENCES/CREATE ROLE/DROP ROLE/TRIGGER 权限
兼容 MySQL
References,Create Role,Drop Role
,Trigger 权限。 References 权限可以指定 Global、Database、Table、Column 级别,建表或修改表创建 Foreign Key 时需要具备该权限,Column 级别可设置不生效,与 MySQL 兼容。Create Role 和 Drop Role 权限为 Global 级别,创建角色需要具备 Create User 或 Create Role 权限,删除角色需要具备 Create User 或 Drop Role 权限。Triggers 权限可指定 Global、Database、Table 级别,为表创建、删除、执行或显示该表的触发器时,需具备 Trigger 权限。为了保证旧版本升级后不影响在线业务,升级场景默认不开启以上权限校验,确认需要使用新版本权限功能时,可通过 ob_security_version 变量手动设置安全功能版本,该版本号只能推高,不能回退。新建集群时默认开启。更多内容参见MySQL 模式下的权限分类。
易用性提升
-
定时/手动分区均衡
OceanBase 数据库 V4.2.0_CE 版本开始支持基于 Transfer 的分区均衡功能,通过租户级配置项
partition_balance_schedule_interval
控制均衡任务的调度周期,默认从 OBServer 启动时间算起,每 2 小时进行一次分区均衡。该配置项易用性较差,无法明确控制分区均衡任务的执行时间。由于 Transfer 动作可能会阻塞对应分区的读写,业务高峰期进行分区均衡会影响 RT;如果需要均衡的分区较多,也可能会暂时加大集群负载,影响集群性能。为了优化这一场景,V4.2.4_CE 版本新增 DBMS_BALANCE 系统包,为用户提供手动触发分区均衡的方法DBMS_BALANCE.TRIGGER_PARTITION_BALANCE(balance_timeout)
,同时在用户租户创建时内置了定时分区均衡任务SCHEDULED_TRIGGER_PARTITION_BALANCE
,默认每日 00:00 触发一次分区均衡,用户也可根据业务特点通过 DBMS_SCHEDULER 子程序修改定时调度的时间、频率等信息,以便更加灵活、可靠地管理分区均衡任务。 -
死锁检测优化
V4.2.4_CE 之前版本,OceanBase 数据库已经提供了
CDB/DBA_OB_DEADLOCK_EVENT_HISTORY
视图用于查询数据库中发生的死锁事件及参与死锁事件的环路节点信息,但缺少环路上 Holder 对应的 SQL 信息记录,影响用户诊断。新版本在此基础上丰富了死锁检测的视图信息,补充 Visitor 对应的 SESSION ID,申请资源所在的机器、日志流、Tablet 地址等信息,并记录了事务发生死锁后当前正在执行的 SQL、持锁的 SQL 及请求时间,方便死锁事件诊断。 -
ASH REPORT 增强
OceanBase 是多租户的分布式数据库,目前从系统租户获取的 ASH 报告包含了多租户多节点的汇总信息,但很多时候系统性能问题只涉及某个租户或某个节点。因此 V4.2.3 版本开始提供 ASH Report 节点级分析能力,V4.2.4 版本扩展了租户级别,支持通过 DBMS_WORKLOAD_REPOSITORY.ASH_REPORT 指定生成 ASH Report 的租户 ID 。 新版本系统性地优化了 ASH Report 展示内容,在借鉴 Oracle ASH 框架基础上,将报告调整地更适用于 OceanBase 数据库性能诊断。例如新增
Top Active Tenants
、Top Node Load
维度的分析结果,拆分各类前后台负载等。为了增强可读性,新版本还支持了输出 HTML 格式的 ASH 报告。 -
实时诊断能力增强
OceanBase 数据库提供了较丰富的 SQL 性能诊断手段,但主要是基于 SQL 执行完的后置诊断。在一些 AP 场景,SQL 执行耗时往往较长,等待执行完后再分析的方式时效性和易用性较差。这时候需要有一种实时方式来获取 SQL 执行情况。V4.2.4_CE 版本基于 SQL PLAN MONITOR 补充了 TABLE SCAN 算子的实时行数、实时字节数等信息,在此之上 ODC 提供了页面化实时诊断功能,便于实时查看 SQL 执行计划与进度。
-
资源规格估算
我们将数据库中的资源分为逻辑资源和物理资源两大类。逻辑资源指的是逻辑概念对应的实体,如数据结构、线程、锁、会话等;物理资源指的是硬件资源,如 CPU、磁盘、内存等。租户能够创建的逻辑资源量可能受一个或者多个物理资源限制。为了用户可以更方便地获取集群当前的逻辑资源对应的物理资源使用信息,以此更可靠地规划扩缩容、节点替换、备租户创建等操作,V4.2.4_CE 版本新增资源规格估算功能,提供以下一系列动态视图、系统包:
- 新增
[G]V$OB_TENANT_RESOURCE_LIMIT
视图,用于展示租户在每个 Unit 上的逻辑资源使用量、上限值、生效限制条件和宕机重启后的最大占用量; - 新增
[G]V$OB_TENANT_RESOURCE_LIMIT_DETAIL
视图,用于展示租户在一个机器上能创建的逻辑资源所受的物理资源或配置项的限制情况; - 新增
DBMS_OB_LIMIT_CALCULATOR.CALCULATE_MIN_PHY_RES_NEEDED_BY_UNIT
子程序,用于计算某个租户在某个节点上所需的最小物理资源量。 - 新增
DBMS_OB_LIMIT_CALCULATOR.CALCULATE_MIN_PHY_RES_NEEDED_BY_LOGIC_RES
子程序,用于计算特定逻辑资源类型和数量需要的物理资源量; - 新增
DBMS_OB_LIMIT_CALCULATOR.CALCULATE_MIN_PHY_RES_NEEDED_BY_STANDBY_TENANT
子程序,用于计算指定主租户创建指定 Unit 个数的备租户需要的最小物理资源量。
- 新增
-
备份快照表名
OCP 及下游厂商适配表级恢复功能时,需要向用户展示可供恢复的表。新版本在备份集中持久化了对应的快照表名,并提供通过
ob_admin
来解析快照表名的能力。 -
手动 Transfer Partition 功能增加 Cancel 能力
Cancel Transfer Partition 是对手动 Transfer Partition 功能的完善。用户在发起手动 Transfer Partition 任务后,任务在没有执行完成之前可以尝试取消任务。本功能提供如下能力:可以指定取消尚未开始 TRANSFER 的任务;可以取消租户下所有没有开始 TRANSFER 的任务;可以取消当前正在执行的 Balance Job。
兼容性变更
产品行为变更
新增如下变更:
功能 | 变更点说明 |
---|---|
定时分区均衡任务触发行为变更 | 老版本通过租户级配置项 partition_balance_schedule_interval 控制分区均衡任务的调度周期,V4.2.4_CE 版本开始通过定时分区均衡任务 SCHEDULED_TRIGGER_PARTITION_BALANCE 定点触发,默认每日 00:00。具体行为:
注意用户设置 |
优化器统计信息手动收集需要提交前置事务 | 针对在一个未提交事务内进行统计信息收集的行为,当前 OceanBase 数据库和原生 MySQL 数据库有差异,主要差异在于当前 OceanBase 数据库使用上述收集方式在一个未提交事务内进行统计信息时,不会提交前置事务,而原生 MySQL 数据库都会进行提交。新版本修改为:
|
视图变更
新增如下变更:
视图 | 变更类型 | 变更说明 |
---|---|---|
information_schema.events | 新增 | MySQL 模式下新增,用于记录 Event 信息。 |
information_schema.tables | 字段取值变更 |
|
information_schema.partitions | 字段取值变更 |
|
information_schema.role_column_grants | 新增 | MySQL 模式下新增,用于展示用户在当前会话中被授予的已激活的角色的表级权限信息,以及这些角色被授予的其他角色的表级权限信息。 |
information_schema.role_routine_grants | 新增 | MySQL 模式下新增,用于展示用户在当前会话中被授予的已激活的角色的例程权限信息,以及这些角色被授予的其他角色的例程权限信息。 |
information_schema.role_table_grants | 新增 | MySQL 模式下新增,用于展示用户在当前会话中被授予的已激活的角色的列权限信息,以及这些角色被授予的其他角色的列权限信息。 |
CDB/DBA_OB_DEADLOCK_EVENT_HISTORY | 字段取值变更 |
|
CDB/DBA_BALANCE_JOBS | 新增列 | 新增 max_end_time 字段,用于展示均负载均衡任务的最大结束时间。 |
CDB/DBA_BALANCE_JOB_HISTORY | 新增列 | 新增 max_end_time 字段,用于展示均负载均衡任务的最大结束时间。 |
CDB/DBA_BALANCE_TASKS | 新增列 | 新增 balance_strategy 列,用于展示 balance task 对应的均衡策略。 |
CDB/DBA_BALANCE_TASK_HISTORY | 新增列 | 新增 balance_strategy 列,用于展示 balance task 对应的均衡策略。 |
[G]V$OB_ACTIVE_SESSION_HISTORY | 新增列 & 列类型变更 |
|
[G]V$OB_TENANT_RESOURCE_LIMIT | 新增 | 用于展示 OBServer 上每个租户的资源情况,资源包括:日志流、Tablet 等。系统租户可以查看所有租户信息,普通租户只能查看本租户信息。 |
[G]V$OB_TENANT_RESOURCE_LIMIT_DETAIL | 新增 | 用于展示 OBServer 上每个租户各种资源的限制详情,如:日志流个数受限于配置项、租户内存大小、 clog 盘大小等。系统租户可以查看所有租户信息,普通租户只能查看本租户信息。 |
CDB/DBA_OB_SERVICES | 新增 | 展示所有租户/本租户所有的 SERVICE_NAME 有关信息。CDB 视图仅在系统租户下支持。 |
[G]V$OB_PROCESSLIST | 新增列 | 新增 SERVICE_NAME 字段,用于展示该 SESSION 是由哪个 SERVICE_NAME 创建的,为空表示非 SERVICE_NAME 创建。 |
[G]V$SQL_PLAN_MONITOR | 列语义变更 | 对于 TABLE SCAN 算子有字段含义发生变化:
|
配置项变更
配置项 | 变更类型 | 变更说明 |
---|---|---|
plsql_v2_compatibility | 含义变更 | V4.2.3_CE 版本实现了存储过程 DDL 阶段编译落盘功能,如果存储过程代码很大时,编译时间太久会导致 DDL 很久才能执行完。V4.2.4_CE 版本使用 plsql_v2_compatibility 来控制存储过程 DDL 阶段编译落盘功能是否开启,默认为 False,表示不开启。该参数在历史版本没有被实际使用,不影响其他功能。 |
系统变量变更
配置项 | 变更类型 | 变更说明 |
---|---|---|
event_scheduler | 新增 | MySQL 模式下新增 Global 级系统变量,用于控制是否开启 Event Scheduler 功能,开启后可创建、修改、删除 Event。默认为 OFF,表示不开启。 |
cardinality_estimation_model | 新增 | 新增 GLOBAL/SESSION 级别系统变量,用于控制优化器估行时使用的相关性模型。可选择 INDEPENDENT(假设谓词间完全独立)、PARTIAL(假设谓词间有一定的程度的相关性)、FULL(假设谓词间是完全相关的) 三种假设。默认为 PARTIAL。 |
enable_sql_plan_monitor | 新增 | 新增 SESSION 级系统变量,用于控制当前会话的 SQL 是否记入 SQL PLAN MONITOR。默认为 False,表示默认不记入。 开启时,无需考虑其他条件,当前会话的 SQL 均记入 SQL PLAN MONITOR;关闭时,满足 hint 开启、执行时长超出阈值、并行度大于 1 其中一项条件后,当前会话的 SQL 才会记入 SQL PLAN MONITOR。 |
系统包变更
系统包 | 变更类型 | 变更说明 |
---|---|---|
DBMS_BALANCE | 新增 | 用户租户下新增系统包,用于管理负载均衡任务。 |
DBMS_STATS.GATHER_TABLE_STATS | 修改 | 新增 2 个直方图收集的控制参数 hist_est_percent 、hist_block_sample ,将基础统计信息和直方图控制策略拆分,拆分后行为如下:
hist_est_percent 和 hist_block_sample 两个 Perfs。 |
DBMS_OB_LIMIT_CALCULATOR | 新增 | 系统租户新增 DBMS_OB_LIMIT_CALCULATOR 系统包,用于计算不同场景下系统所需的最小物理资源。 |
语法变更
语法 | 变更说明 |
---|---|
新增 SERVICE_NAME 管理命令 | 新增 SERVICE_NAME 管理命令:ALTER SYSTEM {CREATE | DELETE | START | STOP} SERVICE $service_name [tenant = '$tenant_name']; |
新增 Show Create User 语法 | 兼容 MySQL show create table 语法,用于展示数据库用户信息。 |
新增 Event 相关语法 | 新增 CREATE/ALTER/DROP EVENT 命令。 |
新增 Cancel Transfer Partition 相关语法 | 新增 Cancel Transfer Partition 相关语法,用于取消 Transfer 任务。 |
SET System_Variable 调整为支持子查询 | 之前版本已支持使用子查询为用户变量赋值,新版本扩展子查询赋值系统变量的用法,以兼容 MySQL 行为。 |
表级恢复命令调整 | 修改 ATLER SYSTEM RECOVER TABLE tablename TO TENANT tenantname 语法中 TENANT 关键字为可选。即同时支持 ATLER SYSTEM RECOVER TABLE tablename TO tenantname 语法。 |
周边配套
OceanBase 数据库 V4.2.4_CE 版本推荐使用的平台工具版本如下:
组件 | 版本 |
---|---|
ODP | V4.2.3 |
OCP | V4.3.0_CE |
OBD | V2.9.2 |
All in One | V4.2.4 |
ODC | V4.3.0 BP1 |
OBCDC | V4.2.4 |
OMS | V4.2.4_CE |
OBClient | V2.2.6 |
LibOBClient | V2.2.6 |
升级说明
- 支持 OceanBase 数据库 V4.2.1_CE_BP2 及之前的 V4.x 版本通过有效升级路径在线升级到 OceanBase 数据库 V4.2.4_CE 版本;V4.2.1_CE_BP3 及之后的 BP 版本不再支持升级到 V4.2.4_CE 版本。
- 支持 OceanBase 数据库 V4.2.3_CE 升级到 V4.2.4_CE 版本。
- 集群 Tablet 比较多的情况下,升级过程中 OBServer 重启会比较耗时。Tablet 达到 300 万级别时,重启时长预计会达到 20 分钟。
- V4.2.1_CE 及 V4.2.2_CE 系列升级到 V4.2.4_CE 版本时,如果
_nlj_batching_enabled
配置项处于开启状态,升级前需要关闭,升级完成后可打开。 - ODP 和 OBServer 升级顺序:建议先升级 OBServer,再升级 ODP。
- 升级期间,系统会自动禁用合并和 DDL 操作,升级完成后恢复正常使用。
注意事项
- 主备库自动路由功能需要配套 ODP V4.3.1 和 OCP V4.3.1 及之后版本使用。ODP 使用
rs_list
方式启动时,不支持使用service_name
功能。 - 物理备库并行同步提升了备库能力上限,但对主租户会有 IO 资源的开销。在主租户已有很多数据时,建议先对主租户进行一次备份,然后用备份恢复的方式创建备库租户,减少主库和新备库之间的日志差异,之后再将备租户的日志恢复源变成网络恢复源的方式。
1、 oceanbase-ce-4.2.4.0-100000082024070810.el7.aarch64.rpm 87.61MB
2、 oceanbase-ce-4.2.4.0-100000082024070810.el7.x86_64.rpm 122.7MB
3、 oceanbase-ce-4.2.4.0-100000082024070810.el8.aarch64.rpm 87.64MB
4、 oceanbase-ce-4.2.4.0-100000082024070810.el8.x86_64.rpm 122.71MB
5、 oceanbase-ce-4.2.4.0-100000082024070810.nonlse.el7.aarch64.rpm 87.64MB
6、 oceanbase-ce-4.2.4.0-100000082024070810.nonlse.el8.aarch64.rpm 87.66MB
7、 oceanbase-ce-cdc-4.2.4.0-100000032024070811.el7.aarch64.rpm 97.95MB
8、 oceanbase-ce-cdc-4.2.4.0-100000032024070811.el7.x86_64.rpm 117.94MB
9、 oceanbase-ce-cdc-4.2.4.0-100000032024070811.el8.aarch64.rpm 99.34MB
10、 oceanbase-ce-cdc-4.2.4.0-100000032024070811.el8.x86_64.rpm 119.32MB
11、 oceanbase-ce-libs-4.2.4.0-100000082024070810.el7.aarch64.rpm 143.9KB
12、 oceanbase-ce-libs-4.2.4.0-100000082024070810.el7.x86_64.rpm 154.59KB
13、 oceanbase-ce-libs-4.2.4.0-100000082024070810.el8.aarch64.rpm 150.74KB
14、 oceanbase-ce-libs-4.2.4.0-100000082024070810.el8.x86_64.rpm 159.32KB
15、 oceanbase-ce-libs-4.2.4.0-100000082024070810.nonlse.el7.aarch64.rpm 143.93KB
16、 oceanbase-ce-libs-4.2.4.0-100000082024070810.nonlse.el8.aarch64.rpm 150.77KB
17、 oceanbase-ce-sql-parser-4.2.4.0-100000082024070810.el7.aarch64.rpm 1.95MB
18、 oceanbase-ce-sql-parser-4.2.4.0-100000082024070810.el7.x86_64.rpm 1.97MB
19、 oceanbase-ce-sql-parser-4.2.4.0-100000082024070810.el8.aarch64.rpm 1.95MB
20、 oceanbase-ce-sql-parser-4.2.4.0-100000082024070810.el8.x86_64.rpm 1.98MB
21、 oceanbase-ce-sql-parser-4.2.4.0-100000082024070810.nonlse.el7.aarch64.rpm 1.95MB
22、 oceanbase-ce-sql-parser-4.2.4.0-100000082024070810.nonlse.el8.aarch64.rpm 1.95MB
23、 oceanbase-ce-table-4.2.4.0-100000082024070810.el7.aarch64.rpm 52.32MB
24、 oceanbase-ce-table-4.2.4.0-100000082024070810.el7.x86_64.rpm 51.43MB
25、 oceanbase-ce-table-4.2.4.0-100000082024070810.el8.aarch64.rpm 52.33MB
26、 oceanbase-ce-table-4.2.4.0-100000082024070810.el8.x86_64.rpm 51.43MB
27、 oceanbase-ce-table-4.2.4.0-100000082024070810.nonlse.el7.aarch64.rpm 52.31MB
28、 oceanbase-ce-table-4.2.4.0-100000082024070810.nonlse.el8.aarch64.rpm 52.32MB
29、 oceanbase-ce-utils-4.2.4.0-100000082024070810.el7.aarch64.rpm 156.32MB
30、 oceanbase-ce-utils-4.2.4.0-100000082024070810.el7.x86_64.rpm 264.65MB
31、 oceanbase-ce-utils-4.2.4.0-100000082024070810.el8.aarch64.rpm 156.35MB
32、 oceanbase-ce-utils-4.2.4.0-100000082024070810.el8.x86_64.rpm 264.78MB
33、 oceanbase-ce-utils-4.2.4.0-100000082024070810.nonlse.el7.aarch64.rpm 156.38MB
34、 oceanbase-ce-utils-4.2.4.0-100000082024070810.nonlse.el8.aarch64.rpm 156.42MB