一:学习oracle的前提是
熟悉linux操作系统,unix操作系统,存储,带库。主要是管理和操作系统原理。
二:学习方法
1、sql,pl/sql 这是学习oracle的基本功。特别是sql里边的多表连接、子查询、各种版本的函数,以及plsql里面的所有语法。
其实很多用sql实现起来很麻烦的事用plsql都很容易就做出来了,通用的作法是利用rowid检索数据,这样比索引还要高效。
2、oracle管理(体系结构)(这一块一定要多听课,而且是要听”大师“的课、多讨论)
这是oarcle的难点,oracle技术博大精深,主要的难点就集中在这里面。包括oracle的存储管理、对象管理、内存和进程、
undo管理、初始化参数、数据字典视图、安全、latch和lock、权限和角色、资源调度、闪回、日志原理等。
学习这一块的知识的时候,一个重点是:要知道原理和”根“,知道表面的东西没有任何意义。
知道原理以后,通过实验去证明,将原理总结出来。
这一块学习的好还是不好,直接决定了以后的一个备份恢复、优化、排错。
这一块虽然是研究管理,但是更加注重原理和体系结构的分析和解剖。
应该叫做”深入剖析oracle体系结构“,多深都需要。
在这一部分的学习中,已经学习了很多优化的内容,在学习任何一个知识点的时候,我们都离不开对性能的分析。
3、备份恢复(听听课、看几本书,多做做实验、多讨论)
有了第二部分的铺垫,这一章的学习相对有意思,前提是我们对oracle的日志原理研究得较深,对oracle的内存和进程研究
得较深。策划一个完美和正确的备份计划和实施方案(具体要分析出原理),实施备份;对各种损坏进行恢复(还是要能够
分析出原理);另外可以做一些高难度的恢复实验(还是老话、要能够分析出原理)。
4、优化(单实例优化)(还是要听课,最好听一些专题性的,深入讲解的专家课,还是要看一些经典的书籍,特别是英文书)
这一块完全是第一部分和第二部分的一个结合。这一块的学习没有最深,只有更深,学习方法和第二部分类似。
首先需要掌握一些oracle优化方面的基础知识,例如深入分析索引原理、分区、等待事件、时间统计模型、动态性能视图、操作
系统的一些性能优化和查看命令,例如:top,iostat,vmstat,sar,pmap,prstat,filemon,nmon,svmon等。
最关键的还是要做三件事情:oracle的动态性能视图、oarcle的报告(trace,statspack,awr,addm,ash)、执行计划;对这三块要
熟悉和分析出来。这个部分的分析和动手实验很重要。
5、RAC(可以听听课,有了前面的基础以后,基本上自己就能看懂书了,因此,可以看书,也可以听一些专题课)
现在RAC的使用越来越多,学习RAC的重点还是:基础原理+RAC优化。
RAC系统的优化分为两个步骤:RAC系统优化和单实例优化;根据RAC的基础原理,能够设计高性能的RAC系统,能够分析RAC
性能问题。对RAC动态性能视图、等待事件、报告,能够看懂和分析。
6、GC,DG,Stream,Gold Gate等
对于这些工具和组件,我们熟悉其体系结构,原理,一些监控性能的工具等。
学习这些部分的几个点:熟悉体系结构、原理;搭建;监控(包括故障和性能);排错和优化。
7、SQL优化(看一本经典的英文书籍、多做实验、多实践、多分析)
为什么单独的拿出来呢?因为这部分需要持之以恒的进行研究和实验,而且工作中几乎是每天都要做的事情。
目前这方面,有一些比较经典的中文书,值得去看。
8、PL/SQL深度学习
在这部分学习的时候,就要时时刻刻注意性能,主要是注意测试。