幸运的是,这对我来说不是当前的问题,因为在我目前的工作场所,我们团队中的 DBA 知识非常丰富。然而,在小型开发团队中,根据我的经验,其中一名团队被提名为事实上的 DBA 并不少见。对于一个小团队来说,全职 DBA 的工作量很少(和/或有 DBA,但生产 DBA 不想参与支持开发/测试环境),因此需要测试人员或程序员担任那个角色,我看到人们突然着陆说“嘿,乔要走了,所以你现在是我们的新 DBA。不,我们没有培训预算,你必须自学。玩得开心! “
对于突然发现自己必须跟上开发 DBA 角色的人,您可以推荐哪些资源?他们应该首先解决哪些基本任务,只是为了让事情顺利进行?
如果你打算成为“DBA”(兼职或全职),你应该在前任 DBA 离开之前尽可能多地学习。我认为处于这种情况的人应该与任何了解数据库(数据流、设计选择、常见任务等)的人交谈,即使有文档,也很难尝试学习数据库。
此外,这个人应该有类似 dba 的个人资料,如果你不喜欢它,你就会做一些不会带来兴奋的事情,并且你不会对你的工作感到满意。
恕我直言,生产 DBA 忽视开发环境是错误的。这是出于两个原因。首先,如果 Dev 宕机,开发人员、测试人员等将无法工作——这会给公司造成损失,可能没有 Prod 宕机的成本那么多,但这一切都很重要,尤其是现在。
其次,如果 Dev 中的不良做法影响到 Prod,他们就是在为自己背锅——例如使用动态文字 SQL 而不是绑定变量。在开发过程中尽早发现这一点,越接近产品,解决问题的难度和成本就会成倍增加。
所以我对你的问题的回答是,兼职/开发 DBA 的理想学习资源是你组织中的全职 Prod DBA——你只需要向他们展示他们给你的任何培训对你来说都是双赢的,他们和整个组织。如果他们仍然拒绝,则将其上报给您的经理。请记住,在获得报酬方面,每个人都在同一个团队中。
如果您处于这种情况,您应该做的第一件事就是确保您知道数据库产品的文档在哪里并开始阅读它。最初的重点应该放在备份和恢复上,因为如果你没有做到这一点,那么 DBA 的其他职责就无关紧要了。
例如,如果数据库是 Oracle,请从http://tahiti.oracle.com/找到适合您所在版本的文档站点。一个好的起点是Conepts指南,然后可能是2 天 DBA指南,然后是管理员指南。
我会推荐 Thomas LaRock 的书http://dbasurvivor.com/。关于成为 DBA 和最重要内容的重要资源。
我还建议http://sqlpass.org/找到您当地的分会并参与。他们还提供了很好的学习资源,例如来自 PASS 峰会的视频演示以及 24 小时的 PASS (#24hop)。
还有许多 SQL Saturdays ( http://sqlsaturday.com/ ) 在全国和世界各地举行,几乎每个周末都有。找一个足够近的去。他们要么是免费的,要么最多 10 美元就能让你吃午饭。
推特是另一个很好的来源。查看#sqlhelp 标记,但不要将其与垃圾邮件一起滥用。那里有很多人愿意提供帮助。
那里有这么多资源。只要看,你就会发现。
这是一篇关于初学者 DBA 以及他们应该开始学习的内容的好文章。它有点过时,但概念仍然存在。
http://www.sql-server-performance.com/articles/dba/self_taught_dba_p1.aspx