Files
ai-security-xdr/haobang-security-dm/upgrade-doc/v2/database/06-fairness-late-replay-verify.sql
T
王绍宏 00c0a1fb7f feat: 新增设备 API 拉取采集及配套处理能力
- 接入 NDRServer 告警和流量日志,支持凭据与任务管理
- 支持分页拉取、窗口拆分、调度优先级及 WAL 持久化后推进断点
- 增加迟到告警规则重放,优化多条泛化规则选择和事件时间处理
- 补充回归测试、数据库升级脚本及部署文档
2026-09-06 16:46:21 +08:00

62 lines
2.6 KiB
SQL
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
-- =============================================================================
-- 脚本:06-fairness-late-replay-verify.sql
-- 用途:验证公平调度和迟到告警重放的数据库升级结果。
-- 性质:只读脚本,不会修改表结构和业务数据,可以重复执行。
-- 执行时机:05 执行完成后、启动三个新版服务之前。
--
-- 成功标准:
-- 1. 第 1 组包含 SCHEDULER_PRIORITY 字段和两张 ANALYSIS_* 表的字段;
-- 2. 第 2 组所有约束的 STATUS 都是 ENABLED;
-- 3. 第 3 组返回三个索引,STATUS 都是 VALID;
-- 4. 第 4 组中 NDR_ALERT 优先级为 100,NDR_FLOW_LOG 优先级为 10;
-- 5. 首次升级时,第 5、6 组可以返回 0 行,因为还没有产生迟到数据和重放任务。
-- =============================================================================
-- 第 1 组:检查新增字段和两张新表的字段结构。
SELECT table_name,column_name,data_type,nullable,data_default
FROM user_tab_columns
WHERE (table_name='DEVICE_COLLECT_API_CONFIG' AND column_name='SCHEDULER_PRIORITY')
OR table_name IN ('ANALYSIS_LATE_ALARM_BUCKET','ANALYSIS_RULE_REPLAY_WINDOW')
ORDER BY table_name,column_id;
-- 第 2 组:检查新增检查约束、主键、外键和唯一约束是否启用。
SELECT table_name,constraint_name,constraint_type,status
FROM user_constraints
WHERE table_name IN (
'DEVICE_COLLECT_API_CONFIG',
'ANALYSIS_LATE_ALARM_BUCKET',
'ANALYSIS_RULE_REPLAY_WINDOW'
)
AND (table_name<>'DEVICE_COLLECT_API_CONFIG'
OR constraint_name='CK_DC_API_CFG_PRIORITY')
ORDER BY table_name,constraint_name;
-- 第 3 组:检查三个新增索引是否有效。
SELECT table_name,index_name,uniqueness,status
FROM user_indexes
WHERE index_name IN (
'IDX_DC_API_CFG_PRIORITY_DUE',
'IDX_ANALYSIS_LATE_BUCKET_DUE',
'IDX_ANALYSIS_RULE_REPLAY_DUE'
)
ORDER BY index_name;
-- 第 4 组:核对现有 API 拉取任务的调度优先级和启停状态。
SELECT collect_task_id,stream_key,scheduler_priority,enabled,next_run_at
FROM device_collect_api_config
ORDER BY scheduler_priority DESC,collect_task_id;
-- 第 5 组:按状态统计迟到告警分钟桶。刚升级完成时返回 0 行属于正常情况。
SELECT status,COUNT(*) AS bucket_count
FROM analysis_late_alarm_bucket
GROUP BY status
ORDER BY status;
-- 第 6 组:按状态统计规则重放窗口及输入、输出数量。
-- 刚升级完成时返回 0 行属于正常情况;运行后可据此观察积压和处理结果。
SELECT status,COUNT(*) AS replay_count,
SUM(input_count) AS input_count,SUM(output_count) AS output_count
FROM analysis_rule_replay_window
GROUP BY status
ORDER BY status;