做数据库这些年,最近用 AI 做了几个工具
前言
做了这么多年数据库,我电脑里一直不缺各种东西:安装脚本、巡检脚本、常用命令、故障处理记录、学习笔记,还有写了一半没整理完的工具。
以前遇到一个问题,查完、解决、记下来,下次再遇到继续翻。后来写公众号、做网站,又开始想办法把这些东西整理出来,让自己以后能少查一点,也让别人碰到同样的问题时能直接拿去用。
最近一段时间用 Codex 比较多,很多以前停留在“有空做一下”的想法,终于可以真正动手了。于是陆陆续续有了 ORA100、百令册、安装小助手、行间、DBA 工作台,还有最近一直在折腾的观域。
有些已经用了很久,有些刚做出来,还有些仍在持续开发。
今天干脆放到一起,做个汇总,也给大家看看我最近到底折腾了些什么。
ORA100:这些年数据库内容的一个落脚点
网站地址:ora100.com,ORA100 算是这里面做得最久的一个。
虽然网址里面有 ora,但现在早就不只是 Oracle 了。这几年写的文章、课程、安装脚本、巡检工具、常用命令、面试题,慢慢都往这里集中。

目前网站里比较常用的几个部分:
- DBA 课程:目前有 28 门课程、2700 多篇实战内容,想系统学一个方向,可以直接按课程往下看。
- 安装脚本与巡检工具:做环境部署或者日常巡检时,可以直接找对应工具。
- AI 问答:碰到数据库问题,可以辅助查资料和整理排查思路。
- 面试题库:目前整理了 530 道题,也做了 AI 模拟面试。
- DBA100、技术博客和资料入口:平时查命令、找案例、翻以前写过的文章,基本都在这里。

我一直不太想把 ORA100 做成一个单纯堆文章的网站。
对我来说,更理想的状态是:想学东西的时候能找到课程,装数据库的时候有脚本,出问题的时候能查案例,忘了命令能直接搜,准备面试的时候也有地方练。

至于内容本身,我还是坚持以前那个习惯:命令是干什么的、结果怎么看、什么环境能用,尽量写清楚。
毕竟真正到了生产环境,只有一条命令,没有上下文,很多时候是不敢直接执行的。
百令册:把常用命令装进手机里
网站适合坐在电脑前慢慢查,但有些时候,我只是突然忘了一个命令。
比如 MySQL 怎么看当前连接,Oracle 怎么查表空间,PostgreSQL 怎么看锁。
这种需求再打开网站、搜索文章,其实有点重。
所以后来做了百令册:

它最开始的想法很简单,就是把之前做的数据库“100 条命令”系列真正整理成一个随手能查的东西。
后来又把 DBA 面试题加了进去,目前覆盖 Oracle、MySQL、PostgreSQL 和 SQL Server,可以按照数据库、难度和技术方向刷题,也可以直接搜关键词。

看完答案以后,可以标记已经掌握或者留着以后复习,我还加了每日练习、本周挑战和复习中心。
有时候面试准备并不一定非得抽几个小时集中背题。等车、吃饭或者临时空下来十分钟,拿手机刷几道,反而更容易坚持。
而且我觉得 DBA 面试有一个挺明显的问题:“我知道”和“我能把它讲清楚”,其实是两回事。
刷题的意义也不只是记答案,而是看看一个平时觉得自己很熟的东西,真让你解释的时候,到底能不能讲明白。
OracleShellInstall :装数据库这件事,我不想每次都从头来一遍
网站地址:,Oracle 安装应该是我这些年重复次数最多的工作之一。
操作系统配置、依赖包、用户、目录、内核参数、软件安装、建库、ASM、RAC……
第一次做的时候,每一步都要认真查,做了几十次以后,最大的感受就变成了:这些东西为什么还要一遍一遍手工做?
于是有了 OracleShellInstall 脚本:

现在它已经支持单机、ASM 和 RAC 部署,从操作系统配置、Oracle 软件安装到数据库创建都可以自动完成,也加入了补丁自动应用、参数检查和安装日志。
后来我又专门做了一个网站:

除了放文档、兼容列表和实际安装记录,还做了在线命令生成器,选择部署方式,把主机名、目录、实例名这些参数填进去,就可以生成对应的安装命令。
再后来觉得手机上也经常需要查和生成,于是又做了个小程序 “安装小助手”:


它更多是一个随身入口,临时确认参数、查安装笔记、提前整理主机信息的时候,不需要非得打开电脑。
当然,自动化安装并不等于闭着眼睛执行。
版本兼容性、磁盘规划、网络、主机资源这些东西,该确认的还是得确认。脚本解决的是那些已经确认过、但每次都要重复执行的工作,而不是替 DBA 做环境判断。
行间:写完文章以后,我不想再折腾半天排版
网站地址:hj.ora100.com,这个工具的来源也很简单,写技术文章真正花时间的,有时候还真不是“写”。
正文写完以后,还有 Markdown 排版、代码块、图片、封面、公众号格式。发完公众号,再发 CSDN、知乎、头条、掘金,又得来一遍。
次数多了以后,我就开始想:这部分能不能也做成一个工具?
于是有了行间:

现在写 Markdown 的时候,可以一边写一边看最终效果,代码高亮、表格、数学公式这些都支持,也可以切换手机和桌面预览。

我做了 7 套排版主题,代码块、表格和正文样式都可以继续调整。
文章写完以后,可以直接复制到公众号编辑器,也做了外链转脚注、全文格式化这些我自己经常要用的小工具。
再往后,我又把草稿、图床和多平台发布加了进去:

目前可以连接公众号、CSDN、知乎、头条、掘金等平台。我的目标其实很简单:文章写一次,后面的排版和发布尽量少折腾。
如果只是写 Markdown 和公众号排版,不注册也可以直接使用。
云端草稿、图床和多平台发布目前需要邀请码账号,关注公众号「DBA学习之路」,回复「行间」就可以获取邀请码。
DBA 工作台:我想给自己的日常工作做一个入口
做 DBA 时间长了以后,会发现真正散乱的不只是脚本。
脚本在一个地方,文档在一个地方,资产信息在 CMDB,任务又在另外一个系统。真出了问题,还得同时翻聊天记录、历史文档和以前写过的脚本。
所以我又做了一个 DBA 工作台:

现在里面主要放脚本库、知识库、工作任务、CMDB 资产和团队管理。
首页能看到脚本和文章数量、资产变化、正在处理的故障和当前任务,也能按数据库类型查看内容。
这个项目我没有想做得特别“大”,最开始就是想解决自己的一个问题:
每天打开一个地方,先知道今天有什么事,再从这里找到处理这件事需要的脚本、资料和资产。
少开几个系统,少翻几次文件夹,就已经有价值了。
观域:这一次,想做的不只是 DBA 工具
观域(ORBIT)是最近投入精力比较多的一个项目,也是我正在为公司开发的 IT 统一运维平台。
它和前面几个个人工具不太一样,前面的东西,大部分来源于我自己的 DBA 工作习惯;观域面对的是团队真正的运维流程。

服务器、数据库、应用、云资源都要纳入进来。
但我现在越来越觉得,统一运维平台真正难的并不是“把监控图表放到一个页面”。
更重要的是把几个问题串起来:
- 现在有哪些资产?
- 它们运行得怎么样?
- 出了什么问题?
- 谁在处理?
- 处理到了哪一步?
- 下次再发生的时候,能不能找到上一次留下来的东西?
所以观域现在还在持续开发,我也没有急着把功能一次性铺得特别大,而是尽量结合公司真实的值班、监控、故障处理和交接流程,一点点往里面加。
如果最后只是多了一个“大屏”,那意义其实不大。我更希望它最后真的能成为运维人员每天会打开的一个地方。
写在最后
把这些东西放到一起以后,我自己也有点意外。最开始其实没有什么完整的产品规划,很多东西只是来源于一句很简单的话:
“这个事情我已经做过很多遍了,能不能别再重复做了?”
查命令太散,于是有了百令册;Oracle 安装重复,于是有了 OracleShellInstall;文章排版和发布麻烦,于是有了行间;脚本、知识和任务到处都是,于是做了 DBA 工作台。
再到现在的观域,开始尝试把自己这些年做数据库、做运维积累下来的东西,往一个更完整的运维平台里放。
Codex 确实让我做这些东西的速度快了很多。以前有些想法,光想到要写前端、后端、接口、页面,可能就先放一边了。现在很多事情真的可以先做出来,再一点点改。
但做得越多,我反而越确定一件事:
AI 可以帮我写代码、改页面、补功能,但什么东西值得做、现场到底需要什么、生成出来的命令敢不敢在生产执行,最后还是得靠这些年真正干过的活来判断。
这也是我现在用 AI 做开发觉得最有意思的地方。
以前遇到一个问题,我习惯把解决过程记下来,后来开始写成文章。
现在,我又多了一个习惯:遇到那些已经做过很多遍的事情,我会先想想,能不能干脆把它做成一个工具。
- 点赞
- 收藏
- 关注作者
评论(0)