zoukankan      html  css  js  c++  java
  • 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体系结构。

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

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

  • 相关阅读:
    【06】SQL语句之创建数据库
    【05】数据类型
    【02】SQL Server 配置管理器基本使用
    【01】连接到数据库引擎
    MySQL学习记录【02】常用数据类型
    MySQL学习记录【01】主键
    [转]九个Console命令,让js调试更简单
    HTML5中引入的关键特性
    [转]CSS hack大全&详解
    [转]IE8兼容Object.keys
  • 原文地址:https://www.cnblogs.com/shujuyr/p/13791434.html
Copyright © 2011-2022 走看看