用途 该技能用于监控 CockroachDB 的后台作业健康状况,识别失败、暂停和长时间运行的作业。后台作业与用户查询相互独立,本技能不依赖 DB Console,完全通过 SQL 接口操作,可展示模式变更、备份/恢复、自动统计信息收集以及 SQL 统计压缩等作业情况。
前置条件 需要具备 VIEWJOB 系统权限的 SQL 连接(只读),或 CONTROLJOB 角色选项(控制)。后台作业不会出现在 SHOW CLUSTER STATEMENTS 中,也不会出现在 DB Console SQL Activity 页面展示的语句统计中。相关技能包括 triaging-live-sql-activity(用于实时查询)与 profiling-statement-fingerprints(用于历史查询分析)。
关键接口 SHOW JOBS 返回用户发起与自动作业(默认最近 12 小时;保留时间可通过 jobs.retention_time 集群设置配置,默认 14 天);SHOW AUTOMATIC JOBS 仅返回自动作业(如 AUTO CREATE STATS、SCHEMA CHANGE GC 等)。
主要诊断查询 该技能给出多组只读查询模板:一是查询最近 12 小时内失败作业,通过 error、description、total_duration 等列判断失败原因,常见失败模式包括权限拒绝、磁盘空间、网络超时与约束冲突;二是查询运行超过指定阈值的长作业,通过 running_for、fraction_completed、running_status 等列判断进度,不同类型作业阈值可自定义(模式变更约 30 分钟至数小时,备份 1 至 6 小时以上,自动作业通常小于 30 分钟);三是查询暂停作业,需在确认暂停原因后使用 RESUME JOB <job_id> 恢复;四是查询等待 MVCC GC 的模式变更作业,SCHEMA CHANGE GC 作业处于等待状态属正常现象,时长与区域级 gc.ttlseconds(默认 4 小时)相关,若等待超过该值的两倍则需关注;五是查询最近 24 小时自动作业健康状况,AUTO CREATE STATS 定期成功执行属于健康表现,AUTO SQL STATS COMPACTION 通常每小时执行一次;六是按类型与状态聚合的作业分布视图;七是备份与恢复作业进度查询,包含完成百分比与粗略剩余时间估算。fraction_completed 在某些作业类型或执行早期可能为 NULL。
常见工作流 包括模式变更卡住排查(检查运行中的模式变更,识别 MVCC GC 等待,结合 gc.ttlseconds 判断,或检查资源约束与失败原因)、失败备份分诊(筛选失败 BACKUP 作业、分析错误信息、用 SHOW BACKUP 验证目标、修复后重试并监控进度)、自动作业健康检查(检查 AUTO CREATE STATS 频率与 AUTO SQL STATS COMPACTION 情况,验证 sql.stats.automatic_collection.enabled 等设置)、长时间作业监控(按自定义阈值识别,定期重跑观察 fraction_completed 变化,判断是否停滞)。
安全注意事项 所有诊断查询均为只读操作,可在生产环境安全运行。作业控制操作需要谨慎:PAUSE JOB、RESUME JOB、CANCEL JOB 等命令可能带来数据完整性影响,仅在拥有 CONTROLJOB 角色选项、理解影响、获得授权并确认作业确实存在问题时才可执行。风险因作业类型而异:取消 SCHEMA CHANGE 可能导致模式状态不一致,建议优先 PAUSE 并调查;取消 BACKUP 相对安全可重试,暂停更适合临时问题;取消 RESTORE 可能导致数据库部分恢复并需要清理;取消 AUTO CREATE STATS 是安全的,会自动重试。
限制与故障排查 该技能对 SHOW JOBS 返回为空、长时间 MVCC GC 等待、暂停/恢复权限拒绝、作业进度停滞、无 AUTO CREATE STATS 作业、SHOW AUTOMATIC JOBS 只显示旧作业、模式变更 GC 错误、并发模式变更错误等情况给出了原因与处理方式。部分细节如具体价格、收费方式、支持平台等暂未提供。