在实际工作中,自己的思路是这样的:

1、胜任基本岗位:

掌握Oracle的基本知识,可以应对日常工作(掌握资料库的基本结构,掌握资料库在Linux、Windows、AIX等不同操作系统下的安装配置、起停、Oracle资料库的备份、恢复、克隆、跨平台迁移、补丁)

2、进一步提升阶段:

2.1 在应对DBA岗位基本要求之后,需要掌握oracle性能优化工具(AWR/ASH/ADDM)这些报表。能够做到通过不同报表去预防及解决oracle的性能问题。

2.2 能够自己写一些监控脚本,方便快速监控资料库的各项性能指标。

2.3 熟悉操作系统的知识(如linux的vmstat、iostat等命令)、伺服器基本知识(CPU核数与SQL语句并发执行的关系、内存与SGA、PGA的关系、磁碟(机械盘、SSD、PCIE-flash卡)的区别)、光纤交换机性能、尾纤、存储等等知识,这些知识便于后期优化。

3、架构转变:

循序渐进,基本技能提升到一定程度之后,需要考虑资料库架构的稳定性,单实例虽然满足了最基本的业务需求,但是随著业务重要性的提升,每次资料库的异常宕机容易造成较大成本的损失。这个时候需要掌握Oracle资料库的高可用知识(RAC、 DATAGUARD、Oracle Golden Gate )

4、全局意识:

4.1 以上都掌握差不多了,随著掌握的资料库越来越多(如果超过10个),以前简单的亲力亲为的巡查资料库的性能等方式已经跟不上了,这个时候要考虑统一监控、统一报警的问题,做到事半功倍。

4.2 安全管控,作为DBA一定要有安全意识,资料库中的文件删除要时刻保持做好备份的想法(不能删库跑路的??)以及对资料库的登陆人员做好控制及审计

4.3 前瞻性,要对集团的资料库业务做好规划管理,保证所有的资料库尽量统一规划,统一设计,后期维护以及为资料库的自动化运维做好铺垫。

以上是自己实际工作中的一点体验,附上一张大牛们绘制的思维导图供参考:


要想成为一名优秀的DBA,除了资料库本身的技术能力要熟练之外,还要掌握一些其他的技术,比如操作系统、网路、虚拟化、存储...因为IT的多个领域之间都是有关系的,密不可分!

资料库技术:你要了解以下几方面内容

第一:sql语句及plsql语句

第二:体系架构(资料库的安装、卸载及升级;资料库的启动及关闭;监听器及tns的概念;文件、内存、进程的概念,及它们之间是如何协调工作的;表空间、段、区段、数据块的概念及关系;scn及检查点;表及高水位线;锁;用户及许可权;审计等)

第三:备份恢复(冷备份、热备份及RMAN备份)

第四:性能优化(执行计划、跟踪、10046事件、hang分析、索引、分区、sql优化、awr报表等性能分析工具、等待事件等)

第五:高可用性(dataguard、rac、goldengate)

希望我的回答对你有帮助!


这里,我从工作方向的角度提供一些参考建议:

从工作方向进行区分,可以分为部署实施DBA,备份恢复DBA,架构DBA,优化DBA,自动化运维DBA,高可用DBA,应该根据未来的方向去选择深入学习的内容。

即便是现在顶级的Oracle ACED也是分方向的,有的选择优化方向,有的选择备份恢复方向,很难有一个DBA能精通多个方向的知识,毕竟经历有限。你去问备份恢复方向的ACED部署实施方面的知识,没准你比他更牛逼。

在工作技能方面,比如有个DBA说他会装资料库,那么问题来了,Oracle 10g,11g,12c,18c的单机和RAC都会部署了吗,ASM和文件系统都会部署了吗,Linux,UNIX,Solaries,AIX操作系统都会部署了吗,资料库升级会做了吗,打补丁会做了吗,会安装GI,DG,OGG吗,几十个节点的集群装过吗,会处理安装ORACLE过程遇到的各种问题吗……

学习知识讲究深度和广度,各个方面都有所涉猎。如果工作去了一家有大牛镇场子的公司工作,那么恭喜你,你有很多前人的经验可以借鉴,这些可以让你水平提升一个台阶。如果你是唯一的DBA,那么也恭喜你,你有一个大平台供你展示自我,边学习边实践。但是,这里建议选择一个方向,深入研究,同时对其他方面的知识有所涉猎。

这里提一个非常重要的技巧,阅读官方文档的能力。官方文档是Oracle公司面向全球用户提供的最通俗、最全面、也最专业的资料,参照官方文档进行操作和实践,肯定不会出问题。(Oracle官方文档docs.oracle.com是非常不错的资料,里面可以看到2日DBA教程等,快速入门Oracle)

这里提一个身边的故事,我让同事去删除一套Oracle资料库,他在百度上找到一个教程,里面有一个命令「rm -rf /」,也不知是谁这么缺德,结果最后只能重装伺服器。所以有些资料,还是要从官方文档获取,至少不会出现把伺服器删掉的问题。

十年磨一剑,希望您能坚持不懈,一日学习一个知识点,练就绝世神功,笑傲Oracle DBA的技术江湖。


基本技能是在WINDOWS,LINUX,UNIX安装与卸载,再到复杂SQL语句查询,视图的编写

接下来还会PL/SQL函数,存储过程,游标,触发器,事务和回滚,锁等等,这些都是基本技能DBA的话,管理日志文件与控制文件,分配表空间,分配用户许可权,灾难和恢复都要熟练精通。

最后还要配合研发人员做资料库开发,java,mysql,sqlserver和oracle的对接也是少不了的必修课。

IT168文库有一个文集是很多Oracle DBA分享工作手记,http://wenku.it168.com/wenji/2728,希望能够对你有所帮助。


大数据时代,oracle很多查询跑不起来,现在nosql用的越来越多


推荐阅读:
相关文章