数据库 频道

工具是DBA思想的延伸

有句老话说“磨刀不误砍柴工”,这句话对于DBA来说,也是十分有意义的。很多DBA都会把大多数的时间用在学习数据库的技术方面,而很少去关注其他方面的东西,比如操作系统、网络、存储、主机等,理由是数据库的知识已经学不过来了,哪还有精力去学这些东西。实际上,作为DBA应该了解一些数据库之外的知识,特别是中间件、存储、网络。

还有些DBA对工具不屑一顾,甚至有些DBA认为高手都是不使用工具,直接敲命令的人。其实我觉的高手往往是能够合理利用工具的人,而不是不使用工具的人。多年前在一个饭局上,一个客户的DBA向其他人介绍老白,说这哥们可以不借助第三方工具,仅仅依靠AWR报告和SQLPLUS就能完成性能分析,而我就必须依赖于I3这样的分析工具才能够完成。

这句话其实包含了很丰富的含义,首先,老白进行性能分析也是需要依赖于工具的,AWR报告和SQLPLUS都是Oracle自带的工具。而那个哥们和老白的区别是,他无法直接根据AWR报告进行分析,必须依赖于I3的工具。这也说明了,那个哥们依赖于I3工具,也能够进行类似老白的性能分析工作。在这个例子中,工具提升了DBA的能力。

工具是DBA的最好的助手,不过不是任何工具都适合每个DBA,工具应该成为辅助DBA工作最好的帮手,而DBA也应该对自己使用的工具有深入的了解。因此说每个DBA应该建立一套自己顺手的工具集,而不应该随意使用工具。再好的工具,如果你不熟悉,那么对你来说也可能不如一套更为简单的,你自己熟悉的工具。让工具成为你得心印手的帮手,需要一个较长时间的磨合过程。

我在二十多年的DBA工作中,也经历了依赖工具、放弃工具、再到组建自己的日常工具集这个过程。最早期使用Oracle数据库的时候,Oracle自己的工具很少,也很难用。不过由于对Oracle的很多命令都不熟悉,因此工具就变得十分重要了,老白那时候通过一个海外的朋友找到了一套因巴卡迪诺的数据库管理工具,这个工具给了老白很大的帮助。再后来就有了TOAD,TOAD成为老白的首选工具。随着对数据库的了解的深入,老白发现工具的作用十分有限,而脚本往往可以弥补工具的不足。于是这个阶段,脚本的积累成了我最主要的工作,而TOAD之类的工具反而用的越来越少了。1998年到2004年这段时间里,老白积累了大量的脚本,也鼓励公司的年轻人多积累一些脚本,建立自己的脚本集。

随着DBA工作的日益深入,脚本的不足也慢慢暴露出来了,当你拥有数百个脚本的时候,有时候要找到一个合适的脚本就需要花费很长的时间。而随着Oracle数据库进入9i时代,OEM的出现令老白眼前一亮,其强大的功能,确实可以帮助DBA进行一些十分复杂的,使用脚本很难进行的分析操作。在一个优化项目中,老白通过OEM的SQL ANALYZER 和EXPERT分析SQL,大大提高了手工分析的效率。SQL ANALYZER的虚拟索引工具可以帮助DBA分析创建某个索引可能会带来的影响,这种分析在没有工具时是很难进行的。OEM的TUNNING PACK在那次优化项目中给老白带来了很愉快的感受,于是老白对工具进行了重新的认识,随着数据库的日益复杂,DBA要做的工作也越来越繁杂,仅仅依靠脚本进行工作,效率就太低下了。OEM这样好的工具的引入可以大大减轻DBA分析工作的难度。

虽然OEM目前还是我最喜欢使用的Oracle运维工具之一,不过OEM是一个十分庞大的工具,而且使用门槛有点高,并不适合所有类型的DBA。随着AI时代的来临,AI工具必然会成为DBA更强大的助手。最近我一直在关注deepseek,deepseek-r1的出现让AI应用走入普通人的生活的门槛大大降低了。给自己整一个AI全家桶来帮助我们提高工作效率还是挺爽的。我这台电脑上有一块4060显卡,通过ollama加载了deepseek-r1的7b、8b、14b本地模型,安装了一个OfficeAI插件,正在写文章的时候随时可以利用AI的能力来帮我提高效率了。

在浏览器中我安装了一个Page Assist插件,就可以利用本地的deepseek-r1模型来帮我做一些分析工作了。

让工具去帮你提高效率,做一些十分基础的工作,而不是完全依赖工具,让工具代替你思考,会让你的单位工作时间里能做更多的事情,工具只会让你的能力提升得更快,而不会让你的技术产生退化。

0