Files

59 lines
2.5 KiB
SQL
Raw Permalink Normal View History

-- v6 设备级采集模式:达梦数据库升级前检查
-- 本脚本只读。必须先完成检查,再执行 02-device-collection-mode-upgrade.sql。
-- 新版 syslog-serve JAR 启动前必须完成字段升级和验证。
-- 1. 确认当前用户和 DEVICE_DEVICE 表存在。
SELECT USER AS CURRENT_SCHEMA FROM DUAL;
SELECT TABLE_NAME
FROM USER_TABLES
WHERE TABLE_NAME = 'DEVICE_DEVICE';
-- 2. 记录升级前设备总数、有效设备数,供升级后核对。
SELECT COUNT(*) AS DEVICE_TOTAL
FROM DEVICE_DEVICE;
SELECT COUNT(*) AS ACTIVE_DEVICE_TOTAL
FROM DEVICE_DEVICE
WHERE DELETED_AT IS NULL
AND (DEL_FLAG IS NULL OR DEL_FLAG = '0');
-- 3. 目标字段应不存在。首次升级时预期返回 0 行;若已有记录,停止执行升级脚本并先核实。
SELECT COLUMN_NAME, DATA_TYPE, DATA_LENGTH, NULLABLE, DATA_DEFAULT
FROM USER_TAB_COLUMNS
WHERE TABLE_NAME = 'DEVICE_DEVICE'
AND COLUMN_NAME = 'COLLECTION_MODE';
-- 4. 约束名应未被占用。首次升级时预期返回 0 行。
SELECT CONSTRAINT_NAME, CONSTRAINT_TYPE, STATUS
FROM USER_CONSTRAINTS
WHERE CONSTRAINT_NAME = 'CK_DEVICE_COLLECTION_MODE';
-- 5. 执行 DDL 前必须完成 DEVICE_DEVICE 可恢复备份,并确认没有未结束的长事务或表锁。
-- 数据库脚本不得写死现场 device_id;具体设备模式在新版 JAR 启动后通过管理 API 设置。
-- 6. API 拉取配置表及 LOOKBACK_SECONDS 必须存在。记录当前默认值;旧版通常为 300,新版目标为 0。
-- 这里只修改后续新记录的默认值,不覆盖已有任务显式配置。
SELECT TABLE_NAME
FROM USER_TABLES
WHERE TABLE_NAME = 'DEVICE_COLLECT_API_CONFIG';
SELECT COLUMN_NAME, DATA_TYPE, NULLABLE, DATA_DEFAULT
FROM USER_TAB_COLUMNS
WHERE TABLE_NAME = 'DEVICE_COLLECT_API_CONFIG'
AND COLUMN_NAME = 'LOOKBACK_SECONDS';
-- 7. 记录 API 拉取单窗口条数约束。旧版应存在 CK_DC_API_CFG_PAGE,范围上限通常为 10000;
-- 新版需要放宽为 50000,供微步 5 秒窗口使用。
SELECT CONSTRAINT_NAME, CONSTRAINT_TYPE, STATUS, SEARCH_CONDITION
FROM USER_CONSTRAINTS
WHERE TABLE_NAME = 'DEVICE_COLLECT_API_CONFIG'
AND CONSTRAINT_NAME = 'CK_DC_API_CFG_PAGE';
-- 8. 记录响应字节约束。旧版上限通常为 268435456;新版微步按 50000 条 × 10 KiB
-- 取整使用 512 MiB,需要将上限放宽为 536870912。
SELECT CONSTRAINT_NAME, CONSTRAINT_TYPE, STATUS, SEARCH_CONDITION
FROM USER_CONSTRAINTS
WHERE TABLE_NAME = 'DEVICE_COLLECT_API_CONFIG'
AND CONSTRAINT_NAME = 'CK_DC_API_CFG_RESP';