Skip to content

管理 Oracle 和 OceanBase Oracle 调度作业 - #11558

Closed
efeire wants to merge 8 commits into
t8y2:mainfrom
efeire:feat/11452-oracle-jobs
Closed

efeire wants to merge 8 commits into
t8y2:mainfrom
efeire:feat/11452-oracle-jobs

Conversation

@efeire

@efeire efeire commented Oct 9, 2026 •

Copy link
Copy Markdown
Contributor

Summary

Refs #11452。从数据库菜单接入 Oracle/OceanBase Oracle Scheduler 作业管理,提供定义读取、创建、修改、启用、禁用及删除。先预览再明确执行,执行后读回;浏览刷新不启动作业,新建默认禁用,修改前先禁用。旧式 DBMS_JOB 单独只读展示。写入仅支持限定版本和作业类型,命名程序/计划、远程和未知版本不开放重写。

原修改预览只显示旧 NEXT_RUN_DATE,无法说明请求的新计划影响。现在分开显示旧时间、请求 start/end/repeat 及引擎新时间或明确未知原因。Oracle 仅对支持的明确 offset 和内置日历表达式调用 SYS.DBMS_SCHEDULER 只求值,命名及组合计划保持 unknown;评估失败不阻断原脱敏预览,不执行作业。OceanBase 当前版本缺少该接口,明确显示 unsupported,不用旧时间冒充新时间。

作业浏览只读 → 修改计划预览 → 用户执行 → 引擎状态读回

Evidence

Before: 修改 Scheduler 的 start/end/repeat 后预览,旧界面只显示原 NEXT_RUN_DATE,不能说明新计划的实际影响。

After: 作业组件、新计划影响组件及身份回归有通过记录。OB 4.2.5.7 Web GUI 的创建、默认禁用、显式启用/禁用、删除及跨 owner 零写入已由独立字典/计数核对;新计划求值仍 unsupported,计划修改的具体限制见下列验收范围。Oracle 求值/DST、完整并发权限矩阵及原生 Tauri 未验证。

回归与验收范围

OceanBase 4.2.5.7 实库复现带 schema 的作业名被原样存入当前用户,导致确认创建后按目标身份读回为空。现要求变更连接登录用户与目标 owner 精确一致,并向 OceanBase Scheduler 传入未限定名称;Oracle 保留原限定名。新增回归旧实现失败,修后通过。

修复创建后未保留所选身份,真实挂载回归旧版失败,修后相关前端 27 项通过;Oracle 管理模块 52 项通过,格式及差异检查通过。Spec 无新增发现,Standards 无规范违反。

修复版 Web GUI 已完成正确 owner 下创建、默认禁用超过两个调度窗口不执行、显式启用后独立计数增长、禁用后间隔 12 秒计数不变、删除后独立字典为空。明确起止时间及 +08:00 创建后精确读回,创建后直接编辑身份正确。SYS 跨 owner preview/apply 均拒绝且独立确认零写入。全部测试作业、用户、连接和自有服务已清理。

当前 OceanBase 4.2.5.7 修改 repeat_interval 返回 ORA-00600,独立确认原定义保留,未计为通过。空结束时间读回 4000-01-01 保持 unverified;新计划求值 unsupported。普通 owner 历史视图受限,未伪造计数。身份读取失败注入、完整并发与权限矩阵、Oracle/OCI 和 Tauri 仍未覆盖。

Merge Danger

Door: two-way(代码);已经执行的数据或 DDL 变更按实际状态单独恢复。

Blast Radius: 数据库工具

启用到期作业可能立即执行动作,代码回退不能撤销。多步失败须核对步骤和状态;禁用/删除不使用 FORCE,不自动停止运行中的作业。unknown/unsupported 不是验收通过。

自动化状态与界面预览

自动预览只代表对应提交和沙盒场景,不能替代目标数据库的实库验收。

界面预览

当前提交的自动预览记录。以下沙盒截图/录屏展示相关界面,不能代替目标数据库验收;实际测试结果与未验范围见Evidence。

播放录屏
▶️ 点图打开录屏(可暂停、拖动)· 直接下载 mp4 · 红线是鼠标轨迹,红色圆环是点击

@github-actions github-actions Bot added area/core Shared DBX core runtime area/desktop Desktop application or Tauri shell area/web Web backend or web API db/oracle Database: Oracle ui-change Changes user-visible interface, text, or visual assets labels Oct 9, 2026
@efeire efeire changed the title Oracle 与 OceanBase Oracle Scheduler 作业管理及 DBMS_JOB 只读展示 管理 Oracle 和 OceanBase Oracle 调度作业 Oct 9, 2026
@efeire
efeire deployed to ui-preview October 9, 2026 18:54 — with GitHub Actions Active
github-actions Bot added a commit that referenced this pull request Oct 9, 2026
@efeire
efeire deployed to ui-preview October 9, 2026 23:46 — with GitHub Actions Active
github-actions Bot added a commit that referenced this pull request Oct 10, 2026
@efeire
efeire marked this pull request as ready for review October 10, 2026 06:57
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

area/core Shared DBX core runtime area/desktop Desktop application or Tauri shell area/web Web backend or web API db/oracle Database: Oracle ui-change Changes user-visible interface, text, or visual assets

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant