Oracle书评2006版

来源:互联网 发布:英国怎样看待美国知乎 编辑:程序博客网 时间:2024/05/11 16:56

Oracle书评2006

挺久以前写过一篇关于Oracle的书评Oracle经典书籍介绍,发表在CNOUG后还得到了不错的反响。两年过去了,随着Oracle市场的扩张(至少我们公司大部分都改成了Oracle),国内的Oracle图书也略有增加,不过和之前一篇我提到的一样,很多好书被翻译糟蹋了。

我们还是进入正题。

Oracle有两种方式:一个是工作用碰到而已,能写SQL、存储过程什么的就够了,单位的一个数据库也没那么高要求,平时能加个表空间啥的就可以,这种不妨叫做浅尝辄止;另一种是或者喜欢上了Oracle或者就打算靠Oracle吃饭了,这个就得打好基础逐步深入了。

对于前者,我个人觉得机械工业出版社引进翻译的Oracle Press一批书不错,也就是黑色封面的那几部,比如《Oracle9i 初学者指南》、《Oracle9i PL/SQL程序设计》,这两本引导了不少开发人员走向Oracle。以前我曾经推荐过《Oracle9i 参考手册》,两年来身边也有不少同事想看这本书入门,但是效果不怎么样。这本手册查点简单的东西还行,但是用来读不合适,作为终极工具书又不够,有点鸡肋,如果不是身边没电脑,就建议不要买了。如果您经常需要参考手册,还是在自己机器上准备一套Oracle官方文档。系列里还有一两本关于调优的,有点不容易读,因为调优很多知识还是要建立在扎实的基础之上的,光看那几本书由脱节之感,这个根据自身水平选择

国内还引进翻译过OReilly的不少手册,挺全面的,书价就有点高了。

打算好好学些Oracle东西的,咱还是看官方文档,很多人的第一反应是“用来查的不是用来看的”,我看完了两篇之后的感觉是,确实语言啰嗦,但是全面学习的最好材料。看文档,首要是克服急躁。文档一是多,10g开始文档经过重新整理、分拆,List of Book界面越来越长,看着就容易气馁。二是新文档没有官方中文版的,对过不了语言关的是个打击。其实文档虽多,也不必看长篇小说一样每篇研读过去,自然是有个阅读规律的。Thomas Kyte推荐了下面这个顺序:

所有人员
                Concepts
                      |
          New Features
___________|____________
|                                             |
开发人员                          DBA
Application               Backup & Recovery
Dev Guide(Fundamentals) Concepts
|                                             |
PL/SQL User Guide Recovery Reference
& References                         |
|                                             |
Performance              Administrators' Guide
Planning
|_______________________|
                       |
             Performance
          & Tunning Guide

其实这里面就是从Concepts入门,然后一个分支是开发文档,一个分支是备份恢复文档,最后达到调优。具体文档名在10g中略有改变,大家自己注意就可以找到了。从Concepts入门除了全面了解Oracle基础外,另一个好处就是这里概念和名词很多,掌握了这里的英文术语,看其他文档应该没什么障碍了。

网上也有很多朋友造福同行,已经翻译了一些文档。比如10gConcepts有网友节译,基本包括了所有重要章节,在CNOUGbigboar和我也翻译过9iR2很少几章。最有意思的是9iR2Administrators' Guide有中文非官方翻译本,是希望出版社的《Oracle 9i数据库管理员指南》,装帧一般的一本书,估计很多网友也没有注意到过(感谢bigboar告知这一消息)。实际上它的内容就是翻译官方文档,只是似乎没看出获得了官方授权。版权的事儿咱暂且不管,看过几章,翻译还不错。对了,这本书也是有电子版的。

官方文档大致这样了,除了上面这些通用文档,还可以根据自己的需要看相关篇章。官方还有一套材料,OCP教材,这也是个不错的东西。我自己是看这个入门的。它的好处是符合中国人的习惯,循序渐进、深入浅出,难度适中,也是英文版的(说真的,学计算机而英文文档看不懂,那你还是先花一年时间好好过了四级吧)。10g课程的OCP教材PPT已经可以在www.orauser.com的FTP下载到。

Oracle的参考书还是不少的,经典的说来说去那么几本。不知道Tom Kyte这个人的,自己去看AskTom,他的主要著述有Expert One-on-One OracleEffective Oracle DesignExpert Oracle Database Architecture。第一本是面向8i的,但是至今仍然不算过时,国内翻译成了Oracle专家编程,如果您不是钱太多或者英文太烂,就不要买中文版了,因为翻译实在是个大问题,CNOUG上有一个不错的英文电子版,买了Expert Oracle Database Architecture原版书的会同时获得这本的官方电子版,将近50MPDF;第二本写作风格有所改变,侧重点在方法论和常见性能问题的避免,也还不错,最近在网上看到机械工业出版社出了中文版Oracle高效设计,没有看到书,就不评论了,但是从看原版来说翻译难度不小;最后也是最新的一本可以说是Expert One-on-One Oracle中基础理论部分的10g升级版,恢复了以往的写作风格,实例说话、深入浅出,实用性很强,也是可以一气读下来的好书,如果你只用到9i以上,那读这本书吧(这本书也已经引进国内并翻译,笔者没有自己看过中文版,网上似乎评价不错)。

牛人还有很多。Steven Feuerstein是开发专家,他主导写过很多PL/SQL的书,经典自然是Oracle PL/SQL Programming,已经出到第四版,掌握了这本,PL/SQL可以说就掌握了。他在Oracle上还有个Best Practise PL/SQL的专栏。

Steve AdamsOracle8i Internal Services for Waits, Latches, Locks是精品,这本书并没有随着Oracle自己升级而显得落后,这本书对很多基础概念,特别LocksLatch等等,都有不错的讲解。不过我还是期待他能升级(虽然最近看不太可能了,从最近出的书来看感觉Steve不止是搞Oracle DB了)。

还有个大牛叫Jonathan Lewis(对以上大牛排名不分先后^_^),他最近终于出了本新书Cost Based Oracle Fundamentals,主要是对CBO的剖析,建议作为调优的高级教材。这应该是一套作品中的第一部,希望他早日完工

Oracle Wait Interface也值得单独推荐,是目前关于Oracle等待事件(Wait Events)最全面的资料了。不能说全,但是最突出的一些事件都有详细的分析,对调优有兴趣的一定要读。10gR2后的事件也有不少变化,这个只能在网上找些相关文档了。

Oracle自己出版社最近也出了几本新书,大多是关于10g的一些管理方面的,机械工业出版社引进了不少,浏览过几本,总体上是比较全面,参考性强。

此外还有很多经典资料,不过读完了上面这些,通用知识已经掌握了很多了,就不一介绍了。上面提到的书都有英文电子版了,CNOUG有大部分下载,到Amazon买也不贵(当然是相对质量来说),Oracle8i Internal Services for Waits, Latches, Locks之类自己打印也挺合算。

说一下国内自己的产品吧。那些为了应付各大高校课程设计而写的书就不说了,也许对入门有一定作用,但是主要还是“代码+注释”为主,没有实质内容。ITPUB在这方面做得不错,他们的第二本书Oracle数据库性能优化每篇文章都还是挺实用的,问题在于是好多文章的拼盘,另外封面有点土,网上也有电子版了,不过不是很清晰,书不贵,还是支持一下“民族产业”吧。eygle的第三本深入浅出Oracle也在06年下半年上市了,销量不错,风格上感觉在向Tom靠拢,不过也有网友反映说是代码测试过多,有充水嫌疑,我倒觉得这个问题见仁见智。没有具体看过,就不发表太多评论了。

说了这么多了,只是给各位一点提示而已。“书上得来终觉浅,绝知此事要躬行”,还是要自己不断试验,在工作中积累经验。

最后还是提一下数据库入门的书。数据库系统导论(第7版)数据库系统概念(原书第4版)都不错,最近还发现一本学术味更强(MIT教材)的Red BookReadings in Database Systems4ed,总结并收录了数据库管理系统发展历史上提出、剖析重要概念的论文。建议在准备系统学Oracle之前认真看看这些理论(特别是关系型数据库的),你就不会问出很多“怪异”的问题了。