频道栏目
读书频道 > 数据库 > Oracle > Oracle核心技术
引言
2020-01-29 15:51:55     我来说两句
收藏   我要投稿

本文所属图书 > Oracle核心技术

本书揭示了Oracle 数据库内部的核心信息,这些信息恰好是每个DBA 排除故障所必需的,不多不少。内容涉及Oracle 核心架构基础:多少开销是合理的?如何认识到你做得太多?如何预见故障?为什么发生这些故障?等  立即去当当网订购

在Practical Oracle 8i出版后的第三周,我就收到了询问什么时候出版该书9i版本的邮件——Larry Ellison刚好在这个时候发布了9i版本。过去的12年里,不停有人问我相同的问题,不同的只是版本号。本书基本相当于该书的第二版,仅仅涵盖了第一版的第1章,以及第2章和第3章的少量内容。

有两件事促使我再次提笔写这样一本书。首先,我无数次被问到:Oracle如何用来做某某事?其次,我发现对于这样的问题,很难找到既充分又明确的答案。通常,你只要遍阅Oracle文档,就会找到许多常见问题的答案;只要在网上一搜,就会找到许多介绍Oracle工作原理的文章,却找不到一个全面系统的文档,按正确的顺序进述Oracle的方方面面,让你大体了解Oracle的工作原理以及它为什么只能这样工作。本书要做的就是这件事,即完整讲述Oracle的工作原理。我会系统地讲述,而不是东拼西凑一些细枝末节。

本书目标

本书只有区区两三百页,而11g文档有上万页,所以我似乎不太可能把“整件事”讲清楚,那就事先声明一下。本书讲的是中央数据库引擎的核心机制,这些内容会联动Oracle所有其他内容,主要包括undo、redo、高速缓冲区缓存及共享SQL。即使这样,我仍然不得不舍弃一些细节和有趣的特殊案例,免得本书冗长、臃肿不易阅读。随便举个例子,考虑一个简单的问题:Oracle如何处理一次逻辑I/O?先看看x$kcbsw结构,它包含了Oracle访问一个块可能调用的所有函数。你会发现,对于11.2.0.2版本,做一次逻辑I/O可以调用的函数有1164个之多。你真的希望详细了解这些函数吗?还是说只要大致了解一下一般要求就足够了?

细节问题在不同的层面重复——关于复杂的问题你想了解多少?假如我真的花时间写了些异常复杂的细节,读者会受益多少呢?另外,本书在完整性、精确性和基本的可读性之间做了必要的折中。我认为,我遵循的是Oracle RWP部门的Andrew Holdsworth在2006年OOW大会上所传达的理念。在关于优化器及怎样搜集统计信息的演讲中,他谈到了90/9/1法则,具体说明如下:

90%的情况下,默认样本就行了;

9%的情况下,需要扩大样本采集范围;

剩下1%的情况跟样本大小无关。

这是著名的80/20帕累托法则的增强版,我认为它非常适用于描述理解Oracle核心机制的需求。为便于解释本书,我将该法则重新调整为:90%的情况下你只需了解Oracle如何保持系统运行,1%的情况下你需要搞清楚哪里出了问题,而本书关注的是剩余9%的情况——如果你对Oracle幕后工作有更多的了解,就会更加了解Oracle数据库,会少浪费些宝贵时间。

接下来呢

前段时间,有人问Tanel Põder(我的技术审阅人)什么时候写一本Oracle核心内幕的书,他这样回答:

“如果要写一本常规的老式纸质书,那么答案是永远都不会写,因为这个领域变化太快了,而且写好这样一本书至少要花一整年的工夫,等到书出版时许多细节必然早已过时。”

这个回答很好。这也再次证明了我的观点,即要避免在那1%上浪费时间,而要坚持关注那些普遍的需求及类似的东西。Tanel没有写纸质书,而是在http://tech.e2sn.com/oracle写了一本实时更新的电子书。

但是,纸质书很棒(就算它做成了电子版本),而且我认为,书籍的排版格式会使其内容不同于若干篇互联网文章(就算写得非:茫。纸质书读起来能给人以内容连贯的感觉,整合的文章却不能。在我写这篇引言的时候,我的博客上已经有650篇文章了,文字量比本书要大得多。我可以从中摘录一些放到一起做一个迷你系列专题,而且即使将它们汇编起来,也不会是一本很差的书(哪怕需要我再花些时间写点内容将文章前后贯穿起来)。但是,即使是技术书籍,也需要给读者带来叙述连贯的感觉。

为了解决纸质“非实时”的问题,我在我的博客http://jonathanlewis.wordpress.com/oracle-core/上写了许多篇博文。其中每篇对应本书的一章。上面还会给出本书纸质版的勘误或简短的补充。因为是博客的形式,所以读者可以在后面提问或评论。当读者询问我的其他书什么时候再版时,我的回答都是不会再版。但是,根据读者的反馈,我也许会发现书中的一些话题需要进一步解释,我漏掉了一些流行的话题,甚至有些全新的话题需要用一整章或是附录来谈论。

我的开场白说完了。现在轮到你,我的读者,来发表建议了。

您对本文章有什么意见或着疑问吗?请到论坛讨论您的关注和建议是我们前行的参考和动力  
上一篇:Oracle核心技术
下一篇:专业书评
相关文章
图文推荐
排行
热门
最新书评
特别推荐

关于我们 | 联系我们 | 广告服务 | 投资合作 | 版权申明 | 在线帮助 | 网站地图 | 作品发布 | Vip技术培训 | 举报中心

版权所有: 第一门户--致力于做实用的IT技术学习网站