让Oracle跑得更快

出版时间:2010 年8月  出版社:电子工业出版社  作者:谭怀远  页数:438  
Tag标签:无  

前言

笔者在写这本书的时候,翻看了很多当前国内数据库方面的书籍,发现写性能优化的书并不多,特别是从工作经验和思路上来讨论性能方面的书,更是少之又少,这些因素让笔者思考要写这样一本书,这也算是这本书的一个定位。在这本书里,你将会学到笔者在性能优化方面的一些思路和思考,一些故障处理的方法和原则,这些东西是笔者在实践中长期积累的心得体会,在笔者看来,掌握处理问题的方法和分析问题的思路在日常工作中显得更为重要,当你掌握了一些处理问题的基本思路之后,剩下的工作就是去Google或者阅读参考书了。本书的一个特点是,凡是作者提到的观点,都尽可能地使用一些例子来证明它,这样看起来更有说服力一些。为什么会出现数据库的性能问题性能问题是最近几年来DBA们越来越关注的一个数据库技术领域,归根结底,造成它的原因是最近几年信息化进程的飞速发展,导致了很多系统的用户数量猛增,数据库中存储的数据量亦成几何级数激增,数据库作为数据处理和存储的最终受体,将必然直接承担这种变化导致的性能下降。因此在人们对信息的依赖性越来越强的时候,对信息使用的效率也变得越来越关注,这样数据库的性能优化问题就日益严重地压在DBA的身上。

内容概要

在《让Oracle跑得更快:Oracle 10g性能分析与优化思路》里读者将会学到作者在性能优化方面的一些思路和思考,一些故障处理的方法和原则,这些东西是作者在实践中长期积累的心得体会,当读者掌握了一些处理问题的基本思路之后,成为一名合格的DBA就是一件轻而易举的事情了。  《让Oracle跑得更快:Oracle 10g性能分析与优化思路》适用对象:Oracle DBA、Oracle开发人员,和其他对Oracle数据库感兴趣的人员。

作者简介

谭怀远,副总工,DBA团队负责人,在国内属于较早进入专职DBA岗位的人。是国内著名数据库论坛ITPUB的资深版主。论坛idalantarny。10年的Oracle DBA工作经验。从Oracle 8开始进入数据库领域,从Oracle 8到Oracle 8i,Oracle 9i,Oracle 10g,见证了中国DBA职业的发展历程。作者对数据库的性能优化有独到的见解,颇擅长于海量数据数据库的设计管理及优化工作。

书籍目录

第1章 引起数据库性能问题的因素 1.1 软件设计对数据库的影响  1.1.1 软件架构设计对数据库性能的影响  1.1.2 软件代码的编写对数据库性能的影响 1.2 数据库的设计  1.2.1 0LTP数据库  1.2.2 0LAP数据库 1.3 数据库的硬件设计  1.3.1 存储容量  1.3.2 存储的物理设计  1.3.3 数据的安全 1.4 小结第2章 锁和阻塞 2.1 关于锁 2.2 锁和阻塞 2.3 引起阻塞的其他情况  2.3.1 select for update  2.3.2 外键和索引第3章 Latch和等待 3.1 共享池中的Latch争用 3.2 数据缓冲池Latch争用  3.2.1 表数据块  3.2.2 索引数据块  3.2.3 索引根数据块  3.2.4 段头数据块第4章 优化器 4.1 RB0基于规则的优化器 4.2 CB0基于成本的优化器第5章 执行计划 5.1 Cardinality(基数) 5.2 SQL的执行计划第6章 Hint 6.1 和优化器相关的Hint  6.1.1 all_rows和flrst_rows(CB0)  6.1.2 RULE Hint 6.2 访问路径相关的Hint  6.2.1 RULE Hint  6.2.2 RULE Hint  6.2.3 RULE Hint  6.2.4 INDEX_DESC Hint  6.2.5 INDEX_COMBINE Hint  6.2.6 INDEX_FFS  6.2.7 INDEX_JOIN  6.2.8 INDEX_SSHint 6.3 表关联顺序的Hint  6.3.1 LEADING Hint  6.3.2 ORDERED Hint 6.4 表关联操作的Hint  6.4.1 USE_HASH,USE_NL和USE_MERGE Hint  6.4.2 N0USEHASH Hint  6.4.3 N0_USEMERGE Hint  6.4.4 NO_USENL Hint 6.5 并行执行相关的Hint  6.5.1 PARALLEL Hint  6.5.2 NO_PARALLEL Hint 6.6 其他方面的一些Hint  6.6.1 APPEND Hint  6.6.2 DYNAMIC_SAMPLING Hint  6.6.3 DRIVING_SITEHint  6.6.4 CACHE Hint 6.7 小结第7章 分析及动态采样 7.1 直方图 7.2 DBMS-STATS包 7.3 动态采样  7.3.1 什么是动态采样  7.3.2 动态采样的级别  7.3.3 什么时候使用动态采样 7.4 小结第8章 并行执行 8.1 并行和0LAP系统 8.2 并行处理的机制 8.3 读懂一个并行处理的执行计划 8.4 一个很常见的并行执行等待事件 8.5 并行执行的适用范围  8.5.1 并行查询  8.5.2 并行DDL操作  8.5.3 并行DML操作 8.6 并行执行的设定  8.6.1 并行相关的初始化参数  8.6.2 并行度的设定 8.7 直接加载  8.7.1 直接加载和REDO  8.7.2 直接加载和索引  8.7.3 直接加载和并行  8.7.4 直接加载和SQL*LOADER第9章 变量绑定 9.1 什么是变量绑定,为什么要做变量绑定 9.2 为什么说0LTP必须要求变量绑定而0LAP不应该绑定变量 9.3 bind peaking第10章 SQL_TRACE和10046事件 10.1 SQL_TRACE 10.2 TKPROF工具 10.3 10046事件第11章 10053事件第12章 性能视图和性能参数 12.1 性能视图  12.1.1 V$SQL  12.1.2 V$SOLSHAREDCURSOR  12.1.3 v$session  12.1.4 V$sessstat  12.1.5 V$session_wait 12.2 性能参数  12.2.1 Cursor_sharing  12.2.2 DB_FILE_MULTIBLOCK_READ_COUNT  12.2.3 PGA_AGGREGATE_TARGET和SGA_TARGET  12.2.4 OPTIMIZER_DYNAMIC_SAMPLING第13章 性能报告 13.1 AWR性能报告  13.1.1 生成AWR性能报告  13.1.2 AWR性能报告分析 13.2 Statspack性能报告  13.2.1 Statspack的安装  13.2.2 Statspack性能采集 13.3 ASH性能报告  13.3.1 生成ASH性能报告  13.3.2 ASH性能报告分析 13.4 小结附录A 常见的等待事件后记 关于数据库的学习方法

章节摘录

插图:比如是超过3000个并发,通常这种情况下,我们会考虑采用一套软件来搭建一个中间层,这就是通常讲到的3层或是多层结构。使用这一套软件的目的是用来构建一个缓冲池,在数据库之前对大量的并发进行处理,以便于每次只有少数的用户连接到数据库中,其他的用户在缓冲池的队列中等待。当然,这只是一个动态的过程,程序会尽可能快地去响应所有用户的请求,这种提前对大量并发用户进行处理的方式,会比让这3000个用户直接连接到数据库中效果要好得多,同时数据库也可以使用更多的资源来处理用户的操作请求而不是去开3000个进程来处理每个用户的请求,这个开销是非常大的。所以对于大量并发的系统来讲,在数据库之前建一个缓冲用户请求的中间件服务,显得至关重要。同时,很多这种中间件软件还提供了负载均衡的功能。当然,Oracle数据库自身也提供了一种MTS的技术,作用和这种中间件服务是一样的,但目前看来,采用商业中间件软件或是开发商自己开发一套中间件服务的做法更多一些(参见图1.1 )。1.1.2 软件代码的编写对数据库性能的影响软件代码对数据库的影响,通常指的是应用程序代码中对数据库操作的代码部分对数据库产生的影响。具体来讲就是SQL语句或是PL/SQL包。SQL语句造成的影响,一种是SQL,语句本身在逻辑上就是效率低下的,另一种就是SQL语句没有绑定变量。性能低下的SQL语句,比如使用Hint不合适的外连接,谓词的隐含转换,优化器的选择等,会对SQL的执行产生非常大的影响,特别是多表关联的情况下,影响更是显著。

后记

我想在这里聊一些数据库方面的学习方法,算是对自己这些年学习的一个总结,也可以给那些才进入Oracle领域的朋友们提供一些借鉴。如果能够使你有所收获的话,我将非常高兴。1、英语和技术的关系从2005年开始到现在,我只看过三本关于数据库方面的印刷书籍,都是由一个人写的,他叫Tom Kyte,业内都叫他Tom,这三本书分别是:《Expert One-Oil-One Oracle》——《Oracle专家高级编程》《Expert_Oracle-Database Architecture》——《Oracle 9i&10g编程艺术深入数据库体系结构》《Effective Oracle by Design》——《Oracle高效设计》在买这三本书时,多少带有些许百目性,因为崇拜书的作者,所以爱屋及马地买了他写的所有的书,实际上我用在看这三本书上的时间并不多,更多的时候我都泡在Asktom.Oracle.com这个网站上,就是这个网站,改变了我对问题的思考方式和学习方法。对于大多数中国人来说,特别是做技术的人,英语成为很多人的软肋,这是一个无奈的局面。我甚至听到很多人在说,为什么非要学习英语,自己国家的话说好就行了,言辞之间颇鄙视那些学英语的“崇洋派们”。本身这句话也还不错,作为自己国家的公民,学好自己国家的语言,自然是再好不过的事情。但是很遗憾的是,我们说着自己的语言,却在用着别人的东西。用别人的东西,却拒绝学习别人的语言,这看起来不免有些矛盾。如果有一天世界上所有的商业软件都来自于中国,那么我们再自豪地鄙视那些学习英语的人也不迟。所以我必须要说的是,如果你想把计算机的技术学深一些,请你务必要学好英语,至少要做到能够熟练阅读英文文档的哑巴英语,如果再进一步,你能够使用英语和别人做书面的沟通(比如在论坛中或者E-mail中提出问题),那会更好一些。在Asktom.Oracle.com中有来自世界上很多国家的Oracle DBA或者开发人员在提出问题,我最初的时候只是浏览,后来尝试着用自己蹩脚的英语向Fom提出了一个问题,当收到Tom给出的回复后,当时心情真是无比的激动,可喜之余不免又甚感悲哀,为什么一个简单的提问,却让我欢喜至此呢?原因大概是,我们和他们之间沟通太少了,一个小小的问答,对我来说就像跨过一个巨大的鸿沟。之后的日子里,就慢慢习惯了这种学习方式,当我有一个问题,在找遍了所有的Oracle官方文档,Google和Metalink(一个Oracle公司的在线技术支持平台)未果之后,总是能够在这里得到一个确切的回答,它已经变成了我在技术上最后的依靠了。

媒体关注与评论

作者将自己多年的经验用自己的语言和通俗的比喻给我们展示出来,带给人的是另一种体验,更亲切和容易理解。除了常规的优化所涉及的范畴及Oracle 10g开始推出的AWR和ASH之外,作者还引出了10053这样的CBO相关的事件及不少的Hint方法,这些都将帮助我们非常深入地研究数据库的SQL优化问题。相信作者将亲身经历的体验深入浅出地展示给我们,能给Oracle数据库爱好者很好的帮助。  ——冯春培当我们在2004年开始编辑出版Oracle技术书籍时,国内原创的作品还十分有限,现在,这种情况完全改变了,越来越多的技术爱好者开始总结、写作和分享,Oracle技术出版物开始丰富起来。在这个历程中,ITPUB论坛一直推动着Oracle数据库技术的探讨和应用,作者alantany来自于ITPUB的一位技术专家,他将自己多年的实践与经验不断总结出来,和我们大家分享,这种精神与坚持值得尊敬,我乐于见到这样的作品问世,也期待作者能够坚持不懈,不断同我们分享他的知识与经验。  ——盖国强,恩墨科技创始人,Oracle ACE总监很欣喜地看到这几年来国内Oracle数据库技术原创书籍的蓬勃发展,对每一位能够坐下来并且将自己的经-验写出来的作者我都报以深深的敬意。可以说这本书作者拥有得天独厚的工作环境,据我所知,他所参与管理的数据库无论是数量还是大小还是性能要求上在国内都可以排入前列,因此这是一本融合了真知灼见、可以指导实际工作Oracle数据库性能优化书籍。实际上我更希望读者们可以从后记开始读起,作者在后记中提及的所有观点都与我不谋而合,我同样相信无论是后记中这些观点还是全书中记录的技术知识,对于所有从业人员都有极大帮助。  ——业内资深Oracle技术专家,Oracle ACE张乐奕据我所知作者是中国独立撰定Oracle性能优化书籍的第一人,该书几乎涵概了Oracle性能优化的所有主题,在国内数据库性能优化领域的书籍中实属罕见。  ——谢永生,资深Oracle培训讲师The fast and easy way to understanding the fundamentals of database performance tunning. If you retired of wading through huge technical manuals that drown you in jargon,making it difficult to decipher database performance issues,help has finally arrived.Simple enough for a beginner,but challenging enough for anadvanced user,this book is your shortcut to mastering database  perfperformance tunning.  ——Mike ITG(Investment technology group)资深软件工程师

编辑推荐

《让Oracle跑得更快:Oracle 10g性能分析与优化思路》:ITPUB技术丛书

图书封面

图书标签Tags

评论、评分、阅读与下载


    让Oracle跑得更快 PDF格式下载


用户评论 (总计122条)

 
 

  •   书本质量不错,让Oracle跑得更快——Oracle 10g性能分析与优化思路,学习了
  •   DBA的思想天空:感悟Oracle数据库本质【Oracle资深专家力作以真实案例贯穿始终
  •   前几天买了让Oracle跑得更快-基于海量数据库的性能和优化,很不错的两本书,值得买
  •   推荐有项目需要的人阅读,不是一本入门书,面向有一定经验的开发人员和dba。
    如果正在使用oracle,强烈推荐阅读。
  •   这本书讲的性能优化思路比较通俗易懂,可以把这本书作为引子,去读oracle 10g的联机文档和其他性能相关的文章,受益匪浅,值得一读。
  •   一本操作与理论融合手册,解决常用数据库优化方法,讲解精炼,不必翻看Oracle砖头书,实在难得。
  •   可以说是从这本书上得到了怎样优化oracle的思路的, 之前的书都没有这么平易近人
  •   非常罕见的一本书,书中基本包含了oracle所有和性能相关的知识点,不错,解答了很多我困惑了很久的问题。另外,作者写作的风格非常好,书读着很舒服,一点不枯燥,对作者的写作能力非常佩服。买得值
  •   讲得倒是通俗易懂,挺好的。适合于初学ORACLE优化的读者。
  •   书写的深入,适合于有一定oracle使用经验与优化经验的朋友。
  •   让Oracle跑得更快让Oracle跑得更快
  •   书籍值的买,不错,需要一定的oracle基础的。思路比较清楚
  •   适合有oracle基础的用,很实用,作者的经验很丰富
  •   oracle不错的一本高级开发的书
  •   oracle深入了解
  •   这本书讲的不错,最近正在学习oracle 正好可以用上
  •   里读者将会学到作者在性能优化方面的一些思路和思考,一些故障处理的方法和原则
  •   比较有针对性,适合DBA 初级者使用
  •   书确实还不错,讲的比较详细,适合中级DBA阅读。
  •   这个属于数据库优化方面的书籍,内容挺好的
  •   关于性能优化方面的书,优化方面较全。
  •   以前在新华书店看过这本书,而且大部分都看过,但是总是看过之后忘,最近考虑买一本实体书放到家里面温故而知新,总的来说,这本书比较贴近实战,教会了大家处理问题的思路
  •   非常适合做数据库的软件研发人员学习
  •   性能调优中的极品,谢谢
  •   讲的比较通俗,跟优化艺术可以配合着来看,还是不错的
  •   作者从自己长期的工作经验和学习中的思考出发,即有深入浅出的原理解释,又有有用的实战方法和建议,文笔易于轻松阅读,书中错误数量也少于平均水平。
  •   1书本质量很好,属于读起来不费眼,比较舒服的
    2书的作者是很有经验的,总结和书写的角度可能较高吧,适合有一定经验和基础的人来看,我等着慢慢钻研呢,呵呵。
  •   谭怀远的书不错~~~~~~~~~~~
  •   本人是开发测试人员,此书对我来说有些难,但如果向管理员方向发展的话还是不错的一本书
  •   作者从自己的经验出发,值得一看。
  •   很好,看了一些了。
  •   个人感觉很好,很实用, 对于开发人员来说,应该足够了。
  •   这两本书都把难懂的问题用简单的话描述出来,令人佩服,让读者在轻松中学到了宝贵的经验,谢谢!
  •   第一天看,虽然看的不多,但很有收获。应用类型的书籍,对工作很有帮助。不过个别地方需要校正,看了50都也,无意发现两处错误,容易误导读者。有一处在58页中间部分,我觉得应该是select * from t1 where object_id
  •   很适用,不适合没有基础的人,很多点,都说的很透,值得推荐。第二本也买了,但是还没看。
  •   很符合要求,理论相当较少,实例流程实践方面比较多,看着条理清楚。
  •   宝贝还可以。只是我们选在非周末送货,而物流人员却在周日电话通知货物上门的消息,因此收送货上就有了点麻烦,希望能在指定时间发送,省去各自的时间和麻烦。
  •   也有11G的东西在里面
  •   当当自营的东西,千万不要买。我买了一个灯。灯管碎了,换货几乎是不可能,我电话费都可以换一个灯了。每次说电话回复,从来没有。四天,四天都没有上门取货。
  •   这本书看了两遍,对实践很有帮助。
  •   一本针对于实践写的,没有看完,但是很有收获
  •   刚看了开头就觉得此书和其他书有本质区别,都是从实际出发总结的经验
  •   书还不错,希望对我的工作有帮助
  •   想作为今后工作中的一个参考
  •   希望同事会喜欢,在工作中能有所受益
  •   内容充实使用,语言干练,很多是实际工作中的总结,值得购买
  •   比较接近工作实际情况,基本看了一遍,不错,准备再看一遍。
  •   这本书读起来很好,关键是交给你如何去处理问题的思维。
  •   做软件十几年了,用过很多种数据库,也读过很多的书。这本书问题讲得透彻,读起来轻松,技术书都应该写成这样。
  •   书不错,一直看电子版本,有时候看的不方便。速度挺快的。
  •   同事推荐的,说是挺好的,正好看!
  •   感觉这个书非常好~
  •   书非常不错,内容易懂、实用,推荐
  •   这本书看网友对此评价很高,我也是同事介绍买的。希望能吸取书中的精髓。
  •   喜欢 !!好好研究下,书质量很好,看着舒服。
  •   真本书真的很不错,值得借鉴
  •   男朋友用的
  •   具体细节比较多,看起来可能比较枯燥。
  •   适合有一定基础的阅读
  •   很喜欢这本书,非常实用,看完受益匪浅
  •   我喜欢这种有实际大量例子的书,好理解,适合我这种自己不想动手的懒人。
  •   书已收到,学习中,毕竟一本书的知识面不会那么广而全,努力学习中
  •   看的不是太懂。学习中
  •   大牛写的书 很值得看看!!!
  •   不错,讲的很高深
  •   感觉不错,非常满意。
  •   书写的相当不错
  •   还算和我心意
  •   质量不错,送货也快,帮朋友买的
  •   貌似找不到程序代码
  •   good good study ,书是好书,但快递太蛋疼了,
    还在阅读当中...
  •   非常值得入手
  •   感觉还好便宜而且是正货,现在学习就想找本好书
  •   内容描述过于简单。
  •   还没看准备仔细研究一下,应该是挺好的一本书;
  •   书还好,可以接受。。。。
  •   刚拿到货,还没来得及看,应该还可以,要不然我不会买的。
  •   发货速度非常快,晚上订货,第二天下午就到了,翻了几页感觉是非常不错的书。
  •   美吗
  •   这本书写的很生动,不枯燥,,真的很棒,,,,
  •   内容通俗易懂,很好的一本书!
  •   这本书不错,但我稍微有些菜,有些专业名词还是不懂。
  •   通读了一篇,好书,但是就是错字太多了。
  •   老公的书,不错,很喜欢,价格公道
  •   oracle性能优化很不错的一本书,我很喜欢。
  •   买了还没看了 哎 太不应该了 得找一下 放哪儿去了
  •   超赞的书籍,书中讲了数据库优化的思路,只不过内容自己感觉有点少,满足不了我的胃口~~
  •   想买这本书很久了,看过电子版的,最终还是满足一下自己的愿望
  •   看了,还不错的书
  •   让Oracle跑得更快,不是吧,我已经在当当网上买了那么多书了啊?
  •   让Oracle跑得更快
    内容还行,不过印刷有部分错别字,
    不爽的是
    书刚邮过来,发现书就将价了。
  •   内容非常实用,建议由一定ORACLE基础的人阅读
  •   建议有一定oracle基础的人看
  •   一共买过两本oracle书籍,感觉这本比tom的编程艺术深入体系结构读起来爽多了
  •   不错的书籍,可以系统学习oracle知识!
  •   还不错,挺有意思的。。。主要是同事推荐过。。。更熟悉oracle的不知道的秘密
  •   这本书不适合入门者,但如果你是一个初级DBA这本书就非常适合你了,这本书是作者工作经验的总结,性能分析报告要是能够分析得再细一点,更全面一点效果会更好
  •   内容可以,学习一下优化!
  •   很好的数据库调优书籍
  •   作者把自己的经验总结起来汇总成本书,具有很大的实践参考性,用实践说话 拒绝空谈
 

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

京ICP备13047387号-7