随笔-28  评论-15  文章-81  trackbacks-0

 

 

 如何学习Oracle 
 
 经常有一些Oracle的初学者问到这个问题,这里算是一个统一答复。

  1、如果有一定的数据库基础,知道SQL是怎么回事,即使写不出来简单的SQL,但可以看动它们,你就可以跳到2。否则请先看一下数据库基础和SQL语言,不需要很深,更不需要去记忆那些复杂的SQL命令,这些可以留在以后边应用边学习、记忆。

  2、要想学好ORACLE,首先要学习ORACLE的体系结构,现在你不需要深入理解它们,但要分清几个关键的概念:

  instance & database, memory structure , process & those files ,such as data file, control file, init parameter file etc 以及database , tablespace , data file和tablespace, segmnet, extent & block它们之间的关系。

  当然还要分清undo tablespace & redo log file等,

  对于很多初学者来说,能够对这些概念有个较为清晰的认识并不是一件容易的事,而这些并非Oracle的全部。

  3、2是有关ORACLE的一些基本概念,下面要学习的是一些简单的的实际操作,就是如何去管理ORACLE数据库,当然不是管理全部的ORACLE。在此过程中你将对SQL和ORACLE体系结构有个更深入的了解。

  4、到了这一步你基本上算是初步掌握了ORACLE,下面将要根据你的方向来具体学习其它的ORACLE知识了。如果你是开发人员,则需要更多地去学习PL/SQL以及DEVELOPER,而这将是一门新的课程。如果你是一名DBA,请继续。

  5、现在你可以根据自己的实际情况,进行有选择的学习,也就是说下面的内容没有特别顺序要求。可以选择深入学习ORACLE的管理、备份与恢复、性能调整、网络等。当然在学习这些知识的过程中,如果有实际的工作更好,这样你可以在实际中成长,学会TROUBLE SHOOTING。

  6、当然在学习的过程中,你可以在网站或论坛中与他人进行交流,可以看别人的一些经验文章,也可以自己写一些心得体会。

我说一下我学习oracle的经历
  
  必须对insert/update/delete/select很熟悉
  这是基本的
  
  
OS
  在NT上安装OEM可以帮助你理解Oracle 的objects 的概念
  熟悉对应的SQL语句
  Linux上的oracle也必须要学
  所以你要熟悉linux的命令
  这是你提高的必经之路
  
  
架构
  理解Oracle的结构
  什么是instance/db/tablespace/datafile/segment/rollback segment
  initSID.ora file/password file
  书很多,买本,读上3遍
  
  
数据字典
  这一关好难过的
  那么多数据字典,记忆起来好麻烦
  不过还是要记...
  不过如果你是DBA那就好多了
  每天接触这些字典
  你肯定有你熟悉的数据字典
  用起来也很顺手
  
  
Tuning
  DBA的最高境界,也是个永恒的话题
  
  
硬件
  大型的数据库肯定不在PC机上
  一般的大机器都有硬件厂商的支持
  你要了解一些硬件知识
  如光纤通道/RAID/HA/
  还有存储
  你要知道
  volumn manage/AIX lvm等等
  
  
软件
  一种以上的Unix系统
  solaris/AIX/HPUnix/Sco unix/Tru64 etc
  
  
OCP
  OCP的资料一定是要看的
  考不考由你
  
  
OCM
  哈哈这个吗...据说和CCIE差不多
  国内还没有考试,要去HK
  
  
Oracle公司
  如果你能去oracle公司,那............请我吃饭吧
  哈哈

如何学习Oracle-eygle的方法经验谈

很多朋友经常问起学习Oracle的方法,在这里我把写在《Oracle数据库性能优化》一书前面的话贴在这里,供大家参考!
-------------------------------------------------------------------------------

经常有朋友会问,应该如何学习Oracle,怎样才能快速提高?我把自己的一点心得写在这里,供大家参考。

其实学习任何东西都是一样,没有太多的捷径可走,必须打好了坚实的基础,才有可以在进一步学习中得到快速提高。
王国维在他的《人间词话》中曾经概括了为学的三种境界,我在这里套用一下:


古今之成大事业、大学问者,罔不经过三种之境界。
“昨夜西风凋碧树。独上高楼,望尽天涯路。”此第一境界也。
“衣带渐宽终不悔,为伊消得人憔悴。”此第二境界也。
“众里寻他千百度,蓦然回首,那人却在灯火阑珊处。”此第三境界也。

学习Oracle,这也是你必须经历的三种境界。
第一层境界是说,学习的路是漫漫的,你必须做好充分的思想准备,如果半途而废还不如不要开始。
这里,注意一个"尽"字,在开始学习的过程中,你必须充分阅读Oracle的基础文档,概念手册、管理手册、备份恢复手册等(这些你都可以在http://tahiti.oracle.com 上找到);OCP认证的教材也值得仔细阅读。打好基础之后你才具备了进一步提升的能力,万丈高楼都是由地而起。

第二层境界是说,尽管经历挫折、打击、灰心、沮丧,也都要坚持不放弃,具备了基础知识之后,你可以对自己感兴趣或者工作中遇到的问题进行深入的思考,由浅入深从来都不是轻而易举的,甚至很多时候你会感到自己停滞不前了,但是不要动摇,学习及理解上的突破也需要时间。

第三次境界是说,经历了那么多努力以后,你会发现,那苦苦思考的问题,那百思不得其解的算法原理,原来答案就在手边,你的思路豁然开朗,宛如拨云见月。这个时候,学习对你来说,不再是个难题,也许是种享受,也许成为艺术。

所以如果你想问我如何速成,那我是没有答案的。
不经一番寒彻骨,哪得梅花扑鼻香。

当然这三种境界在实际中也许是交叉的,在不断的学习中,不断有蓦然回首的收获。
我自己在学习的过程中,经常是采用"由点及面法"。
当遇到一个问题后,一定是深入下去,穷究根本,这样你会发现,一个简单的问题也必定会带起一大片的知识点,如果你能对很多问题进行深入思考和研究,那么在深处,你会发现,这些面逐渐接合,慢慢的延伸到oracle的所有层面,逐渐的你就能融会贯通。这时候,你会主动的去尝试全面学习Oracle,扫除你的知识盲点,学习已经成为一种需要。
由实践触发的学习才最有针对性,才更能让你深入的理解书本上的知识,正所谓:“纸上得来终觉浅,绝知此事要躬行”。实践的经验于我们是至为宝贵的。

如果说有,那么这,就是我的捷径。

想想自己,经常是"每有所获,便欣然忘食",兴趣才是我们最好的老师。

Oracle的优化是一门学问,也是一门艺术,理解透彻了,你会知道,优化不过是在各种条件之下做出的均衡与折中。
内存、外存;CPU、IO...对这一切你都需要有充分的认识和相当的了解,管理数据库所需要的知识并不单纯。

作为一个数据库管理人员,你需要做的就是能够根据自己的知识以及经验在各种复杂情况下做出快速正确的判断。当问题出现时,你需要知道使用怎样的手段发现问题的根本;找到问题之后,你需要运用你的知识找到解决问题的方法。
这当然并不容易,举重若轻还是举轻若重,取决于你具备怎样的基础以及经验积累。

在网络上,Howard J. Rogers最近创造了一个新词组:Voodoo Tuning,用以形容那些没有及时更新自己的知识技能的所谓的Oracle技术专家。由于知识的陈旧或者理解的肤浅,他们提供的很多调整建议是错误的、容易使人误解的,甚至是荒诞的。他们提供的某些建议在有些情况下也许是正确的,如果你愿意回到Oracle5版或者6版的年代;但是这些建议在Oracle7.0,8.0 或者 Oracle8i以后往往是完全错误的。
后来基于类似问题触发了互联网内Oracle顶级高手的一系列深入讨论,TOM、Jonathan Lewis、HJR等人都参与其中,在我的网站上( www.eygle.com )上对这些内容及相关链接作了简要介绍,有兴趣的可以参考。

HJR给我们提了很好的一个提示:对你所需要调整的内容,你必须具有充分的认识,否则你做出的判断就有可能是错误的。
这也是我想给自己和大家的一个建议:学习和研究Oracle,严谨和认真必不可少。
当然你还需要勤奋,我所熟悉的在Oracle领域有所成就的技术人员,他们共同的特点就是勤奋。
如果你觉得掌握的东西没有别人多,那么也许就是因为,你不如别人勤奋。

要是你觉得这一切过于复杂了,那我还有一句简单的话送给大家:不积跬步,无以至千里。学习正是在逐渐积累过程中的提高。

现在Itpub给我们提供了很好的交流场所,很多问题都可以在这里找到答案,互相讨论,互相学习。这是我们的幸运,我也因此非常感谢这个网络时代。

Itpub的第二本书即将出版,谨以此祝愿Itpub越来越好,也愿我们的书能给大家带来知识和帮助。

- Eygle 2005-03-09 于北京

posted on 2008-06-09 11:42 谭明 阅读(184) 评论(0)  编辑  收藏 所属分类: Oracle

只有注册用户登录后才能发表评论。


网站导航: