数据源
- 允许数据源绑定到项目
- 支持 OceanBase Sharding MySQL 数据源
- 支持克隆数据源
- 团队空间中支持在对象树中展示数据源状态
导入导出
- 支持原生 MySQL 数据源的导入导出
- OceanBase 数据源的导入导出任务配置页面中不再提供 SYS 账户配置
数据库对象管理
- OceanBase MySQL 以及原生 MySQL 模式下支持 GIS 数据类型
- 白屏创建或删除索引时给出高风险操作提示
项目
- 增加 2 个内置项目角色:安全管理员,参与者;安全管理员被允许管理项目的敏感列和参与审批,参与者被允许参与审批
- 允许用户申请项目权限
- 禁止删除以 DBA 或 项目 OWNER 角色归属到任意项目中的用户
SQL 开发规范
- 优化了 SQL 拦截交互
- 增加了问题定位功能,支持快速定位原始 SQL 中的具体问题
数据库连接会话
- 增加了自动重连机制,避免长时间不使用场景下会话销毁导致的报错及易用性问题
分区计划
- 支持定时调度
SQL 执行
- SQL 片段最大支持 65535 大小的内容
- 支持 Ctrl+Enter 快捷键执行当前语句
堡垒机集成
- 支持 SQL Check
DLM
- 支持日志查看
- 新增三个任务参数配置:查询超时时间、分片大小、分片策略
- 优化了 MYSQL 5.6 的性能表现
- 优化了 OceanBase 数据清理的性能表现
全链路诊断
- 支持导出 Jaeger 兼容的 JSON 文件
- 视觉效果优化
- 增加了结果的列表视图,支持搜索和排序
工单
- 项目管理员能查看该项目下的所有工单,其它角色能查看自己审批过的工单
数据源
- 用户离开项目且不属于任何项目和角色时依然可以创建数据源
- OceanBase MySQL 以及原生 MySQL 模式下数据库会话中"执行时间"栏目为 0
- OceanBase Oracle 模式下通过会话变量管理功能进行时间输出格式的修改在 SQL 执行窗口不生效
- OceanBase Oracle 模式下无法连接小写的 schema
- 无法连接 percona 分支构建的 MySQL 数据源
SQL 执行
- SQL 执行过程中抛出错误没有国际化
- 无法在团队空间下执行带有 dblink 的 SQL
- 安全规则允许的前提下,无法在团队空间中执行 desc 语句
- OceanBase Oracle 模式下执行 SELECT ... ORDER BY 1 样式的语句时 ORDER BY 会失效
- 禁用"SQL 窗口允许执行的 SQL 类型"规则不生效
数据库对象管理
- OceanBase MySQL 模式下左侧对象树上展示的表的分区等对象的名字带有反引号包围符
结果集导出
- 任务没有日志打印
- 以 excel 格式导出后没有数据
PL 对象
- 交互式创建函数过程中,无法通过下拉菜单定义 sys_refcursor 类型的返回值
- OceanBase MySQL 模式下 PL 参数值没有对单引号转义
DLM
- 数据库连接池过小导致任务执行失败
分区计划
- 在 OceanBase 1.4.79 版本的 MySQL 模式下创建任务失败
- 不设置分区策略的表依然会执行分区计划变更
SQL 开发规范
- 无法识别
alter table xxx drop index
语句为 DROP INDEX 语句
外部审批集成
- 无法识别索引集合中的数据的表达式
- 外部系统返回的 xml 形式的数据在反序列化时会丢失原始 xml 的根 tag
数据脱敏
- 当扫描到重复列时会导致敏感列添加失败
项目
- 用户被赋予"个人空间"权限后必须重新登陆才能生效
- 同步大量数据库或 schema 到项目时发生事务超时
- 无法以项目维度过滤工单
- 项目 OWNER 可以将项目中所有 DBA 角色的用户全部移除
堡垒机集成
- 不活跃连接没有被清理
回收站
- 无法删除回收站中的特定对象
模拟数据
- 任务占用过多内存
- 不支持 ZHSGB232 编码
- OceanBase MySQL 以及原生 MySQL 模式下无法对宽度在 8 以下的 bit 类型生成任务
- 无法跳过自增的主键列
- OceanBase MySQL 以及原生 MySQL 模式下 bit 类型宽度显示错误
数据库变更任务
- 上传大文件场景下出现内存溢出错误
全链路诊断
- 将驱动加入全链路诊断后导致的内存溢出问题
影子表同步
- 工单被同意或拒绝后审批者无法查看任务详情
obclient 集成
- 重复创建同名操作系统用户导致报错
工单
- 创建工单耗时过久
- 一个项目的"待审批"工单列表中存在另一个项目的"待审批"工单
操作记录
- 操作记录中"数据源"栏目为空
- SQL 执行事件没有被记录
- 打开 SQL 窗口事件没有被记录
- 提升 SQL 执行性能,减少不必要的耗时操作
- 允许用户配置登录失败场景下的最大重试次数以及账户锁定时间
- 只允许用户白屏修改带有主键约束,唯一键约束以及 rowid 的表数据
- 优化同步数据库出错时的报错文案
- 升级 obclient 版本到 2.2.4
- 升级 spring security 版本到 5.7.10
- 升级 hutool 版本到 5.8.23
- 升级 pf4j 版本到 3.10.0
- 升级 netty 版本到 4.1.94.FINAL
数据归档
- 数据归档子任务开始运行后更新限流器配置无法生效
- 数据清理任务没有运行
数据脱敏
- 自动扫描敏感列场景下输入恶意识别规则会导致正则表达式拒绝服务
SQL 执行
- MySQL 模式下以科学计数法展示 NUMBER 类型的数据
PL 运行
- 无法查看游标的内容
SQL-Check
- 数据库没有报语法错的时候 SQL-Check 依然会提示语法错误
数据源
- 支持 MySQL 数据源
- 适配 OceanBase 4.2.0/4.2.1
- 数据源增加初始化脚本以及自定义 JDBC 连接参数设置
数据脱敏
- 支持视图脱敏
数据归档
- 支持 OceanBase 4.x 版本
- 支持 MySQL 到 OceanBase 链路
- 支持白屏限流配置
- 支持断点恢复
导入导出
- 支持类型对象的导入导出
- 优化了大规模表列场景下的对象管理性能,通过 ob-sql-parser 解析索引/约束的元数据
- 优化了数据库对象树交互,项目和数据源的选择交互区域折叠到顶部,数据库列表展示更清晰
- 优化了 SQL 窗口新建和 SQL 窗口切换数据库的交互,切换数据库更快速了,SQL 窗口增加复制操作
- 优化了数据脱敏配置交互,选择敏感列更方便
- 优化了存在大量数据源场景下获取数据源列表缓慢以及获取数据源状态缓慢的问题
- 优化以错误参数运行 PL 时的报错文案
PL 调试
- 调试过程中无法跳入程序包中定义的子存储过程/函数
SQL 执行
- 执行 SQL 过程中持续执行 "DROP PACKAGE" 语句导致大量报错
- 连接 OceanBase MySQL 租户时自动调用 "obodc_procedure_feature_test" 存储过程导致报错或进入连接缓慢
- SQL 执行耗时统计各子项耗时之和不等于父项
- SQL 执行耗时统计中, "SQL 预检查"及"SQL 后置检查"缺乏详细子项耗时统计
SQL-Check
- OceanBase Oracle 租户下创建 type 时,如果子存储过程/函数无参数列表,SQL Check 报语法错误
- 无法关闭"语法错误"规则
数据脱敏
- SELECT 语句中含有多表 JOIN 的场景下脱敏失败
- 大小写敏感的 OceanBase MySQL 模式下无法识别到敏感列导致脱敏失效
数据库对象管理
- 没有 show create view 权限用户查看视图详情时报错
- 查看表对象时所有字符类型的长度无法显示
数据库变更
- 数据库变更任务超时时间设置无效
- 个人空间下查看定时执行的带有自动回滚节点的数据库变更任务详情失败
导入导出
- Oracle 模式下导出程序包不包含包体
- 无法将含有制表符的结果集导出为 Excel
操作审计
- 没有将"SQL 检查规范"以及"SQL 窗口规范"改变纳入操作审计范围
- 升级 ob-loader-dumper 版本到 4.2.5-RELEASE
- 升级 oceanbase-client 版本到 2.4.5
- 前后端敏感字段传输使用非对称加密
SQL 执行
- OceanBase 4.0 之前版本时无法打印 DBMS 输出
- 编辑结果集时 DML 语句生成速度缓慢
导入导出
- 任务执行过程中导入/导出对象在任务详情中不显示
PL 调试
- OceanBase 多节点部署时 PL 调试偶现无法连接到数据库
- OceanBase Oracle 模式小写 schema 下调试匿名块时获取数据库连接错误
数据源管理
- 回收站模块生成的针对索引的 flashback 语句执行报错
- 会话管理界面无法显示会话正在执行的 SQL
- 批量导入连接时模版文件中存在空行或空列时引发空指针异常
数据脱敏
- OceanBase MySQL 模式配置为大小写敏感时,敏感列无法区分大小写
工单管理
- 工单提交后工单状态长期处于“排队中”不更新且工单不报错
第三方集成
- 审批流未包含外部审批节点时也会尝试获取外部审批工单的 ID
SQL-Check
- OceanBase Oracle 模式下无法检测表或列的注释是否存在
- 解决第三方集成过程中可能发生的 SSRF 攻击