最近跟几个同行吃饭,话题绑不住就跑到 AI 上去了。
"你看那个 OpenClaw,直接对着数据库用自然语言查数据,SQL 都不用写了。" "Hermes Agent 能自动做故障诊断,比咱们反应还快。" "以后还需要 DBA 吗?"
饭桌上安静了几秒。
我理解这种焦虑,但想了想,觉得有必要聊聊我的真实看法。

先搞清楚 AI 目前能做什么
不夸大,也不贬低,看看这些 AI 工具实际在做的事情:
自然语言转 SQL(Text-to-SQL)
OpenClaw、ChatGPT、各种大模型都能做。你说"查一下上个月销售额最高的 10 个产品",它帮你生成 SQL。
这确实有用,特别是对不会 SQL 的业务人员。但说实话,写 SQL 从来不是 DBA 的核心工作。DBA 的价值不在于写出 SELECT * FROM orders WHERE ...,而在于这条 SQL 跑了 30 秒时,你知道该怎么把它优化到 0.3 秒。
AI 能生成 SQL,但它不理解你的执行计划为什么选了全表扫描而不是索引范围扫描。至少目前不能。
智能监控和告警
Hermes Agent 这类工具能实时监控数据库指标,发现异常自动告警,甚至给出初步的诊断建议。
这个方向确实在蚕食一部分传统 DBA 的工作——以前你每天上班第一件事是登上去看看各项指标正不正常,现在工具帮你盯着,有问题才通知你。
但"盯着"和"解决"是两回事。告警说"表空间使用率 95%",然后呢?
是加数据文件?还是清理历史数据?还是分区表没做好导致数据膨胀?这个判断需要了解业务、了解架构、了解历史——这些上下文信息 AI 目前拿不到。
自动化运维
一些平台在尝试"自愈"——发现问题后自动执行修复操作。比如表空间快满了自动扩容,连接数超标自动清理空闲会话。
这类自动化对于简单、标准化、风险低的操作确实有效。但你敢让 AI 自动 switchover 你的 DataGuard 吗?敢让它自动做 RAC 的 rolling upgrade 吗?
生产环境里但凡涉及到数据安全的操作,短期内都不会完全交给自动化。因为出错的代价太高了。
AI 替代不了的是什么
想清楚这个问题,你就不焦虑了。
1. 架构设计能力
一套新系统要上线,用单实例还是 RAC?要不要 DataGuard?存储用 ASM 还是文件系统?SGA 给多少?归档模式怎么配?
这些决策需要综合考虑业务规模、增长预期、预算、团队能力、合规要求……不是一个模型能回答的。
2. 深度故障排查
AI 能识别已知模式的故障——日志里出现某个 ORA- 错误,它比人搜索 MOS 更快。
但很多生产故障不是"已知模式"。可能是两个看似无关的参数修改叠加在一起导致的,可能是存储层面的延迟间歇性飙升影响了数据库,可能是某个月度批处理任务的执行计划突然变了。
排查这类问题需要的不是搜索能力,而是系统性思维和经验直觉——"这个现象和上次那个案例很像,先查一下是不是那个原因"。这种能力是几百次故障处理积累出来的,没有捷径。
3. 跨系统协调
数据库不是孤岛。一个性能问题可能涉及应用层的连接池配置、中间件的超时设置、网络的延迟、存储的 IO 调度策略。DBA 需要和开发、网络、存储团队协作,找到真正的瓶颈。
AI 看不到这个全局。
4. 变更管理和风险评估
"这个索引能不能删?""这个参数改了会影响什么?""升级从 19c 到 23ai 有哪些已知问题?"
这些判断需要对你的环境有深入了解——哪些 SQL 依赖这个索引、哪些应用对延迟敏感、历史上改过这个参数出过什么问题。通用的 AI 模型不具备这些私有知识。
与其焦虑,不如思考怎么利用 AI
我的判断是:AI 不会替代 DBA,但会淘汰不学习的 DBA。
未来的 DBA 工作模式大概率是这样的:
重复性工作交给工具和 AI:安装部署、日常巡检、标准化的备份恢复、常规的 SQL 优化建议 DBA 聚焦高价值工作:架构设计、性能调优的深水区、复杂故障排查、容量规划、迁移方案设计
这意味着 DBA 的门槛其实在提高——以前会装库、会写 SQL 就能入行,以后这些基础活 AI 能干。你需要比 AI 懂得更深,才有不可替代性。
具体怎么做
说几个可操作的方向:
1. 深挖 Oracle 内部原理
不要只会"怎么做",要理解"为什么这么做"。当你能看懂 10046 trace、能分析 ASH 报告、能理解 CBO 的成本计算逻辑时,你就超过了 AI 目前的能力边界。
2. 积累真实环境的故障处理经验
模拟环境做不出来的压力,只有在生产环境里才能碰到。每次故障都是学习机会,记录下来,形成自己的知识库。
3. 拓展周边技术栈
只懂 Oracle 已经不够了。Linux 底层、存储、网络、容器化、云平台……你覆盖的范围越广,在故障排查时的视野就越开阔。
4. 善用工具提效,把时间花在刀刃上
既然重复性工作可以自动化,那就大方地交给工具。省下来的时间去做更有价值的事。
说一个我自己的做法。
安装部署这种标准化工作,我现在全部用脚本完成(https://ora100.com/shell-install),一台服务器半小时搞定,不在这上面浪费时间。
日常巡检用自动化工具生成报告(https://ora100.com/oracheck-report),把精力放在分析结果和制定优化方案上,而不是花 3 小时手写报告。
原理层面的学习,我推荐系统化地过一遍核心专题——不用每个方向都精通,但至少每个方向的基本架构和常见问题要了解。ora100.com 的实战课程(https://ora100.com/articles)覆盖了 Oracle 运维的 10 大专题,每篇都基于真实环境操作,适合用来系统化补课。
工具让你更高效,知识让你不可替代。 两者都需要,但优先级要分清。
Oracle 一键安装脚本:https://ora100.com/shell-installOracle 巡检报告生成:https://ora100.com/oracheck-report100 天实战课程:https://ora100.com/articles
夜雨聆风