47 lines
2.1 KiB
SQL
47 lines
2.1 KiB
SQL
|
|
-- =============================================================================
|
||
|
|
-- 脚本:04-fairness-late-replay-precheck.sql
|
||
|
|
-- 用途:升级公平调度和迟到告警重放功能之前,检查当前数据库结构。
|
||
|
|
-- 性质:只读脚本,不会修改表结构和业务数据,可以重复执行。
|
||
|
|
-- 执行时机:执行 05-fairness-late-replay-upgrade.sql 之前。
|
||
|
|
--
|
||
|
|
-- 首次升级的预期结果:
|
||
|
|
-- 1. 第 1 组返回 0 行,表示 SCHEDULER_PRIORITY 尚未添加;
|
||
|
|
-- 2. 第 2 组返回 0 行,表示两张重放表尚未创建;
|
||
|
|
-- 3. 第 3 组返回 ANALYSIS_CHECKPOINT,表示规则分析基础表存在;
|
||
|
|
-- 4. 第 4 组应返回 DEVICE_ID、LOG_TIME、CREATED_AT 三个字段;
|
||
|
|
-- 5. 第 5 组应能看到 NDR_ALERT 和 NDR_FLOW_LOG 任务。
|
||
|
|
--
|
||
|
|
-- 如果第 1 组或第 2 组已经有结果,说明可能升级过,不要直接重跑 05,
|
||
|
|
-- 应先执行 06-fairness-late-replay-verify.sql 判断结构是否完整。
|
||
|
|
-- =============================================================================
|
||
|
|
|
||
|
|
-- 第 1 组:检查任务配置表是否已经有调度优先级字段。
|
||
|
|
SELECT column_name
|
||
|
|
FROM user_tab_columns
|
||
|
|
WHERE table_name='DEVICE_COLLECT_API_CONFIG'
|
||
|
|
AND column_name='SCHEDULER_PRIORITY';
|
||
|
|
|
||
|
|
-- 第 2 组:检查迟到告警和规则重放表是否已经存在。
|
||
|
|
SELECT table_name
|
||
|
|
FROM user_tables
|
||
|
|
WHERE table_name IN ('ANALYSIS_LATE_ALARM_BUCKET','ANALYSIS_RULE_REPLAY_WINDOW')
|
||
|
|
ORDER BY table_name;
|
||
|
|
|
||
|
|
-- 第 3 组:确认现有规则分析进度表存在,应返回一行 ANALYSIS_CHECKPOINT。
|
||
|
|
SELECT table_name
|
||
|
|
FROM user_tables
|
||
|
|
WHERE table_name='ANALYSIS_CHECKPOINT';
|
||
|
|
|
||
|
|
-- 第 4 组:确认标准化告警表具备判断迟到数据所需的字段。
|
||
|
|
SELECT column_name,data_type,nullable
|
||
|
|
FROM user_tab_columns
|
||
|
|
WHERE table_name='SYSLOG_NORMAL_ALARM'
|
||
|
|
AND column_name IN ('DEVICE_ID','LOG_TIME','CREATED_AT')
|
||
|
|
ORDER BY column_name;
|
||
|
|
|
||
|
|
-- 第 5 组:查看现有 API 拉取任务类型及数量,为升级后的优先级赋值做准备。
|
||
|
|
SELECT stream_key,COUNT(*) AS task_count
|
||
|
|
FROM device_collect_api_config
|
||
|
|
GROUP BY stream_key
|
||
|
|
ORDER BY stream_key;
|