作者文章: Fenng

Jonathan Lewis 对 TOP 一书的推荐序

Jonathan Lewis 是 Oracle RDBMS 领域的技术 Guru。
下文是他为 Troubleshooting Oracle Performance 一书所做的推荐序。提前贴出来分享一下。
这本书的中文翻译版(名字定为《Oracle性能诊断艺术》)已经排版结束,即将进入印刷厂。敬请期待。

大约在20年前我开始使用Oracle关系数据库,花费了大约3年时间我发现问题排查和优化以接近神秘莫测而著称。

有一个开发者的查询语句跑得不是很好,因此把它发送给DBA组。我在检查了执行计划、数据样本后指出可以通过对其中一个表添加一个索引而消除大多数开销。开发者的反应却是:”这是个小表,不需要索引。”(这种事情发生在使用Oracle RDBMS 6.0.36版本的那个时代,顺便提一下,那时候”短”表意味着不超过四个数据块长。)不管怎样,我还是创建了索引,查询快了30倍—-接下来的解释环节当然必不可少了。

性能排查并不需要魔法、魔术或是神话,而是依赖于理解、观察与解释。理查德•费曼曾说过,”理论再完美也没用,也和你多聪明无关。如果理论与实践不符,就是错的。”关于 Oracle 性能有太多的”理论”是错的,早就应该从你的大脑清除出去了—-Christian Antognini 就是帮你做这个事情的人。

在本书的开始,Christian Antognini描述了事物运行机制,该观察什么类型的症状,这些症状代表的含义。尤其是,他还鼓励你在观察与分析的时候要有条理并坚持相关的细节。只要采纳了这些建议,在性能问题出现的时候,你应该能够识别真正的问题,并用最合适的方式解决问题。

虽然这本书的每一页都值得仔细阅读,我还是认为不同的读者会以不同的方式从中受益。有些读者可能通过时时翻阅而获取某些特别的洞察力。比如我多年来一直试图就等高直方图这样的命名找出一个直接明确的原因,而当我读到第4章解释等高直方图的时侯,Christian的描述让我豁然开朗。

有些读者能找到某些特性的简短描述,这有助于他们理解Oracle实现该特性的缘由,并有助于推断在特定应用程序中的应用场景。第5章中的”安全视图融合(Secure View Merging)”即为一例。

其他读者可能会反复阅读本书的某一章节,以便透彻理解他们正在使用的一些特别重要的特性。我相信第9章关于分区的讨论扩展会让很多人读而再读。

这本书很有料,很值得阅读。谢谢你,Christian。

Jonathan Lewis

Jonathan Lewis 著有 Cost-based Oracle: Fundamentals,同样由Apress出版社出版。在他的Blog上http://jonathanlewis.wordpress.com 能找到更多的工作案例。

EOF

此文作者:, 位于 Database 分类 标签: on .
转载须以超链接形式标明文章原始出处和作者信息及版权声明.

Oracle 11gR2 几个值得关注的新特性

读了一下 Oracle 11gR2 的新特性列表,发现几个新特性是值得关注的。
Support 4 KB Sector Disk Drives

为了更充分的利用容量,新一代的磁盘扇区趋向于用 4KB 的扇区而不是旧有的 512 byte 。如果就兼容模式,无疑会影响 I/O 性能。Oracle 11gR2 对 4KB 扇区的支持在 I/O 上是个很好的改进。以前的版本中,都是操作系统默认的大小(512 byte)。这个改进收益最大的可能就是 Redo Log 文件了,要知道 Redo 文件的写速度一直是一个潜在的 DB 瓶颈,现在终于可以指定 4K 而不是默认的 512 byte 了(通过指定 BLOCKSIZE 来替代操作系统依赖的扇区尺寸)。相信写入速度会好很多。

这个 4K ,真是个有趣的话题,还记得以前的 4K 偏移量的问题么?

ASM Cluster File System (ACFS)

Oracle 自己推 ASM 集群文件系统了。

Oracle Automatic Storage Management Storage Layers.gif

看看示意图就知道第三方的集群文件(比如Veritas)系统要受到影响.

Enable Sampling for Active Data Guard

本来 Active Data Guard 就是个很好的东西–在这一点上 Oracle 终于能做到和 MySQL 差不多了。现在 Active Data Guard 上支持了 ASH 性能采样。调查性能问题的时候,基本上不影响主生产库了。

Oracle_Active_Data_Guard.jpg
Data Pump

对于 Data Pump ,可能做数据仓库的同学要注意了。现在Data Pump可以指定分区导出。而 Worker 进程也可以跨多个节点进行了。

另外对于 Flush Cache 的特性,我觉得成本太高了。开源的方案更靠谱一些。

走马观花了一下新特性,感觉有一些亮点,不过光有亮点如果用户不接受的话也没有用,谁让 Oracle 所有的新版本都是一堆 Bug 呢?

EOF

补充一个刚看到的:

IGNORE_ROW_ON_DUPKEY_INDEX Hint for INSERT Statement

这个也是 MySQL 之前有的功能…

TOP 作者Christian Antognini寄语中文读者

感谢 Troubleshooting Oracle Performance 作者 Christian Antognini 给中文读者的寄语。现在此书译稿已经进入排版阶段。期待能早日面市。

下面是 Chris 的邮件内容:

I still remember when I saw for the first time part of my book translated in Chinese. I was looking at the news provided to me by Google Alerts when, among the other links, there was a link related to “Troubleshooting Oracle Performance” (this is one of the terms I monitor through Google Alerts) pointing to a Chinese page. I opened the referenced page and, it goes without saying, I was not able to read it. I just recognized the cover of my book and its name. So, I put the first part of the text in yet another Google application to let translate it to English. Then I understood what it was all about. It was part of chapter 1 of my book. Amazing!

If you have a copy of the Chinese edition in your hand, it means that the translators managed to finish their work. I know for sure that it was a huge undertaking and, therefore, I would like to thank David Feng、Jame Tong、Yiwen Hu and Yi Zhu for doing it. I know that they spent a considerable amount of their valuable time to translate the text. Thanks to them, more people will be able to learn something about Oracle Database, how to use it efficiently and how to approach performance problems. And that is something that makes me proud. I hope you will be one of them.

Christian Antognini
August 14, 2009


TOPcovers.jpg我还记得当我第一次看到这本书的部分内容翻译成中文的那一刻。当时我在查看Google Alerts服务提供给我的新闻,在这些链接中,有一条和”Troubleshooting Oracle Performance”(这是我通过Google Alerts服务监控的关键词之一)相关的链接指向一个中文页面,我打开该页面,不用说,我看不太明白。我只是知道和我的书有关。所以,我把第一部分内容用Google的另一个应用(Google翻译)译成英文。然后我明白这是怎么回事了。这是我的书中第一章的部分内容。令人惊讶!

如果有一本中文版在你手里,这意味着译者已经完成他们的工作。我确信那是一项艰巨之事,所以,我要感谢冯大辉、童家旺、胡怡文以及朱一等几位译者的工作。我知道他们花费了大量宝贵时间进行翻译。感谢他们,更多人可以学习关于Oracle数据库的知识、如何高效使用以及如何解决性能问题。这让我感到自豪,我希望你也是从中获益的读者一员。

Christian Antognini
August 14, 2009

(邮件内容翻译的比较匆忙,见谅)

EOF

此文作者:, 位于 Database 分类 标签: on .
转载须以超链接形式标明文章原始出处和作者信息及版权声明.

面向生产环境的SOA系统设计 by 支付宝程立

在刚刚举行的系统架构师大会上,支付宝首席架构师程立分享了《面向生产环境的SOA系统设计》这个技术话题。现在把 PPT 第一时间和大家分享一下。

程立在 SOA 功底深厚。上次在 InfoQ QCon 会议上程立的话题也是有关 SOA。本次演讲内容侧重与上次侧重点不同。只是因为会议时间有限,所以有几页没有完全展开来讲,稍稍有点遗憾。

感谢程立。大家针对该 PPT 有任何问题的话,请留言或者发邮件给我,我将第一时间转给他。

关于 PPT 作者

程立是支付宝公司的首席架构师。他从2004年起参与支付宝与淘宝网的建设,2005年正式成为支付宝人,随着支付宝的业务与技术的成长,从开发工程师、架构师到首席架构师一路走来,全身心投入并见证了支付宝业务与系统发展的完整过程。


支付宝一直在招聘软件架构师,我们是 Java 开发环境。如果您对支付宝感兴趣,并且想让自己做的东西服务于两亿多的用户,不妨联系我们或者直接发简历到: [email protected]

EOF