Oracle学习路线

【前言】

 

经常有一些项目朋友向我咨询,如果打算进入DBA这一行或者想更深入的学习一些数据库的知识,应该怎样入门,可以通过怎样一个路线图来进行学习。

其实关于这个问题,网上已经有了很多内容可以参考。但是既然这么多朋友咨询,我打算先整理一下Oracle的学习计划发出来(后面有时间整理一下MySQL)。

参考一下我走过的路,我的总结与经验,也许大家能够有些许的收获,如果能够有所借鉴那是最好的。

 

【学习必读】

 

学习Oracle首先要了解Oracle是什么,Oracle是个软件,这个软件很大,光安装包就要两个多G。甚至比操作系统都要大。

Oracle用了做什么呢,用来管理一些数据,而通常情况下这些数据是不允许出问题的。

我们不光要会使用这个软件,还要能够管理数据的同时还有兼顾性能。所以对维护Oracle的人要求是很高的。

 

目前来说有兴趣学习Oracle的主要有两类人:

第一类人是工作中不可避免的会接触到Oracle的人,比如说一些项目人员、开发人员、测试人员等。这些人把Oracle当成一个软件使用,会用就ok,出什么问题网上搜一下资料,解决了万事大吉,不会去深究原因。

还有一类人事是专职DBA,可以说Oracle技能是吃饭的家伙,他们致力于把Oracle研究透彻,磨炼自身具备理论结合实践的能力。

其实不管是专职的还是非专职的,就我接触到的情况而言,很多DBA平时维护Oracle看起来没什么问题,但其实没有很好的理论支撑,知其然而不知其所以然,解释一个简单的问题就能问倒一大部分的人。

比如说:Oracle的物理存储架构列出来,分析当前业务架构优缺点?Oracle内部工作原理是什么样的?目前有没有问题,有没有关注日志?关注了哪些日志?

而且很多公司招聘面试的时候,考验的也是背后的原理居多,基本上没有机试。面试官问一个问题,即便你会解决但就是说不出原理,那么你肯定要不了高薪。

持之以恒+好的学习方法+好的学习内容=升职加薪。

总之不管是专业还是非专业,只要工作中需要用到或者说有兴趣转行的,多了解一下有好处。

既然Oracle很重要,那么学习起来肯定是有一些门槛的,也是要下一些功夫的。我尽量把能想到的有关Oracle的内部原理细细的讲一下,记住只是会用Oracle远远不够!

 

言归正传

Oracle学习的时候一定要注意Oracle原理的研究,有兴趣的同学可以阅读官方文档,这是第一手资料。

 

1、学习前提

本课程不是初级阶段的入门学习,最好事先有一些基础。熟悉Linux操作系统,存储等,包括管理和操作原理。

 

2、学习方法

操作Oracle就不可避免的要是用Oracle听得懂的语言,那么sql就显得尤为重要。作为Oracle的基本功,需要对sql和plsql比较熟悉,比如涉及一些sql里的多表关联,子查询,常用函数等。

不要以为这是开发人员的工作,同时也是dba的工作。而且对DBA要求更高,不但要求能看懂,还要能找出问题,为什么?因为将来你要改写有问题的sql,提升性能。

这里没有太多的话可说,就是大量动手做。

 

3、Oracle管理(体系结构)重点

这一部分是Oracle的学习过程中的重中之重,是一切核心所在,也是后面要讲的核心内容。

会深入剖析Oracle体系结构,包括Oracle的存储管理、对象管理、内存和进程、undo管理、初始化参数、数据字典视图、安全、latch和lock、权限和角色、资源调度、闪回,日志原理等。

这些东西有一定的深度,学习这一块的知识,一个重点要求是知根知底,只关注表面的东西没有任何意义。

水是有源的,树是有根的,不知道原理的日子是火热水深的。

对这块知识的掌握程度直接决定了以后的管理数据库,包括备份恢复,性能优化,故障处理等。

要成为一个两万以上薪资的DBA,这一套是必须学会的。

 

4、备份恢复

 

这一部分需要对Oracle的日志原理有比较深刻的理解。

制定正确的备份计划和实施方案(原理),实施备份,对各种损坏进行恢复。

好的备份策略比损坏修改更重要。

 

5、优化

 

性能没有最好,只有更好。性能优化是一条走不到尽头的路,这一块的内容也是Oracle的另一座高山。

这一部分需要掌握一些Oracle的优化方面的基础知识,例如深入分析索引原理、分区、等待事件、时间统计模型、动态性能视图、操作系统的一些性能优化和查看命令。

最关键的:Oracle动态性能视图,Oracle报告,执行计划,这一部分需要不断积累经验。

优化不是学出来的,是练出来的。包括但不限于高并发系统,高负载系统、大数据量系统下的实战演练。

 

6、SQL优化

 

这部分可以包含在优化的大模块里,不过SQL优化关注的更细致,专注于SQL层面的性能。

基本上是工作中每天都要做的事情,需要持之以恒的研究,最少每周应该优化几条sql,最消耗资源的3条sql优化了,那么你的系统就会跑的很快了。

 

7、RAC

设计高性能RAC系统,分析RAC性能问题。

 

8、DG

设计业务容灾机制,分析DG问题。

 

9、实战

规划、搭建、测试、排错、优化、分析

最后提醒一句:操作数据库,安全第一!安全第一!!安全第一!!!

 

 

【温馨寄语】

 

看完上面的话可能有点迷糊,不过不要紧,大体听明白以后知道怎么学习了。然后一块一块学习,跟着一个核心的指导思路学习。

后面的深入学习,主要就是围绕Oracle体系结构来讲,深入剖析Oracle体系结构。

欢迎大家关注【数据与人】,有问题可以留言,祝大家在接下来的学习中有个愉快的过程。

 

[打开微信]->[扫描下方二维码]->[关注数据与人] 

Oracle学习路线

 

Oracle学习路线

上一篇:nodejs搭建简易的rpc服务


下一篇:性能测试 -- docker安装influxdb