Oracle优化日记

出版时间:2010 年7月  出版社:人民邮电出版社  作者:白鳝  页数:338  
Tag标签:无  

内容概要

本书是一本介绍Oracle数据库优化方法的书,以一个实际的大型优化项目为原型,用日记的形式记录了一个优化小组的DBA 如何从纷繁的头绪中找到突破口,进而完成了一个看似不可能完成的任务的历程。在日记之间,作者还穿插了优化小技巧、每日点评等,总结了数据库优化常用的方法、工具和技巧。另外本书第一次详尽地披露了Oracle数据库内部存储结构,并公布了部分代码,对于有兴趣研究数据库内部存储结构或者编写dul工具的读者有一定的参考价值。  本书适合Oracle数据库管理开发人员阅读。

作者简介

白鳝,本名徐戟,国内资深Oracle数据库优化专家,从事Oracle数据库应用开发、性能优化工作超过15年。曾供职于DEC、赛格集团、长天集团、联想集团等国内外知名企业,担任过应用体系总监、技术总监等高级技术职务。曾主持开发了国内第一套联机实时计费系统,国内第一套三检合一的检验检疫综合业务系统。1999年起致力于Oracle数据库性能优化等方面的研究,参与了大量性能优化项目,积累了许多实际工作案例。2008年起,在博客上连载《DBA日记》,希望将自己在Oracle数据库应用领域的10多年的经验与广大读者分享。

书籍目录

5月11日 出发   今日点评      优化小技巧 性能 优化项目   优化小技巧  优化常用知识1:诊断事件  5月12日 开始工作和CPU瓶颈   今日点评   优化小技巧 数据库 优化的步骤   优化小技巧 按部就班是成功的关键   优化小技巧  优化常用知识2:常用诊断事件清单  5月13日 联席会议   今日点评      优化小技巧  优化流程   优化小技巧 转储文件内容1:数据文件  5月14日 聚会   优化小技巧 系统级 优化   优化小技巧 转储文件内容2:转储对象的段头  5月15日 业务支撑系统出问题了   今日点评      优化小技巧 索引监控   优化小技巧 性能 优化时常用的工具   优化小技巧 转储文件内容3:转储控制文件  5月18日 Top SQL   优化小技巧 查找Top SQL   优化小技巧 索引设计的一些建议   优化小技巧 什么是索引的集群因子   优化小技巧 转储文件内容4:转储控制文件  5月19日 南京的死锁问题   今日点评      优化小技巧 Oracle的死锁   优化小技巧 几个常用的与锁相关的脚本  5月20日 凌晨的邮件通知短信   今日点评      优化小技巧 /10028事件   优化小技巧 PL/SQL 优化工具profiler  5月22日 ODS系统和RAC   优化小技巧 以开放的心态做服务   优化小技巧 全局热块冲突   优化小技巧 PL/SQL中数据类型的性能  5月23日 实时ODS   今日点评      优化小技巧 ODS系统中Oracle数据库设计管理要点   优化小技巧 ODS系统中的开发要点   优化小技巧 集合类型的效率  5月24日 任务提前   今日点评      优化小技巧 占位操作与开关操作   优化小技巧  优化计划调整   优化小技巧 自动段存储空间管理1  5月25日 倾斜的索引字段   优化小技巧 倾斜字段的处理   优化小技巧 自动段存储空间管理2  5月26日  优化方案   优化小技巧  优化中的排队效应   优化小技巧 DB Cache调整方案如何制订   优化小技巧 自动段存储空间管理3  5月27日 无奈   今日点评     优化小技巧 临时表空间和排序   优化小技巧 undo表空间和回滚段  5月28日 BBED的妙用   今日点评      优化小技巧 如何启用BBED   优化小技巧 模拟ORA-8102及处理过程   优化小技巧 如何计算数据块中某个字段的位置   优化小技巧 如何计算索引块中某个字段的位置   优化小技巧 自己动手写一个dul   优化小技巧 bootstrap$的访问   优化小技巧 unloadBlock函数   优化小技巧 unloadRow函数  5月29日 突破困局   优化小技巧 查找“热的”缓冲区的常用脚本   优化小技巧 什么时候需要使用多缓冲   优化小技巧 AIX操作系统 优化要点  5月30日 账务处理   今日点评      优化小技巧 表访问的方式  5月31日 电脑坏了   今日点评     优化小技巧 通过OEM录像采集数据   优化小技巧 调整游标相关参数  6月1日 ORA-4030和内存泄漏   今日点评     优化小技巧 如何分析ORA-4030  6月2日  优化方案   今日点评      优化小技巧 一个提供参考的 优化方案   优化小技巧 游标的共享  6月3日 拆分大型SQL   优化小技巧 拆分复杂SQL  6月4日 TNS-12535   今日点评      优化小技巧 防火墙和SQL*Net   优化小技巧 跟踪SQL*Net  6月5日 休息时总是最忙的   今日点评     优化小技巧 使用hanganalyze   优化小技巧 重做日志文件 优化的要点  6月6日 实施 优化   今日点评      优化小技巧 升级维护窗口的确定   优化小技巧 回退预案的作用  6月7日 突发事件   今日点评    优化小技巧 使用HINT 优化SQL  6月10日 使用自动采样比例引发的故障   今日点评      优化小技巧 关于表分析比例的判定   优化小技巧 AIX下使用vmstat分析I/O问题的小技巧  6月11日 阶段总结   今日点评      优化小技巧 STATSPACK报告在 优化项目中的作用   优化小技巧 STATSPACK报告头的解读  6月12日 阴谋   今日点评      优化小技巧 分析STATSPACK的负载数据   优化小技巧 重要的命中率指标  6月13日 演戏   今日点评      优化小技巧 Top 事件   优化小技巧 常见事件清单  6月14日 转机   今日点评      优化小技巧 STATSPACK报告分析之DB Cache1   优化小技巧 STATSPACK报告分析之PGA  6月15日 青岛   今日点评      优化小技巧 如何 优化闩锁  6月16日 SQL 优化效果   今日点评      优化小技巧 如何转储数据块   优化小技巧 通过树转储来分析索引碎片  6月17日 完美的效果   今日点评      优化小技巧 I/O系统 优化的经验与体会   优化小技巧 STATSPACK报告之I/O 问题分析  6月18日 准备收工   优化小技巧 STATSPACK报告分析之DB Cache2  6月19日 ORA-1591   今日点评   6月20日 好奇心惹的祸   优化小技巧 STATSPACK报告分析之共享池分析  7月20日 重回沈阳   优化小技巧 如何评估 优化效果   优化小技巧 STATSPACK报告分析之undo分析   优化小技巧 STATSPACK报告分析之锁分析  7月21日 课堂风波   优化小技巧 平均事务响应时间的计算   优化小技巧 STATSPACK报告分析之闩锁分析  7月22日 世博园一日游和心想事成  优化小技巧 STATSPACK报告分析之Top对象   优化小技巧 STATSPACK报告分析之Top SQL  7月23日 漫长的一夜   优化小技巧 本案例的启示  后记,也算结束语

章节摘录

在Metalink文档285270.1里对死锁检测做了一个简要的介绍,看过这份文档,再参考John的提示,仔细想想,在做死锁检测的时候,确实是必须持有parent enqueue hash chains闩锁的,因为死锁检测(DLD,DeadLock Detection)需要通过对每个资源做一个检查,才可能发现哪些资源出现了死锁。而如果对每个资源都进行一次死锁检查,那么开销就太大了,因为在一个大型系统中同时有几十万甚至上百万个资源都是很正常的。每个资源上面都有三条链:一条是持有者链,链接了所有持有这个资源的锁的情况;一条是等待转换状态链,链接了所有等待转换锁状态的请求;还有一条是等待锁定链,链接了所有等待锁的请求。如果不出现死锁,那么这三条链和资源的状态在很短的时间内肯定会发生变化,而死锁出现时,相关的资源肯定在很长时间里都不会发生变化。,因此在检测死锁时,只需要对那些从上回检查后状态一直没有发生过变化的资源进行检查就可以发现死锁了。为了获取这些数据的一致性视图,在做死锁检测时就必须持有这个门锁。死锁检测本身很快,所以一般情况下不会引起问题。不过,如果出现了死锁,要做死锁情况转储时就可能会出问题。系统状态转储或者进程状态转储被挂住的可能性也是存在的,这很可能是由于另外一个bug引起的,无论哪个bug,关闭转储应该可以解决问题。由于在进程状态转储时,死锁检测会话会持有parent enqueue hash chains父闩锁,所以在这个时候,任何需要申请锁资源(包括内部锁)的操作都需要等待。由于游标分析需要申请library cache lock,所以在这种情况下,游标分析无法进行。部分会话会报ORA-600 kksscl-inf-inl-loop故障。看看手机,已经是早上6点多钟,澳大利亚已经是早上8点多了,Ben可能已经起床。Ben有早上上网阅读早新闻的习惯,希望能碰到他,和他聊聊这个问题。打开Yahoo Pager,发现:Ben已经在线了。Ben听了问题的叙述后,也立即说这是Oracle的一个顽疾,虽然出了很多补丁,但是还有一些问题没有解决。.Ben在Oracle工作快10年了,作为澳洲Oracle的救火队员,他处理过10多个类似的案例,因此他十分肯定地说我的猜测是对的。同时,我从Ben那里拿到了一分关于bug2235386的资料,这份资料比我在Metalink上看到的要详细得多。从中,我有了十分惊人的发现。bug 2235386里面详细介绍了ORA.60导致系统挂住的情况,里面的内容与我和John的想法基本一致,但是patch 2235386并没有解决这个问题。要解决这个问题,需要在做进程状态转储之前最好释放闩锁,而这是不可能的,因为这样会导致进程状态转储或者系统状态转储的信息不准确。因此在这个补丁里引入了10027和10028两个事件,通过设置这两个事件来开启或关闭进程状态转储或者系统状态转储。原来如此,patch 2235386并不能解决问题,而仅仅提供了解决问题的方法,因此Oracle的工程师仅仅是打了补丁,而没有解决问题,必须打完补丁后,通过设置10028事件关闭系统状态转储,才能解决这个问题。在死锁出现时,进程状态转储对于客户来说是没有多大用途的,因此关闭后对客户分析问题影响不大。忙完这些已经快9点了,虽然昨晚一夜没怎么睡,不过现在一点都没有觉得困。上午一上班,我就和李工通了电话,在电话里,把我的发现和他进行了沟通。李工也基本认同了我的分析,决定先找一个本地网来做做实验,如果能够解决问题,再全面推广。原本定于今天下午的关于RAC的交流,由于他们有事,押到明天进行。看样子今天可以休息一下了。

后记

到今天,这本书也就结束了,其中介绍了一个实际的优化案例。有些读者可能会感到里面的内容有些乱,也有些人可能感觉抓不到头脑,不知道我想表达些什么。确实,这本书如果当做小说来看,未免太枯燥;如果当做纪实文学来看,又不能弘扬主旋律;作为技术书来看,里面又缺乏有分量的技术。实际上,我在刚开始就说过,本书不是一本介绍Oracle技术的书,因此读者并不需要像读技术书那样一字一句地去抠一些字眼。通过这本书,老自给大家展现了一个优化项目,并且教给大家一些系统优化的方法和技巧,特别是在优化项目中如何控制项目,如何让整个优化工作按照自己的预想进行。粗粗看一遍本书,可能会感觉一个优化项目里好像也没有什么,实际上如果你能够仔细回味一下,或者把本书仔细翻阅两遍,你会发现在平淡的工作中还隐藏了很多内容。实际上,优化项目里面并没有十分高深的技术手段。本书中,老白和老于他们采取的所有技术手段都是大家以往学习过的,都是一些耳熟能详的东西。没有做过优化项目的人,可能觉得做一个优化项目无从人手。也有一些人可能感觉优化项目里使用的技术不过如此,优化实际上也不是什么很难的事情,不过如果你真的去做一个优化项目,就会感觉好多地方都无法把握。确实是这样,优化项目中最难的是准确的判断,准确的把握。在前期的数据采集和分析阶段,你真的已经了解了系统的现状和主要问题吗?实际上,要回答这个问题并不简单,这需要很丰富的经验。如果你对数据库的原理融会贯通了,那么很容易从数据库运行的原理去考虑问题,也就很容易找到目前系统存在什么问题。否则,你可能无法抓住主要问题,真要是这样,这次优化基本上就报销了。其实本书各部分的内容都是我精心安排的,哪怕是一些好像没有什么技术内容的章节。比如“电脑坏了”那一节讲的虽然是我的电脑坏掉了,如何去修理,如何通过小齐从HP沈阳办事处借了一台电脑。实际上,这一节的安装软件那方面的内容,介绍了一个DBA的电脑里最常用的工具软件。我虽然不是一个唯工具论者,但是我认为工欲善其事,必先利其器。适当地使用工具,合理地使用工具是十分重要的。一个只会使用SQL*Plus的DBA并不一定就是一名优秀的DBA。“世博园一日游”那一节实际上是要向读者说明DBA和客户沟通时应该掌握一定的技巧,做DBA不能光有技术,而且需要通过一些小手段,让客户对你产生信任,以及出现危机时,如何去化解和扭转。对于每个DBA或者想成为DBA的读者来说,DBA日记从另外一个侧面介绍了一名DBA应该如何去工作,在DBA工作和生活中有哪些需要注意的地方。

媒体关注与评论

“我知道很多DBA都有自己收藏的一本秘籍,包括处理各种Oracle问题的必杀术,其中关于性能调优的特别多。可惜这里面有很多道听途说的成分,或者知其然而不知其所以然。反观此书,有很多活学活用的例子;对于各种技巧的适用范围,也尽量阐述清楚。从最后成书的内容看,作者还是比较负责的。书中的指令,大都经过上机验证。”  ——Ben Wang,澳大利亚知名Oracle技术高手

编辑推荐

《Oracle优化日记:一个金牌DBA的故事》以作者亲身经历的一个大型优化项目为原型,用日记的形式讲述了项目实施的全过程。生动曲折的项目故事,扣人心弦的尖峰时刻,一一再现了几个经验丰富的老DBA分析数据库性能问题时的真实场景。书中不仅剖析了优化过程,还展现了在优化项目中处理纷繁的关系的技巧和方法。伴随精彩的故事情节。作者还介绍了DBA常用的优化技巧,使读者在大呼过瘾的同时。亦能分享到金牌DBA的宝贵经验。数据库优化一直是DBA感到十分高深的问题,很多DBA学习了大量优化技术,参加了大量培训,但是仍然感觉在实际工作中无从入手。实际上,在数据库优化工作中,比技术更为重要的是方法。金牌DBA精彩纷呈的经历,86个优化技巧活学活用,培养多种能力,保障职场成功,恩墨科技创始人、Oracle ACE Director盖国强倾力推荐。

图书封面

图书标签Tags

评论、评分、阅读与下载


    Oracle优化日记 PDF格式下载


用户评论 (总计44条)

 
 

  •   一个DBA的优化工作经历,通过几个优化实例多角度讲述了oracle数据库优化,实用性挺强,里边不仅仅从技术角度讲述优化,也考虑到客户心理、市场运作等多方面,给人的感觉优化不仅仅是技术问题,要全方位考虑,读过之后受益匪浅。
  •   写的不错噢,挺有意思,本来是打算看看sql方面的优化的,毕竟是开发人员嘛,不过看不太懂,适合数据库开发人员看!
  •   刚拿到这本书(三本中的一本),正版,干净,没什么好说的。做公司当如是也。
    翻看几页。此书内容结构自上向下,所以没有基础的人看起来会很困难。当我说有基础指的是:你玩过oracle,基本的东西都能玩得转。入门的朋友似本人者,需要多考虑一下。
  •   发货速度很快,质量还不错,书角运输过程用有一点破损,不过不影响,大致浏览了下,这本书确实很不错,适合DBA收藏。
  •   图书确实是当当的发家产品,有优势,速度快,质量好。书的内容更好,是难得的一线DBA的经验分享,具有操作意义。
  •   老白的一本好书,我是他的崇拜者,技术可以学,经验却需要总结,内容也很丰富,购买了这本书很值
  •   这本书不错,值得推荐的
  •   以个人及团队接到的一个案例分析说明。
  •   格式新颖,内容随意,技术欠缺!
  •   这个人讲的方式特殊,但是需要有一定基础的人看
  •   此书不错,值得阅读,了解了不少相关的知识。
  •   老白的书,写的一向很细致
  •   不是我想看的书
  •   看了很有真实感
  •   有种华山论剑的感觉
  •   买了看了几页就后悔。
  •   看了一半了,相当通俗易懂,小说一样的
  •   像看小说一样,很有意思!
  •   可读性很强,可以当故事看。
  •   很适合数据库研究者学习研究
  •   数据库的故障千奇百怪,按照我的水平,要能解决大部分故障非要读一大堆书。
    但是这本书能够通过一个经验丰富的DBA把他遇到的故障按照他的思路进行排除,可以教会我如何排除故障,更教会我查找故障的思路。
  •   我的第一本ORACLE启蒙图书
  •   该书主要通过实际的例子和经验来介绍DBA需要了解的知识,比较适合做过一段DBA工作的人阅读
  •   编排新颖,是通过日记的方式描述
    内容实用有借鉴意义
  •   看了一大部分,挺好的,都是实战经验,每章后面的技术总结写的很不错
  •   有点太难了,建议有一定基础的朋友看,最好是有几年应用的。
  •   初学者就不要看这本书了,绝对没有作用,但是级别稍微高一点的看,有很好的提升作用。
  •   还没看呢,计划认真读读
  •   经验之谈,不错
  •   刚看了下还行
  •   这本书,如果当成是故事书看还可以,但,技术方面则太杂了
  •   基本是在扯淡,不推荐买
  •   上版书挺好,这版书有点贵。
  •   技术没写多少,净吹牛了,一到关键地方就不写了。
    不想介绍真东西就别写书。
    同一个脚本能贴10多页,而且叠在书上不觉得可耻么?
    不能放在附件里或者电子脚本里么?
    好好学学国外的经典书籍是怎么写的再出书吧,技术类图书不是写小说!!!!
  •   真的是日记,适合有较好的基础人读,新手读很吃力
  •   不错,全新,内容也不错
  •   初看老白的书,觉得这书很好看,就像小说。看着不累。再过一段时间后,觉得这书的作者太能吹。现在回来再看这书,才发现,作者的水平真是高。。。按照书中的方法,明显改善了我工作的效率。每一次读这本书,都会让我有新的收获。老白的3本书都非常棒,强烈推荐全看一看。
  •   老白的书真的很好,不仅仅介绍DBA的技术层面的东西,同时也介绍可很多沟通和处理事情的技巧!
  •   很實在的優化日子
  •   对于DBA比较适合的一本书
  •   看此书浪费时间
  •   小说体的技术书
  •   以日记的形式记录了dba的项目经验
  •      选择走数据库的道路,纯属是意外。学的是软件工程,大学毕业那会希望能走项目经理、架构师的道路。但后面阴差阳错,接触了ORACLE,并管起了公司的一个小库,随着对ORACLE的认识加深,从此一发不可收拾,开始喜欢上了数据库,或者说是热爱数据库。
      
       记得,做出当DBA的决定时,第一件事是去搜索DBA的待遇。诚然,由于ORACLE在数据库市场上的巨大成功,使得国内在2000到2005年涌现出了一批ORACLE的高手,并且取得了巨大的职业成就。这也是深深吸引我的一个地方。
      
       但直到接触《RAC 日记》前,我是不清楚DBA的生活是怎样的,以为就是研究下ORACLE的体系结构,搞搞调优,管管主机或者进行其他的深入。同时因为自己是处在甲方,而甲方的资源有限,这种有限的资源成为了逐渐成为了一个职业瓶颈,使得自己慢慢迷茫起来。
      
       不是夸张,这边不是讲技术的技术书,把DBA的职业经历,酸甜苦辣都道了出来。作者老白是个牛人,经历的生活比较精彩。这种平凡确不单调的日子,才是有意义的。
      
       也是读此书的一个感悟。
      
 

250万本中文图书简介、评论、评分,PDF格式免费下载。 第一图书网 手机版

京ICP备13047387号-7