MyGit

v4.2.4_CE

oceanbase/oceanbase

版本发布时间: 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 可观测性。

关键特性说明

特性增强

MySQL 兼容

OBKV 增强

性能提升

资源优化

可靠性提升

安全能力增强

易用性提升

兼容性变更

产品行为变更

新增如下变更:

功能 变更点说明
定时分区均衡任务触发行为变更 老版本通过租户级配置项 partition_balance_schedule_interval 控制分区均衡任务的调度周期,V4.2.4_CE 版本开始通过定时分区均衡任务 SCHEDULED_TRIGGER_PARTITION_BALANCE 定点触发,默认每日 00:00。具体行为:
  • V4.2.4_CE 版本新建租户时,SCHEDULED_TRIGGER_PARTITION_BALANCE 任务默认开启,partition_balance_schedule_interval 默认为 0,即分区均衡的触发完全依赖定时任务和手动触发。
  • V4.2.4_CE 之前的 V4.x 版本升级到 V4.2.4_CE 版本时,默认旧版本控制行为,SCHEDULED_TRIGGER_PARTITION_BALANCE 任务默认关闭。如果希望升级后使用新行为,需要手工调整以上配置项和定时任务。

注意

用户设置 partition_balance_schedule_interval 时,要求 SCHEDULED_TRIGGER_PARTITION_BALANCE 关闭,否则将会产生报错。

优化器统计信息手动收集需要提交前置事务 针对在一个未提交事务内进行统计信息收集的行为,当前 OceanBase 数据库和原生 MySQL 数据库有差异,主要差异在于当前 OceanBase 数据库使用上述收集方式在一个未提交事务内进行统计信息时,不会提交前置事务,而原生 MySQL 数据库都会进行提交。新版本修改为:
  • 新集群手动收集统计信息时会提交前置事务;
  • 针对旧集群升级之后,默认保持旧行为,手动收集统计信息不提交前置事务,如果用户期望在升级上来的旧集群使用新行为,则可以通过修改 ob_compatibility_version 系统变量进行控制。

视图变更

新增如下变更:

视图 变更类型 变更说明
information_schema.events 新增 MySQL 模式下新增,用于记录 Event 信息。
information_schema.tables 字段取值变更
  • data_length 字段调整为展示表占据的存储空间,按宏块大小计算,单位为 Byte;
  • index_length 字段调整为展示非主键索引占据的存储空间,按宏块大小计算,单位为 Byte。
information_schema.partitions 字段取值变更
  • data_length 字段调整为展示表分区占据的存储空间 ,按宏块大小计算,单位为 Byte;
  • index_length 字段调整为表分区的索引占据的存储空间,按宏块大小计算,单位为 Byte。
information_schema.role_column_grants 新增 MySQL 模式下新增,用于展示用户在当前会话中被授予的已激活的角色的表级权限信息,以及这些角色被授予的其他角色的表级权限信息。
information_schema.role_routine_grants 新增 MySQL 模式下新增,用于展示用户在当前会话中被授予的已激活的角色的例程权限信息,以及这些角色被授予的其他角色的例程权限信息。
information_schema.role_table_grants 新增 MySQL 模式下新增,用于展示用户在当前会话中被授予的已激活的角色的列权限信息,以及这些角色被授予的其他角色的列权限信息。
CDB/DBA_OB_DEADLOCK_EVENT_HISTORY 字段取值变更
  • MODULE:取值固定为 transaction
  • VISITOR:格式为 {session_id:$1}:{txid:$2}$1$2 均为数字。(老版本仅为 {txid:xx}
  • OBJECT:行的主键描述,格式为 {addr:"$1:$2"}:{ls:$3}:{tablet:$4}:{row_key:{$5}},其中 $1 为 IP,$2 为 PORT,共同组成冲突发生的机器进程地址,$3 为冲突发生时所在的日志流,$4 为冲突发生时所在的 tablet$5 为行锁主键字符串化后的内容。(老版本为 {row_key:xxx})
  • EXTRA_NAME1:固定为 wait_sql。(老版本为 current sql
  • EXTRA_VALUE1:事务发生死锁的当前正在执行的 SQL 内容。
  • EXTRA_NAME2:固定为 hold_sql_request_time。(老版本为空)
  • EXTRA_VALUE2:持锁语句的请求时间。(老版本为空)
  • EXTRA_NAME3:固定为 hold_sql。(老版本为空)
  • EXTRA_VALUE3:持有 cycle_idx - 1 行记录对应的 Object 的 SQL 语句。(老版本为空)
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 新增列 & 列类型变更
  • 新增 plan_hashthread_idstmt_typetime_model 四列,分别展示当前执行 SQL 对应的执行计划的 hash 值、当前活跃会话所在的线程 ID、当前活跃会话对应的 SQL 类型、各采样执行阶段的数据集合。
  • 修改 sample_time 列类型为 TIMESTAMP。
[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 算子有字段含义发生变化:
  • 老版本 otherstat_1_valueotherstat_2_valueotherstat_3_value 表示 IO_READ_BYTESTOTAL_READ_BYTESTOTAL_READ_ROW_COUNT,在算子计算结束时统计。
  • 新版本 otherstat_1_valueotherstat_2_valueotherstat_3_valueotherstat_4_value 表示 IO_READ_BYTESSSSTORE_READ_BYTESSSSTORE_READ_ROW_COUNTMEMSTORE_READ_ROW_COUNT,支持实时统计。

配置项变更

配置项 变更类型 变更说明
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_percenthist_block_sample,将基础统计信息和直方图控制策略拆分,拆分后行为如下:
  • estimate_percent: 控制基础统计信息收集是否采样,默认行为不采样,全表扫收集统计信息。
  • block_sample: 控制基础统计信息采样收集时,是否使用块采样的方式,默认不使用块采样,使用行采样。
  • hist_est_percent: 控制直方图收集采样的比例,默认行为由优化器根据表的大小自行决定采样比例。
  • hist_block_sample: 控制直方图收集采样是否使用块采样,默认行为由优化器根据表的大小决定是否使用块采样。
同时也新增了 hist_est_percenthist_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

升级说明

注意事项

相关地址:原始地址 下载(tar) 下载(zip)

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

查看:2024-07-15发行的版本