【oracle 学习路线图】
初级阶段:
可以从OCP教材开始,还有文档中的Administrator's Guide、Concepts、Performance Tuning Guide、Backup and Recovery Advanced User's Guide、Backup and Recovery Basics。特别是Administrator's Guide、Concepts、Performance Tuning Guide,要详细阅读。多操作,多实验。
中级阶段:
不断的操作,加上metalink上看各类文章,自己总结。有一个很重要,到Oracle官网上,找到OCM的考试大纲,按图索冀,逐个击破,之于考不考OCM,另当别论。书的话,可以参考《9i&10g编程艺术》,《基于成本的oracle优化法则》,《大话集群rac》,《ORACLE RAC日记》等等。
高级阶段:
继续看书(优化,特性,集成)往深度广度学。可以以如下内容为专题,逐个钻研:
1、存储格式:数据文件格式、数据存储格式等
2、共享池方面:解析流程及原理,共享相关于Latch、Lock、Pin,Row cache lock原理,相关的等待事件。以及共享池内存分配机制。
3、Buffer Cache部分:逻辑读、物理读流程及原理,相关的Latch、Pin,还有相关的等待事件。
4、Redo:Redo的产生流程、相关Latch、等待事件。
5、Undo:Undo的空间使用规则、提交和回滚的原理
6、备份、恢复机制原理,学会使用BBED
7、ASM
8、RAC
------------------------------------------------------------------------------------------------------------------------------------------------------
1、sql、pl/sql(网上有很多的视频,可以做一个简单的入手,然后看几本书,多做实验)
作为oracle的基本功,需要大家对sql和plsql非常的熟悉。特别是sql里面的多表连接、子查询、各种新版本的函数,以及plsql里面的所有语法。建议大家拿出足够的时间来研究这两块。不要认为这是开发人员的工作,他也是DBA的重要工作,而且对DBA的要求更高,你不但能看懂,还要能够找出问题。学些这方面知识的要点就是:多练、多思考。
2、Oracle管理(体系结构)(这一块一定要听课,而且是要听“大师”的课、多讨论)
这是Oracle的难点,Orcle技术博大精深,主要的难点就集中在这里面。包括Oracle的存储管理、对象管理、内存和进程、undo管理、初始化参数、数据字典视图、安全、latch和lock、权限和角色、资源调度、闪回、日志原理等。
学习这一块知识的时候,一个重点是:要知道原理和“根”,知道表面的东西没有任何意义。
知道原理以后,通过实验去证明,将原理总结出来。
这一块学习的好还是不好,直接决定了以后的一个备份恢复、优化、排错。
这一块虽然是研究管理,但是更加注重原理和体系结构的分析和解剖。
应该叫做“深入剖析Oracle体系结构”,多深都需要。
在这一部分的学习中,已经学习了很多优化的内容,在学习任何一个知识点的时候,我们都离不开对性能的分析。
3、备份恢复(听听课、看几本书,多做做实验、多讨论)
有了第二部分的铺垫,这一章的学习相对有意思,前提是我们对Oracle的日志原理研究得较深,对oracle的内存和进程研究得较深。策划一个完美和正确的备份计划和实施方案(具体要分析出原理),实施备份;对各种损坏进行恢复(还是要能够够分析出原理);另外可以做一些高难度的恢复实验(还是老话、要能够分析出原理)。
4、优化(单实例优化)(还是要听课,最好听一些专题性的,深入讲解的专家课,还是要看一些经典的书籍,特别是英文书)
这一块完全是第一部分和第二部分的一个结合。这一块的学习没有最深,只有更深,学习方法和第二部分类似。
首先需要大家掌握一些Oracle的优化方面的基础知识,例如深入分析索引原理、分区、等待事件、时间统计模型、动态性能视图、操作系统的一些性能优化和查看命令,例如:top、iostat、vmstat、sar、pmap、prstat、filemon、nmon、svmon等。
最关键的还是要做三件事情:Oracle的动态性能视图、Oracle的报告(trace、statspack、awr、addm、ash)、执行计划;对这三块要熟悉和分析出来。这个部分的分析和动手实验很重要。
5、RAC(可以听听课,有了前面的基础以后,基本上自己就能看懂书了,因此,可以看书,也可以听一些专题课)
现在RAC的使用越来越多,学习RAC的重点还是:基础原理+RAC优化。
RAC系统的优化分为两个步骤:RAC系统优化和单实例优化;根据RAC的基础原理,能够设计高性能的RAC系统,能够分析RAC性能问题。对RAC的动态性能视图、等待事件、报告,能够看懂和分析。
6、GC、DG、Stream、Gold Gate等
对于这些工具和组件,我们熟悉其体系结构,原理,一些监控性能的工具等。
学习这些部分的几个点:熟悉体系结构、原理;搭建;监控(包括故障和性能);排错和优化。
7、SQL优化(看一本经典的英文书籍、多做实验、多实践、多分析)
为什么单独的拿出来呢?因为这部分需要持之以恒的进行研究和实验,而且工作中几乎是每天都要做的事情。
目前这方面,有一些比较经典的中文书,值得大家去看看。