
配图1OpenClaw巡检Oracle示意图我是 DBA每天第一件事就是看数据库有没有问题。以前打开终端连数据库跑一堆 SQL看结果记录日志。现在睡醒看眼手机OpenClaw 已经帮我巡检完了有问题直接微信通知。今天教你怎么配10 分钟搞定。巡检哪些东西配图2巡检清单我的日常巡检清单系统层面- 服务器 CPU、内存、磁盘使用率 - 网络连接状态 - 系统日志有无报错数据库层面- 表空间使用率超过 85% 告警 - 慢 SQL执行时间 5 秒 - 锁等待超过 10 秒 - 无效对象 - 作业失败 - 备份状态重点监控- SYSTEM 表空间容易满 - SYSAUX 表空间容易满 - Undo 表空间容易满 - 临时表空间这些检查OpenClaw 都能自动跑。第一步安装Oracle技能配图3技能安装OpenClaw 本身不懂 Oracle需要装个”技能”。openclaw skills search oracle看到输出Skills matching oracle:oracle-db-skillsOracle Database 巡检、监控、AWR分析Author: openclawDownloads: 1.2kRating: ⭐⭐⭐⭐⭐oracle-health-checkOracle 健康检查脚本Author: communityDownloads: 856Rating: ⭐⭐⭐⭐我用的第一个openclaw skills install oracle-db-skills等几秒钟装好了。验证openclaw skills list看到 oracle-db-skills 就对了。第二步配置数据库连接配图4连接配置在 OpenClaw 工作目录创建配置文件cd~/.openclaw/workspacecatoracle_config.json EOF{databases: {prod: {host: 192.168.1.100,port: 1521,service: ORCL,user: system,password: 你的密码,alias: 生产库},test: {host: 192.168.1.101,port: 1521,service: TEST,user: system,password: 你的密码,alias: 测试库}},check_items: [tablespace,slow_sql,locks,invalid_objects,backup_status],thresholds: {tablespace_warning: 85,tablespace_critical: 95,slow_sql_seconds: 5,lock_wait_seconds: 10}}EOF安全建议生产环境别明文写密码用环境变量exportORACLE_PASSWORD你的密码然后在配置里用 ${ORACLE_PASSWORD} 引用。第三步手动测试一下配图5测试截图先手动跑一下看看能不能通openclaw chat帮我检查生产库的表空间使用率如果配置正确你会看到 生产库 (ORCL) 表空间使用率表空间名称 已用(GB) 总量(GB) 使用率 状态─────────────────────────────────────────────────SYSTEM 8.5 10.0 85% ⚠️ 警告SYSAUX 5.2 8.0 65% ✅ 正常USERS 2.1 50.0 4% ✅ 正常UNDOTBS1 3.8 5.0 76% ✅ 正常TEMP 0.5 20.0 3% ✅ 正常⚠️ 发现 1 个警告- SYSTEM 表空间使用率 85%建议扩容 建议ALTER TABLESPACE SYSTEM ADD DATAFILE /oradata/system02.dbf SIZE 2G;看到结果了完美可以继续。第四步配置定时任务配图6cron配置每天早上 9 点自动巡检openclaw cron add\--nameOracle日报\--schedule0 9 * * *\--message检查生产库表空间、慢SQL、锁等待\--notifywechat参数说明 - --name任务名称 - --schedulecron 表达式每天 9:00 - --message巡检内容 - --notify通知方式微信查看任务openclaw cron list输出任务列表ID: oracle-daily名称: Oracle日报计划: 每天 09:00状态: ✅ 启用通知: 微信下次运行: 明天 09:00第五步配置告警通知配图7通知配置有问题要能通知到你。微信通知推荐openclaw notify add wechat\--webhookhttps://qyapi.weixin.qq.com/cgi-bin/webhook/send?key你的key钉钉通知openclaw notify add dingtalk\--webhookhttps://oapi.dingtalk.com/robot/send?access_token你的token邮件通知openclaw notify add email\--smtpsmtp.qq.com:587\--user你的邮箱\--password授权码\--to接收邮箱测试一下openclaw notify test wechat收到消息就对了。巡检结果示例配图8微信通知每天早上 9 点你会收到类似这样的微信消息 Oracle 巡检报告 [生产库]━━━━━━━━━━━━━━━━━━━ 表空间状态✅ SYSAUX: 65%⚠️ SYSTEM: 85% (建议扩容)✅ USERS: 4%✅ UNDOTBS1: 76% 慢SQL (TOP 3)1. [4.2s] SELECT * FROM orders WHERE...2. [3.8s] UPDATE inventory SET...3. [2.1s] DELETE FROM logs WHERE... 锁等待✅ 无异常❌ 无效对象✅ 无异常 备份状态✅ 最近备份: 今天 02:00✅ 备份大小: 45.2 GB━━━━━━━━━━━━━━━━━━━巡检时间: 2025-03-20 09:00:15耗时: 3.2 秒进阶自定义巡检脚本配图9自定义脚本官方技能不满足自己写一个。在 ~/.openclaw/workspace/scripts/ 下创建 my_check.sh#!/bin/bash# 自定义 Oracle 巡检脚本# 连接数据库sqlplus-ssystem/${ORACLE_PASSWORD}//192.168.1.100:1521/ORCL EOF-- 检查等待事件SELECT event, count(*)GROUP BY eventORDER BY 2 DESC;FROM v\$session_waitWHERE wait_class ! Idle-- 检查表空间碎片SELECT tablespace_name,ROUND(SUM(bytes)/1024/1024) free_mbFROM dba_free_spaceGROUP BY tablespace_nameORDER BY 2;-- 检查最近错误SELECT * FROM dba_errorsWHERE created SYSDATE - 1;EOF然后让 OpenClaw 调用openclaw chat运行 my_check.sh 脚本把结果发给我我的真实配置配图10完整配置我是这么配的每天9:00- 表空间、慢SQL、锁等待、备份状态每天12:00- 表空间使用率SYSTEM/SYSAUX 重点监控每周一9:00- AWR 报告分析每月1号- 表空间增长趋势分析配置文件 cron_jobs.json{jobs:[{name:Oracle日报,schedule:0 9 * * *,message:检查生产库表空间、慢SQL、锁等待、备份状态,notify:[wechat]},{name:表空间重点监控,schedule:0 12 * * *,message:检查SYSTEM、SYSAUX表空间使用率,notify:[wechat],threshold:85},{name:周度AWR分析,schedule:0 9 * * 1,message:生成上周AWR报告并发送到邮箱,notify:[email]}]}导入配置openclaw cron import cron_jobs.json常见问题配图11问题解决连不上数据库检查 1. 网络是否通ping 192.168.1.100 2. 端口是否开telnet 192.168.1.100 1521 3. 用户名密码是否正确 4. Oracle 客户端是否安装巡检报错看日志openclaw logs--tail100通知收不到检查 webhook 是否正确测试命令openclaw notify test wechat想要更多检查项自己写脚本放在 scripts/ 目录下。总结配图12流程图整个流程1. 安装技能openclaw skills install oracle-db-skills↓2. 配置数据库连接创建 oracle_config.json↓3. 测试连接openclaw chat 检查表空间↓4. 配置定时任务openclaw cron add --name 日报 --schedule 0 9 * * *↓5. 配置通知openclaw notify add wechat --webhook ...↓6. 等待每天 9 点自动收报告配置一次永久受益。以前我要花 20 分钟做巡检现在一句话的事。DBA的价值不应该花在重复劳动上。让 AI 干机械的活人做决策的事。有问题评论区问我看到都会回。下篇我写怎么用 OpenClaw 自动处理表空间告警实现自动扩容。