1、SQL、PL/SQL
作为Oracle的基本功,需要大家对SQL和PL/SQL非常的熟悉。特别是SQL里面的多表连接、子查询、各种新版本的函数,以及PL/SQL里面的所有语法。建议大家拿出足够的时间来研究这两块。不要认为这是开发人员的工作,它也是DBA的重要工作,而且对DBA的要求更高,你不但要能够看懂,还要能够找出问题。
学习这方面知识的要点就是:多练、多思考、多测试。
2、Oracle管理(体系结构)
这是Oracle的难点,Oracle技术博大精深,主要的难点就集中在这里面。包括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、Cloud Control、Data Control、Stream、Golden Gate等
对于这些工具和组件,我们熟悉其体系结构,原理,一些监控性能的工具等。学习这些部分的几个点:熟悉体系结构、原理、搭建、监控(包括故障和性能)、排错和优化。
7、SQL优化
为什么单独拿出来呢?因为这部分需要持之以恒的进行研究和实验,而且工作中几乎是每天都要做的事情。目前这方面,有一些比较经典的书,值得大家去看看。
8、PL/SQL深度学习
在这部分学习的时候,就要时时刻刻注意性能,主要是注意测试。
9、综合性项目实战
模拟环境:规划、搭建、测试、排错、优化、分析
实战环境:规划、搭建、测试、排错、优化、分析