我由衷的感慨,信息化浪潮时代,技术迭代更新的速度实在太快。十年前,DBA还一度被视为越老越吃香的职业,尤其是数据库领域的霸主Oracle的DBA更是让很多人趋之如骛。
但随着Oracle自身技术的不断提升和完善,尤其是号称自治数据库的19c发行后,人工操作不断被削弱,Oracle DBA的可替代性越来越强,发展路线也越来越窄。
其它数据库也风起云涌、去IOE、云化以及AI的来袭,Oracle DBA该如何重塑竞争力、突破重围谋求更广阔的发展?
希望本文能为Oracle DBA的前行航路提供一些真实的浮标。
本文核心内容思维导图:
1/6
入门篇
你眼中的DBA是什么样子?
DBA在IT行业的角色可能并不是很光鲜,但就是有一群人在默默奉献着。
他们既要有过硬的数据库知识,包括管理、设计、优化等等又要能够协助开发提供底线防控;既要能够实施监控系统运行并提供合理建议又要具备应急能力;既要…又要….
有时候你觉得DBA很忙有时候又觉得他们很闲,他们忙的时候经常通宵搞升级,他们闲的时候,嗯…系统运行良好。
每个人眼中都有自己理解的DBA的样子。
随着云计算的普及,DBA在面临新的技术需求、新的技术生态圈、新的架构、新的发展模式、新的组织形态、新的竞争领域、新的困难还有随着而来的新机会一直在带来新的挑战和机遇。时代一直在发展,不论是个人还是组织都处于逆水行舟不进则退的境地中。
所以随时学习、及时学习、处处学习、不断学习、坚持学习,保证自身的价值与竞争力,不断接受新思想、掌握新技能,不断突破自己。
不管你眼中的DBA是什么样子,只要你坚持努力,你都会最终成为你想成为的样子。
云计算的普及导致了Oracle数据库的管理集中化,在这种趋势下,Oracle DBA的从业前景如何?
2013年,《Oracle核心技术》的作者Jonathan Lewis曾发表过此类观点:认为5年后传统DBA的数量将会大大减少,小规模企业将不再使用DBA。今天看来,小规模企业将不再使用DBA的预测是大致对的,但DBA的数量并没有减少。相反,DBA的需求量从还很多很多,随便某个招聘网站都有大量的DBA岗位在招人。
这是为什么呢?从职业技能来看,今天的DBA跟十年前要求掌握的东西不太一样了。再看招聘DBA的技能要求,会发现越来越重视学习能力、综合能力,而不只是某项或某几项具体的技能。有时候,具体技能掌握起来真的很容易。
都说男怕入错行女怕嫁错郎,那么今天还该不该进入DBA这个行业呢?
行业是否辛苦如人饮水冷暖自知,不同的公司有不同的要求。不管你是在运营商,还是银行或保险,电商就更不用说了,大家都挺辛苦。但是如果没什么更好的选择,可以说,进入DBA这个行当,至少是养活自己的一个有效途径。
至于这个行业的前景如何?
数据越来越成为企业的核心资产,云计算和数据集中化管理都是趋势,对于DBA来说,需要接触的环境会有一个量级的提升,对工作的精细程度也会有要求。DBA这个职业任重道远,但前途我认为还是光明的。毕竟每个职业都有围城之困,我只能说没有主见,就没有远见。
未来的DBA将会更专业化,入行的门槛更高,价值也会更大。
想快速入门Oracle DBA,自学还是参加培训班?
不管采用哪种方式,始终记得勤能补拙是良训,一分辛苦一分才。
2/6
进阶篇
有哪些值得推荐的快速入门类书籍?
- 入门:《Oracle宝典系列》
- 体系结构:Thomas Kyte《深入数据库体系结构》
- 高可用:陈吉平《构建Oracle高可用环境》
- 高性能:崔华《基于Oracle的sql优化》
市面上关于Oracle DBA的书籍汗牛充栋,参差不齐,但多数内容属于拾人牙慧。
要学会看书,不能走马观花,一定要坚持看下去,要领悟其中的原理。看完后,也不能束之高阁,一定要再次看,如果看第二遍有不同的收获,那就说明你真的掌握了知识。《基于Oracle的sql优化》这本书笔者曾反反复复阅读过五遍,每一遍都有新的理解。
最后,必须明确的思想是:
- 任何书都有局限性,没有书可以让你快速入门做个DBA,但一定有一套体系可以让你成为一个相对合格的DBA。
- 最好的书,其实是官方文档,特别是概念和管理员手册这两本。理论与实践结合,成长自然是迅速的。
- 如何可以,找一个大的运维团队,他们一定有相应的运维规范、各种SOP、做事的套路。
对于初级Oracle DBA来说,有哪些常见的坑绝对不能踩?
DB生产环境中所有没有被授权的变更动作,都坚决不能做!
绝对不能在生产库上做任何演练,哪怕是一条小小的SQL语句,也必须要在开发库上执行,确保万无一失才能部署到生产库。
要对数据库保持一颗敬畏之心,并养成良好的运维操作习惯。对常规的操作要烂熟于心并理解其内部原理,不要把一些非常规的操作手段当“秘籍”。
作为一个管数据的人,最必须重视的就是数据安全,敏感数据不能乱动,否则后患无穷。
3/6
内修篇
作为Oracle DBA,各阶段的标准分别是什么?如何从初级成长到高级?
思维导图:
不管你现在处于哪一级,持续成长的道路漫漫其修远兮,需要上下求索。
对于中级Oracle DBA来说,怎样才能避免陷入重复性工作,花更多时间和精力钻研技术得以提升?
思维导图
对于高级Oracle DBA来说,当技术和经验都已触天花板,除了转做管理,还能怎么寻求技术上的突破?
天花板是一定存在的,是否能突破有时并不取决于个人努力程度。
突破口:
- 将Oracle的经验复制到其它数据库上,扩展技术领域;
- 结合实际业务场景,寻找数据库与业务的最佳实践;
- 在专业领域内,不断积累提升;
- 扩展工作职能,增加例如DevOps、大数据等相关领域学习。
转管理的突破就是考虑一些大局观的突破,尽量让自己的知识宽一点,尽量往业务靠,往整个应用系统的架构靠。
4/6
转型篇
面对云时代的职业危机,Oracle DBA的出路在哪里?该往哪些方向转型?
以下几个主要转型方向:
- 深研技术,向数据库技术专家方向发展;
- 运维与开发并重,由传统运维DBA逐步转型为开发DBA;
- 泛化数据库概念,做数据管理者(DA);
- 由传统数据库运维,转向更宽广的运维开发(DevOps)方向;
- 将业务与数据库相结合,做业务领域内的专家;
- 转型做技术管理者。
Oracle DBA如何向架构师转型?
架构师,对人员的技术能力素质有着更宽泛的要求。
- 除了对数据库领域知识的掌握以外,还需要对整个IT技术栈有一定认识。特别是其核心能力,是对复杂问题的分析、判断能力,化繁为简,通过技术手段加以解决的能力。
- 考虑转型,是需要有个相对较长的再学习过程。
从技术岗转向管理岗,该如何调整思维?应具备哪些能力?
从技术岗转向管理岗,首先需要转变的就是管理对象的差异。
对个人的软性技能要求更高,比如统筹规划能力、时间管理能力、人员激励能力等。这些都是需要在转型中,不断学习提高的。
处于管理岗上,如何在不丢掉技术的同时提升管理能力?
在管理岗上做技术,需要摒弃掉过于追求技术细节的问题,学会抓大放小,抓住问题的技术本质。同时,需要保持对技术足够的敏感度和前瞻性。至于管理能力,则需要在工作中不断积累提高。
5/6
跳槽篇
何为恰当的跳槽时机?
每个人选择在一家公司里工作,都是找到了公司与个人利益的一个平衡点。比较常见的如:职场新人通过公司平台快速提升工作技能,公司则利用新人初期薪资较低,降低整体运营成本。
当这种平衡被打破,例如公司不能提供你所希望的上升舞台,就可以考虑跳槽。当然,要避免几个问题,比如频繁跳槽(不满一年就跳槽)、为了蝇头小利而跳槽等。
怎么跳槽更有助于升职涨薪?
- 精准的个人定位,避免盲目跳槽;
- 寻找上升期的工作,可以快速积累经验,为日后打下基础;
- 知名大公司,可以学到领域内比较领先的技术和管理,等再次跳槽往往在职位和薪资上会有较大提升。
跳槽后对自身工作内容不甚满意,怎么办?
要明确不满意的原因,是对职位定位不准确?还是对个人能力评估有误?是对所在公司、团队环境不适应?还是无法在新团队脱颖而出?针对不同情况,再考虑后续规划。
强调一点,没有完美的公司和职位,不同公司都会有各自的问题,要学会适应不同的环境,在各种环境下,都能够快速自我成长。
6/6
杂谈篇
作为DBA,如何平衡工作和生活?
想做到工作归工作、生活归生活就要做到这几点:
- DBA有人员互备,轮流值班;
- 良好的预警监控系统,能把大部分问题消灭在萌芽阶段;
- 良好的工作流程规范。
AI时代,机器将代替人类维护和优化数据库,DBA有可能面临大量下岗的风险吗?
这是一个不可阻挡的趋势,所有DBA都要有危机意识,尽量多理解业务,站在更高的层面主动往具备输出业务模型的能力去靠拢。比如能提出数据库优化模型、能提炼出运维的特征项等。这样的DBA才能顺应潮流,不易被淘汰。
另外在优化方面,AI主要是从优化方法论本身来进行学习优化,还很难去理解业务层面的知识,如果DBA对业务比较熟悉,SQL改写优化往往是彻底颠覆性的写法,这是AI难以做到的。
所以DBA如果能做到:
- 对数据库优化和管理知识有非常深刻的理解,具备梳理出模型的能力;
- 对数据库背后的业务场景非常熟悉,能直击优化本质。
那就可以高枕无忧了。
拥抱未来,努力使自己成为站在未来的人。
作为大数据时代下管控企业核心资产的DBA,更是应该提前武装好自己,在挑战面前主动出击,在机遇面前学会抉择。
更多内容请关注微信公众号:数据与人