-- ============================================================================= -- 脚本:03-device-api-pull-verify.sql -- 用途:确认设备 API 拉取基础表升级结果是否完整。 -- 性质:只读脚本,不会修改表结构和业务数据,可以重复执行。 -- 执行时机:02 执行完成后、启动新版 syslog-serve 之前。 -- -- 成功标准: -- 1. 第 1 组返回四张表; -- 2. 第 2 组所有约束的 STATUS 都是 ENABLED; -- 3. 第 3 组所有索引的 STATUS 都是 VALID; -- 4. 第 4 组能列出四张表的完整字段。 -- 任一对象缺失或状态异常时,不要启动 API 拉取任务。 -- ============================================================================= -- 第 1 组:确认四张基础表都已创建。 SELECT table_name FROM user_tables WHERE table_name IN ( 'DEVICE_COLLECT_API_CREDENTIAL', 'DEVICE_COLLECT_API_CONFIG', 'DEVICE_COLLECT_API_CHECKPOINT', 'DEVICE_COLLECT_API_RUN' ) ORDER BY table_name; -- 第 2 组:确认主键、外键、唯一约束和检查约束均已启用。 SELECT table_name, constraint_name, constraint_type, status FROM user_constraints WHERE table_name IN ( 'DEVICE_COLLECT_API_CREDENTIAL', 'DEVICE_COLLECT_API_CONFIG', 'DEVICE_COLLECT_API_CHECKPOINT', 'DEVICE_COLLECT_API_RUN' ) ORDER BY table_name, constraint_name; -- 第 3 组:确认四张表相关索引均有效。 SELECT table_name, index_name, uniqueness, status FROM user_indexes WHERE table_name IN ( 'DEVICE_COLLECT_API_CREDENTIAL', 'DEVICE_COLLECT_API_CONFIG', 'DEVICE_COLLECT_API_CHECKPOINT', 'DEVICE_COLLECT_API_RUN' ) ORDER BY table_name, index_name; -- 第 4 组:核对字段名称、类型、长度和是否允许为空。 SELECT table_name, column_name, data_type, data_length, nullable FROM user_tab_columns WHERE table_name IN ( 'DEVICE_COLLECT_API_CREDENTIAL', 'DEVICE_COLLECT_API_CONFIG', 'DEVICE_COLLECT_API_CHECKPOINT', 'DEVICE_COLLECT_API_RUN' ) ORDER BY table_name, column_id;