| eygle 的个人资料eygle's life日志列表网络 | 帮助 |
|
11月8日 《深入解析Oracle》一书前言链接:http://www.eygle.com/archives/2008/11/oracle_internals_preface.html
虽然《深入解析Oracle》一书还没有正式出版,我还是先将前言发布在这里。 因为我一直觉得,前言是一本书非常重要的部分,作者的思想和意图会在这里传达。以下就是我为这本新书所写下的前言。 从2006年这本书出版到现在,已经过去了2年,在这两年中,《深入浅出Oracle》经历了大家的热烈关注期,也经历了淡淡的沉寂期,很长一段时
间并没有修订这本书的想法,直到最近,我仍然不断收到很多读者的来信,和我热烈的探讨书中的观点,甚至得知有些教育和培训机构已经选择我的书作为培训教
材。 关于这本书的结构我愿意再重新描述一次,本书每章的布局基本上分为三个部分:入门的基础知识、进阶知识、结合实际的诊断案例分析。 虽然如此,我仍然在很多公开的场合谈到,即使是一个初学者,也应该有更高的起点,暂时有些东西看不懂不怕,但是至少你应该知道深入的学习应该向何处去,深入不是错误,如果你不能深入那才是错误。要记住随着技术以及时代的不断进步,社会留给DBA的成长时间越来越短,一个DBA从入门到成长为资深的时间不会超过2年。所以,如果你能够忍受一点知识的折磨,这本书还是会对你有用。张爱玲说过,成名要趁早。做技术的也是如此,成长越早越好,越快越好。 所以当然,这不是一本简单的关于Oracle技术知识概念性介绍的书,读这本书,实际上你是在和我共同经历一次Oracle的学习过程。如果你和我一样享受这个过程,那么这本书就是为你准备的。 在修订版中这本书的主要变化是,由原来的9章增加到现在的10章,原书的第一章承载了太多的内容,加上我的大量增补,现在我将第一章的内容分开,就
变成了现在的10章,新的一章命名为《控制文件与数据库初始化》,关于控制文件这部分内容,原本计划写在另外一本书里,现在加在这里也是非常合适的。 关于深入浅出这四个字的理解,很多读者提出质疑,说本书深则深矣,浅出则未必。 create table bootstrap$ ( line# number not null, obj# 而这还仅仅只是第一步的探索,这里的探索涉及到了数据文件、数据块的定位,而在后来的网上探讨中,有朋友给出了更进一步的发现,当使用10046事件来跟踪数据库的启动过程,你会发现最初的等待输出有如下两行信息(来自Oracle9i数据库): WAIT #1: nam='db file sequential read' ela= 94 p1=1 p2=417 p3=1 这些信息就清楚的显示了数据库启动中经历了从文件1的417号Block到377号Block的定位过程,一切就是这么简单清晰,可是在没有经历过那么多深入的摸索、尝试与思考之前,你是不会看到这么浅显、明晰的展示,或者看到了也可能无法一下子有那么清晰的理解。 db file sequential read是一个大家都常见的事件,可是你能否理解这后面所隐藏的种种处理以及细节呢?我处理过很多次因为这个事件而导致的性能故障,有时候看起来是极其棘 手的问题,而能否真正理解这个事件的本质,以及每一个参数的含义(也就是说你的理解是否足够深入)是解决问题的关键,如果你曾经足够深入的探索过,你给出 的答案很可能会是非常直接的、非常简单的,也许让人惊讶,但是绝对有效。 那么再进一步的观察,在以上2条输出之前,还会有以下一段输出: WAIT #1: nam='direct path read' ela= 46 p1=1 p2=1 p3=1 现在来想一下,为什么会有这么多direct path read的等待事件?p1代表的是文件号,那么201号文件又是指什么文件? 我在本书中有过进一步的探讨,实际上数据库在Open的过程中,会对数据文件以及控制文件进行比对校验,数据文件的第一个Block记录了重要的检查点、SCN等信息,这些信息在启动时要被读取,这里就是这样一种体现。 看,很多书本中抽象的知识,现在通过简单的观察,我们就获得了直观的印象。而且你会对Oracle的种种等待事件有了更加深入的理解。 这就是我理想中的那种深入浅出,这是一种在经历了千难万险、峰回路转之后,看山还是山的那种平淡。佛祖拈花,迦叶破颜,有时候能够感受到这种会心之意是非常难能而宝贵的。 有一次去兰州大学做技术交流,兰大的一位李老师对我说,最近看我网站上提到的学习方法等内容,感觉到一个字:虚!我当时跟他开玩笑说,我还有更虚无的8个字可以送给你,那就是:运用之妙,存乎一心。 尽管如此,最终我还是决定做一些改变,所以这本书最后的名称被确定为《深入解析Oracle》,这是我在美国参加2008 Oracle
Open World期间忽然产生的一个想法。我和Kamus曾经在东方标准做过一个系列的公开培训课程,就是用的这个名字,我很喜欢这个名字。 在《深入浅出Oracle》之后,我写作了另外一本书《循序渐进Oracle》,通过这两本书实际上我想构建一个更为完善的学习结构,从DBA的实际工作应用出发,帮助Oracle爱好者更好的进行入门以及深入的学习。
当然,这两本书都是自成体系的,在将来也许还会有第三本,在Oracle完整的知识体系结构里,这两本书还缺少一些重要的内容。 我要感谢众多支持我的读者们,是你们的支持与鼓励才有了本书的修订,你们的支持才是这本书真正的存在价值。在这本书出版的两年多以来,我的生活已经
有了很大的变化,我要感谢我的太太Julia,感谢她走进并且改变了我的生活,感谢她理解我很多时候废寝忘食不顾一切的学习与工作态度,她的支持以及理解
是我写作的基石,我还要把这本书献给我的儿子,他比这本书还要年轻,在我修订这本书的很多章节时,他就在我身边爬来爬去,他是我永不枯竭的快乐源泉。 虽然本书是《深入浅出Oracle》一书的修订版,但是其工作量与意义对我来说完全不亚于一本新书,由于水平所限以及难免的疏漏,书中肯定存在错谬之处,真挚的欢迎大家的批评与指正。 最后我还要感谢我的朋友们,他们为本书提出了很多宝贵的意见与鼓励;感谢黄志洪、牛新庄、冯春培、陈吉平、张乐奕为本书撰写评论及推荐。 -----------------------------------盖国强 2008-9-18 于北京 >> 2006-11-07文章: >> 2005-11-07文章: 光纤通道的终结者-iSCSI技术[转摘] |
|
|