- A+
偶尔在网上看到的,感觉挺不错,来指引自己学习。
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优化(看一本经典的英文书籍、多做实验、多实践、多分析)
为什么单独的拿出来呢?因为这部分需要持之以恒的进行研究和实验,而且工作中几乎是每天都要做的事情。
8、书籍推荐
入门:
《Oracle 9i初学者指南》
《Oracle 9i PL/SQL程序设计》
《Oracle 9i DBA手册》
深入:
《Oracle 9i性能调优指南》
《Oracle 9i 参考手册》
《Oracle专家高级编程》
《数据库导论》
《数据库概念》
高级:
《深入理解计算机原理》
《深入理解Linux内核》
作为一个非科班出身的程序员,有时会遇到一些本来很简单但自己怎么也理解不了的东西,这就是基础的匮乏,所以,为了弥补基础,搜索了一些学习方向,作为自己休闲时的读物。
【重要】因为这是工作技能
编程语言:
算法:算法导论
数据库原理:
操作系统:
【了解】这是基础
计算机体系结构、计算机基础、计算机组成原理,推荐书籍《深入理解计算机系统》
编译原理:
计算机网络
【扩展】这是加薪
机器学习:
人工智能
【基础课程】这是技能晋升的基础
离散数学
线性代数
概率论
图论
高等数学
- 加我微信
- 微信扫一扫或手机上长按图片识别二维码
- (求赞赏)微信打赏
- 微信扫一扫或手机上长按图片识别二维码