【DBA】 Oracle 学习路线

【DBA】 Oracle 学习路线




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

 

1       学习方法

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

 

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

 

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

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

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

 

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

 

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

 

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

 

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

2       Oracle 的体系架构

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

 

1.      Oracle 进程体系

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

 

2.      Oracle 内存体系

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

 

3.      Oracle 物理组成

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

 

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

3       Oracle 环境搭建系

1.      DB安装

根据目前的趋势,至少要掌握X86平台上Oracle 数据的安装。

 

2.      Export/import 工具使用

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

 

3.      Data Pump/expdp/impdp

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

 

4.      RMAN 备份恢复

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

 

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

 

5.      Data Guard

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

 

6.      RAC

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

4       Oracle 优化

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

 

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

 

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

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

3.      了解多表关联的几种方式(Nest Loop,hash join,merge 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问题,一群领导同事围观你的时候,你是否还能冷静的处理问题,小手是否会发抖?

 

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

 

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

 

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

 

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

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

 

Dave

2016/11/9

回合肥的高铁上



About Me


...............................................................................................................................

● 原文地址:http://www.cndba.cn/dave/article/334

● 本文在itpub(http://blog.itpub.net/26736162)、博客园(http://www.cnblogs.com/lhrbest)和个人微信公众号(xiaomaimiaolhr)上有同步更新

● 本文itpub地址:http://blog.itpub.net/26736162/abstract/1/

● 本文博客园地址:http://www.cnblogs.com/lhrbest

● 本文pdf版及小麦苗云盘地址:http://blog.itpub.net/26736162/viewspace-1624453/

● 数据库笔试面试题库及解答:http://blog.itpub.net/26736162/viewspace-2134706/

● QQ群:230161599     微信群:私聊

● 联系我请加QQ好友(646634621),注明添加缘由

● 于 2017-06-02 09:00 ~ 2017-06-30 22:00 在魔都完成

● 文章内容来源于小麦苗的学习笔记,部分整理自网络,若有侵权或不当之处还请谅解

● 版权所有,欢迎分享本文,转载请保留出处

...............................................................................................................................

拿起手机使用微信客户端扫描下边的左边图片来关注小麦苗的微信公众号:xiaomaimiaolhr,扫描右边的二维码加入小麦苗的QQ群,学习最实用的数据库技术。

时间: 2024-09-09 19:48:21

【DBA】 Oracle 学习路线的相关文章

Java学习路线是什么?

问题描述 本人想去自己买Java书看,到底买什么书好呢?朋友去东朗教育咨询培训机构学过,然后建议我先学Java基础.然后学点HTML,后学JSP,在学servlet.然后了解ltomcat服务器和数据库(MySQL,ms-sql,Oracle)后学SSH三大框架.大概这就是学习路线吗?学那么多,什么时候才能学完啊?朋友现在在一家广东企业里面做开发工资挺高的.挺羡慕,所以问问. 解决方案 解决方案二:楼主记得结贴哦嚯嚯~~脱产半年能搞定解决方案三:额!楼上的图片好详细啊解决方案四:有java基础,

【海量数据学院】DBA的学习方法论系列—正确的学习方法

DBA的学习方法论系列-正确的学习方法 原创 2016-06-30 孟晋博  引言 在大数据高速发展的今天,DBA的革新和提升每天都在发生,这决定了一个技术从业者必须不断的保持学习,才能符合岗位的需求. 实际上,DBA中大多数都是"活到老学到老"的典范.从Oracle到MySQL再到Hadooop.MongoDB,以及Exadata.OGG.性能优化等细分课程,全部都是我们需要关注和提升的知识.只有那些内心强大并且求知欲旺盛的技术爱好者,才能具备"路漫漫其修远,吾将上下而求索

Android学习路线总结,绝对干货

title: Android学习路线总结,绝对干货 tags: Android学习路线,Android学习资料,怎么学习android grammar_cjkRuby: true --- 一.前言 不知不觉自己已经做了几年开发了,由记得刚出来工作的时候感觉自己能牛逼,现在回想起来感觉好无知.懂的越多的时候你才会发现懂的越少. 如果你的知识是一个圆,当你的圆越大时,圆外面的世界也就越大. 最近看到很多Android新手问Android学习路线,学习方法啊,如何入门啊,所以我从网上找了一些资料,然后

.net程序员想转大数据云计算方面的可行性,或者有什么好的学习路线!

问题描述 .net程序员想转大数据云计算方面的可行性,或者有什么好的学习路线! .net程序员想转大数据云计算方面的可行性,或者有什么好的学习路线!正如我所说的,我是学习.net出身,自认为基础还可以,对大数据和云计算方面充满了好奇和向往,就想找个这方面的工作,并且想学习学习这方面的知识,不知道各位有没有好的意见,或者说这样可行吗? 解决方案 补充一下,我是本科生,所以基础知识方面应该还可以! 解决方案二: 云计算本身没有什么好学的,除非你是做基础架构的运维.云计算是商业模式而不是技术,这种模式

Android学习路线指南

看到这位大牛的博文,不禁得感概,我最近也遇到了很多问题,内心彷徨不堪,转载大牛这篇博文,是为了更好的勉励自己.原文地址在最后面. 前言 看到一篇文章中提到"最近几年国内的初级Android程序员已经很多了,但是中高级的Android技术人才仍然稀缺",这的确不假,从我在百度所进行的一些面试来看,找一个适合的高级Android工程师的确不容易,一般需要进行大量的面试才能挑选出一个比较满意的.为什么中高级Android程序员不多呢?这是一个问题,我不好回答,但是我想写一篇文章来描述下And

教程-求助知情人士提供学习路线方向,资源,小白从头开始

问题描述 求助知情人士提供学习路线方向,资源,小白从头开始 黑客学习路线,视频教程,网站资源,求大神指点. 目前刚开始对计算机技术感兴趣,表示想望这方面发展, 解决方案 想从一个菜鸟变成黑客高手,是一个漫长的道路,有了坚持的心才能迈向高手的大门,首先不是去怎么学那些技术,而是让自己有一个计划,给自己写一份详细的计划书,让他和你一起前进,只有当你有了一个目标才能去实现.路很长,在漫长的学习与枯燥中,锻炼的是心境,因此需要坚持的心和一个目标伴随你,才能有成功的那一天,另外培养你对黑客的兴趣,有了兴趣

C++网络服务器编程的学习路线?

[来信] 贺老师,您好! 我叫ZQ,毕业于W大学工程结构分析专业,2012年毕业,到2015年5月内,我一直从事的是建筑结构的设计,由于房地产行业的不景气,公司的人都转了,于是也产生了转行的想法.有一个亲戚从事这个方向,做C++游戏方向,于是向他咨询,得到可以转行的结论,方向建议的是linux--C++网络编程服务器方向,这个方向听我亲戚说工资很不错. 按照亲戚的意见,我开始了自学C/C++之路的学习,从CSDN上看到您的视屏,从头开始学习,效果很好,然后自学了一下MFC和Mysql,用MFC和

android学习路线:如何成长为高级工程师

前言 之所以写这篇文章,是因为最近博客和我的开发群( 215680213 )中,不少小伙伴都让我讲讲android学习路线,所以我决定写一篇博客,来说明这个问题.既然有不少小伙伴来咨询这个问题,说明大家都还是想快速地提高技术,毕竟技术的提高是职业发展中不可或缺的一步,技术好了,才能得到认可,才能升职加薪.一般来说,快速提高技术是不太容易的,但是通过正确的方法加上辛勤的汗水是可以缩短这个过程的.或许有人会问,你凭什么来写这个学习路线?你能写好这个技术路线吗?这个还真不好回答,不过我会按我的个人理解

请问哪位高手对Liferay Portal 的源码有研究?或者对在Liferay Portal 上进行Portlet开发有研究的,请指点一下学习路线。谢谢

问题描述 请问哪位高手对LiferayPortal的源码有研究?或者对在LiferayPortal上进行Portlet开发有研究的,请指点一下学习路线.谢谢 解决方案 解决方案二:以前想用来着,LIFERAY太大大难,作罢.解决方案三:在源码上开发了3个月,还是有点理不清,那东西有点难!不好说.