签到成功

知道了

CNDBA社区CNDBA社区

Oracle 学习路线

2016-11-09 18:50 9916 2 原创 Oracle 18c
作者: Dave


出差归途火车上,有几个小时的时间,正好可以把Oracle 知识的学习框架梳理一下,这些都是DaveOracle的一些理解,共初学者参考。 本篇文章只介绍知识点,不涉及具体内容。

 

1       学习方法

很多初学者一直在门外徘徊的一个重要原因就是没有找到正确的学习方法,其实Oracle 需要系统的学习,这个过程可能需要2-3年。

 

最好的资料就是Oracle的官方手册:http://docs.oracle.com

 

当然,DaveBlog 也是可以参考的,上面大部分文章都是测试过的,保证有效性。

CSDN: http://blog.csdn.net/tianlesoftware (不再更新,老文章依旧可以参考)

CNDBA 社区:http://www.cndba.cn/dave (当前正在使用的博客)https://www.cndba.cn/dave/article/334

https://www.cndba.cn/dave/article/334

 

https://www.cndba.cn/dave/article/334

遇到问题的时候,首选google,实在不行在度娘,这2者之间的区别谁用谁知道。

 

学习本身就是一个不断提升的过程,遇到问题不要怕,多做实验,前期肯定是要多花点时间的,自己多独立思考,伸手一族是非常不好的,即使实在不明白,也要先独立思考几分钟,而不是遇到问题就直接问别人,这种情况即使别人告诉你了,下次遇到还是不会。 https://www.cndba.cn/dave/article/334

 

在问别人的时候,也尽量把自己的问题描述清楚,一个好的提问包含以下几个方便:系统环境,DB 环境,现象,日志。 这些是基本的信息,务必自己先分析一下。 通常来说,只要能把问题描述清楚,在结合google,基本都可以解决问题,很多人不会难就难在连问题都描述不行。

 

所以掌握正确的学习方法是第一步

2       Oracle 的体系架构

Oracle 的知识体系很庞大。 全部学完需要花大量的时间,这里对知识框架进行一个简单的说明,方便学习。

 

1.      Oracle 进程体系

在这个部分需要了解Oracle 所有进程及其功能。

 

2.      Oracle 内存体系

了解Oracle 内存的组成部分,PGASGA及组成。 这部分关系到数据库的性能,掌握有利于DB的优化。

 

3.      Oracle 物理组成

Oracle 物理上由哪些文件组成,每个文件起什么作用。

 

以上三部分在官方文档上都有详细的说明,把官方文档通读一遍即可了解。

3       Oracle 环境搭建系

1.      DB安装

根据目前的趋势,至少要掌握X86平台上Oracle 数据的安装。https://www.cndba.cn/dave/article/334

 

2.      Export/import 工具使用https://www.cndba.cn/dave/article/334

Oracle 10g之前非常有用的数据迁移工具,工具使用简单,要了解如何使用。

 

3.      Data Pump/expdp/impdp

传统导出导入工具的升级版,最主要的变化是缩短了命令执行的时间。

 

4.      RMAN 备份恢复

对于DBA来说,只要有有效的备份,遇到问题的时候,心里是不会惊慌的。 RMAN 是生产库最主要的备份手段。但看到很多不严谨的环境中,仍有使用export/import 来进行备份的。

 

只想说,如果你觉得数据不重要,允许数据丢失,那么随便折腾,如果觉得数据重要,那么请使用RMAN来进行。

 

5.      Data Guard

数据库容灾平台,简单高效,易维护。 中小企业推荐的容灾方式。

 https://www.cndba.cn/dave/article/334

6.      RAC

Oracle RAC 集群,高性能,高可用的数据库平台,一直都说,RAC 本身最主要的价值是体现在高性能,其次可用。根据通常的理解,任何软件组件越多,出bug的可能性就越高,维护的难度就会越大。 RAC 就是如此,系统,网络,硬件,DB bug 都可能导致数据库异常,维护好RAC 需要一定的功底。

4       Oracle 优化

每当有人在群里问优化的时候都会开玩笑说上闪存卡,这个是有一定道理的,数据库的瓶颈在IO,当IO已经无法优化的时候,上闪存卡确实可以解决性能问题,当然如果你不会优化SQL,上闪存卡也可以解决,只是提升多少的问题。

 

这里看下与优化相关的部分。

 

1.      了解Oracle 相关的新特性,比如直接路径度,自适应游标,这些特性可能会影响到DB性能,需要先了解。

2.      能看懂数据库的执行计划。

3.      了解多表关联的几种方式(Nest Loophash joinmerge into…

4.      常见Hint的使用

5.      了解常见的几种索引类型及特性,已经执行计划对索引的选择是否正确,比如全索引扫描,跳跃扫描等。

6.      永远都要确保对象上的统计信息是准确的,这个是CBO 来评估执行计划的重要参考,只要执行计划正确,索引合适,这条SQL 的性能不会差到哪里。

7.      当遇到某条SQL 异常导致数据库出现性能问题,比如CPU 100%的时候,需要知道判断SQL执行计划是否有变化,并知道如何利用SQL profile等来固定正确的执行计划。

8.      当然,最重要的一个前提,你得会写SQL,如果连SQL 语句都读不懂,自然谈不上优化。

 

5       DBA的心里素质

假如你是一个DBA,维护公司的所有DB

 

当应用报告DB 性能突然下降,你是否知道如何处理?

当凌晨2点,接到系统告警,DB宕机,你是否愿意从暖暖的被窝中爬起来处理故障?

当重大节日,保障过程中出现重大DB问题,一群领导同事围观你的时候,你是否还能冷静的处理问题,小手是否会发抖?

https://www.cndba.cn/dave/article/334

 

所以心里素质也是DBA 需要提升的必备技能,当你能独挡一面处理故障的时候,你就成为了一名正在的DBA 但是很多初学者没明白这点。

 

经常和朋友聊天,说现在的年热人不向我们当年那会,现在很多的年轻人浮躁,不愿意学,还要求多。

 

想当年,我们学习Oracle 的时候,资料很少,都是靠自己慢慢研究,可能一个问题要花几天来研究,然后把整个解决的过程写博客,进行分享,但现在写博客的人太少了,而且很多人是是连google,百度,都不去,上来就问别人,名其曰节省时间,实际上真的节省了吗,问题没搞懂,不能提升自己,下次遇到问题还是不会,只会浪费很多的时间。

 

https://www.cndba.cn/dave/article/334

每当看到这些迷途中的少年们,也会想到曾经的自己,因为Dave也曾迷茫过,所以最后以Dave博客上的座右铭与你们共勉:

The important thing in life is to have a great aim, and the determination to attain to it.

 https://www.cndba.cn/dave/article/334




Dave

2016/11/9

回合肥的高铁上

版权声明:本文为博主原创文章,未经博主允许不得转载。

用户评论
* 以下用户言论只代表其个人观点,不代表CNDBA社区的观点或立场
Dave

Dave

关注

人的一生应该是这样度过的:当他回首往事的时候,他不会因为虚度年华而悔恨,也不会因为碌碌无为而羞耻;这样,在临死的时候,他就能够说:“我的整个生命和全部精力,都已经献给世界上最壮丽的事业....."

  • 1902
    原创
  • 2
    翻译
  • 456
    转载
  • 131
    评论
  • 访问:3641956次
  • 积分:3137
  • 等级:核心会员
  • 排名:第1名
精华文章
    最新问题
    查看更多+
    热门文章
      热门用户
      推荐用户
        Copyright © 2016 All Rights Reserved. Powered by ZhiXinTech · 皖ICP备19020168号·

        QQ交流群