Files
ai-security-xdr/haobang-security-dm/upgrade-doc/v6/database/01-device-collection-mode-precheck.sql
T

34 lines
1.3 KiB
SQL
Raw 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 设置。