搜索
高级检索
高级搜索
书       名 :
著       者 :
出  版  社 :
I  S  B  N:
文献来源:
出版时间 :
品悟性能优化
0.00    
图书来源: 浙江图书馆(由图书馆配书)
  • 配送范围:
    全国(除港澳台地区)
  • ISBN:
    9787302251118
  • 作      者:
    罗敏著
  • 出 版 社 :
    清华大学出版社
  • 出版日期:
    2011
收藏
编辑推荐
  

    Oracle资深技术顾问10年铸剑
  领悟IT技术,品味人间百态
  生动的案例实景 严谨的技术描述 鲜活的人生感悟 轻松、调侃、诙谐的语言
  本人的确对Oracle技术情有独钟。因为在IT领域的众多专业技术中,我迄今仍然认为关系数据库技术是最富有数学理论基础,也是最充满美感及和谐的技术。试想关系代数多么系统而严谨,SQL语言又多么层次分明、韵律十足!成为关系数据库技术鼻祖和翘楚的甲骨文公司的一员,可访问Oracle的大量技术资源,面对国内各行业的大量客户,也许是自己的人生定位了。
  我其实只懂点IT(挨踢)知识,IT里面其实只懂点甲骨文,甲骨文里面其实只懂点数据库,数据库里面其实只懂点SQL,SQL里面其实只懂点索引――你才是真正的专家啊!”
  如果我优化得太好,第一,客户技术人员和开发人员反而会感到很难堪,因为反衬他们原来做得太差了。第二资源消耗会大大降低,会凸现客户在硬件采购方面盲目追求大容量、大处理能力的奢华了。第三,我们公司的销售可能也有意见。你怎么一次就把它优化到头了?还指望签更多的单子呢。更有甚者,有一次因为工作做得太到位,反而被客户列为不受欢迎的人。
  《品悟性能优化》以数据库性能调优作为切入点,通过对案例故事实景的生动形象论述,介绍了数据库建设和运维优化的方法论,叙述议论结合,管理技术兼备,语言风趣流畅。作者专业技术积累深厚,善于总结提炼升华,简洁生动描述复杂问题背后“难以忽视的真相”。
  作为老朋友,翻阅此书,能感受到一个跃然纸上、鲜活而立体的作者:一位对先进IT技术充满激情、渴望和执着追求的技术专家;一位对客户富有责任心、称职得有些“越位”的IT服务人员;一位真性情,善于将技术观点寓于生动故事中的传道者。
  第一次看到枯燥的Oracle技术能以大量案例形式,以轻松、调侃、诙谐的语气写成这样,很有意思,也值得一看。还有与作者的好多同感:在IT系统中,技术与管理并重;应用设计、开发其实对IT系统质量影响大;基础技术的运用很重要……
  《品悟性能优化》中生动叙述的大量故事,以及对IT行业、社会的大量积极向上、也充满一定忧患意识的有感而发,我想也是本书吸引读者的一大亮点。一名IT技术人员,不仅能深深品味出具体技术在实际应用过程中的体验,而且能对技术之外的事物充满感悟,的确难能可贵。我很欣赏本书的主题和定位:领悟IT技术,品味人间百态。
  作为在Oracle中国公司服务部门就职多年的一名资深技术顾问,作者集多年驰骋在国内多个行业的经历和经验,“十年磨一剑”,以性能优化这一最容易引起业界各层次人士所关注的话题为切入点,实际上阐述了自己在架构、设计、开发、运维,甚至IT系统建设理念、文化等诸多方面的思考和独到见解,的确能引起IT从业人员的深思并受益。
  

展开
作者简介
  罗敏,80年代毕业于武汉大学计算机科学系,国防科学技术大学计算机学院获得硕士学位。自1988年开始Oracle技术的研究和应用开发工作,特别是在Oracle中国公司的10年时间里,分别在顾问咨询部、技术服务部担任专业技术顾问。在银行、电信、政府等行业和部门参与了多个大型IT系统的建设,提供了体系结构设计、数据库设计、应用开发设计指导、性能优化、数据备份恢复、容灾系统建设、数据仓库系统建设、数据库安全性等领域的咨询和技术支持服务,并为国内主要软件开发商和集成商进行过多场Oracle高级技?应用培训和交流活动。
展开
内容介绍
  在当前高速发展的信息时代,IT系统性能问题一直是横亘在广大IT人士面前的一座难以逾越的大山。在数据库市场占有率极高的Oracle性能优化技术,更是业界各层次人士所关注的焦点技术之一。《品悟性能优化》基于作者多年在此领域耕耘的经验和体会,遵循Oracle公司总结的性能优化方法论,从需求分析、架构设计、数据库设计、应用设计和开发、运行维护等软件工程全生命周期的整体高度,去描述性能问题和相关优化技术,特别是强调了基础技术合理运用的重要性。本书贯穿了作者多年在国内银行、电信、政府等行业所经历过的大量案例,通过案例佐证相关技术的运用是本书一大特色。性能问题不仅仅是技术问题,性能管理甚至重于优化技术本身。通过性能优化这样精细、缜密的工作,不仅能看到事物的本质和规律,更能让有心者对这个大千世界充满感慨。以技术为平台,以轻松、调侃方式抒发作者对IT行业、社会的感悟,也是本书的鲜明风格。
展开
精彩书摘

  我与作者曾经同在一个研究所工作,也都从事过与数据库技术相关的工作。这次得知作者编写了一本基于多年在Oracle数据库领域耕耘的经验之作,甚感欣喜。于是,第一时间就快速浏览了全书概貌,并精读了部分章节,很快就为这本不仅包容了大量技术内涵,同时又具有很强可读性的书籍所吸引,并欣然受邀为该书作序。
  多年来,我一直在从事IT系统总体规划、论证、组织和建设工作,深深感受到方方面面对高品质IT服务的强烈需求,特别是对大量数据中心建设之后海量数据库系统的高性能挑战。如何有效解决性能问题?先进的计算理念、高性能的硬件平台和系统软件固然是重要的基础设施保障,但就像作者在书中多次所言,IT系统的整体规划,特别是应用系统的设计开发,才扮演着更重要角色,尤其是大量基本技术的合理运用将起到至关重要的作用,我想这也是作者在书中一直在诠释的一些重要观点。在崇尚云计算和节约型发展的当今社会,各行各业都在追求用信息和信息技术精确调控物质和能量的发展模式,由追求量转变为追求质,作为这种发展模式的重要手段,把IT系统本身的设计、开发等工作做得更精、更细,应成为IT从业人员矢志不渝追求的目标。
  我对云计算的发展途径和面临的挑战长期关注。根据国外IDC组织的调查,企业最关注的云计算话题首先是安全性问题,?居第二的是各种各样的云计算中心服务的质量即性能问题。可见,IT系统性能不仅是业界所始终关注的话题,而且也是未来新的计算理念和架构运用的重要基础。也如作者在“架构和性能优化”一章所言:系统架构在某种程度上就是为性能优化服务的,而日益复杂的系统架构,又带来了更多富有挑战性的性能问题和性能需求。
  浏览全书的另一大感触是全书丰富的案例和各种翔实的数据,这些来自作者亲身经历的国内银行、电信、政府等行业和部门大量一线IT系统的实际案例,不仅验证了相关优化技术的运用过程,凝结了作者多年的实际工作经验和感悟?对广大一线IT从业人员也一定大有裨益。如作者所言,案例也折射出一些IT系统技术之外的管理、体制等方面的问题。书中生动叙述的大量故事,以及对IT行业、社会的大量积极向上、也充满一定忧患意识的有感而发,我想也是本书吸引读者的一大亮点。
  一名IT技术人员,不仅能深深品味出具体技术在实际应用过程中的体验,而且能对技术之外的事物充满感悟,的确难能可贵。我很欣赏本书的主题和定位:领悟IT技术,品味人间百态。                                                                                      中国工程院院士:李德毅
  第1章  从两个案例开始
  有一次,我在给客户讲课时,围绕一个技术专题,展开了一个案例的描述。也许是因为讲得太绘声绘色,太让客户着迷了。课间休息时,一位客户走到我面前道:“罗老师,你的案例讲得太精彩了。说实在的,我只记住你讲的故事了,你的案例要表达的技术原理我倒记不住了。”
  尽量将枯燥但非常重要的Oracle技术和概念,通过案例进行剖析和经验分享,是本书的重要目的和风格。因此,本书第1章就将剖析两个风格迥异的案例,从中总结性能优化的一些共同规律,例如很多复杂问题其实是一些简单原因导致的。同时读者也可自己体验两个案例的差异性,并从更深层次理解不同的IT系统建设理?带来的不同结果。
  1.1  关于案例的说明
  凡事都有利有弊。特别是在解剖性能优化、故障诊断的案例时,实际上是拿客户的系统在做靶子,有揭客户的短之嫌。况且,作为Oracle服务人员,我们的服务对象几乎都是关系到国计民生的重要IT系统,按照职业操守和安全保密原则,我们不能将这些系统的信息外泄。
  因此,在本书中,关于案例的叙述,我还是斟酌再三,希望既不引起麻烦,又能生动、活泼,有效说明有关技术问题。于是,决定采取如下策略:第一,不对任何案例直接引用客户名称和具体系统名称,最多只描述行业和企业性质。第二,只描述技术细节,尽量不涉及太多的业务背景。但有些技术细节,比如表名、字段名等将保留原汁原味。一方面恕我无精力和时间去刻意加工处理,另一方面也为了让案例保持一定的真实性。即便碰巧是您熟悉的系统,也请原谅我们只是为了讨论技术问题,别无他意。希望我的用意您能理解,也希望您千万别对号入座。
  本书故事并非虚构,如有雷同,亦属巧合。
  1.2  体验日本人工作风格
  2007年春节过后第一天,作为Oracle咨询顾问又开始了机场、酒店、客户现场三点一线的奔波生活。此行是去一家日本跨国汽车企业的中国公司,现场解决一个困绕其某重要系统很长时间的严重性能问题。第一次与日资企业合作,第一次去体验日本人的工作风格,第一次零距离接触当年最畅销车的生产基地,难免有些许激动与期望。
  在现场的一周时间,在亲身感触、深入分析该系统的过程中,第一次对日本人的工作风格有了切身体验。尤其本人多年在国内多个行业从事IT系统服务工作,不同的文化背景、不同的做事风格,强烈的对比和感悟油然而生。
  1.2.1  问题现象及解决过程
  系统的具体问题是数据库服务器的CPU利用率一直居高不下,经常达到100%的峰值,直接导致了该公司各经销店对该系统访问速度的下降,并最终影响了客户服务质量。该问题也引起了日本总部的高度重视,他们每天都在远程监测分析系统的运行日志,但问题一直未得到解决。
  本人在现场的第一天(周一)上午,在逐渐熟悉系统环境之后,凭借相关专业知识和类似经验,很快就诊断出问题的症结所在:大量重复SQL语句的Parse操作,极大地消耗了CPU资源,即语句共享性差。该类问题是影响系统性能的一个普遍性问题,尤其在并发访问量非常大的交易系统中。
  问题的根源是应用程序,但可以通过数?库系统参数调整,在一定程度上得到缓解。鉴于该系统是日本公司总部开发的,应用软件改动的工作量和难度较大,本人建议采取简单可行的系统级方式,即只修改一个系统参数。
  在该公司日方、中方人员对解决方式进行了3天研究,尤其是进行风险评估之后,终于在周四上午10:00,实施了修改动作。效果立竿见影,CPU利用率马上由原来的80%均值下降到40%左右。特别是通过对周四和周一的各方面指标进行对比分析之后,都验证了优化的效果。
  以下是当年的优化效果对比图。
  优化前的CPU利用率
  优化后的CPU利用率
  1.2.2  日本人严谨、细致的工作风格
  上述问题的技术原因有些深奥,但修改动作很小。本人与客户技术人员笑言:本人此次的咨询报告,洋洋洒洒50多页,其实最管用的只有如下一条语句:
  SQL> alter system set cursor_sharing='SIMILAR';
  但就是为了这一条语句,日方一直反馈到日本总部,反复评估了3天,才同意在现场实施。实施之后,日方马上在应用层面全面评估、对比分析实施效果,同时要求我在Oracle数据库层面也拿出各种分析对比数据。日本企业严谨、细致的工作风格让我第一次有了切?体验。
  1.2.3  日本人的IT投入观
  读者看到上面的CPU利用率图后一定会惊讶地发现:该系统是运行在Windows 平台上!
  的确,该系统是运行在一台当年已经被Dell淘汰,价格只有五六万人民币的最低端服务器的Windows 2000平台上,很难想象就这么一个硬件平台,居然能支撑该公司整个中国市场客户关系方面的业务运行,数据规模也达到了数百GB。如果该系统是由国人开发、运行的,尤其是出现这样CPU利用率高的问题,肯定毫不犹豫地升级到价值数百万元的高档UNIX服务器了。而现在仅仅通过一个参数的修改,资源消耗?经得到大幅度下降。由于该系统本身的设计、开发总体质量高,预计该系统在同等平台上至少能运行好几年。
  这就是日本人的IT投入观:宁可以每天万元的价格聘请Oracle顾问来解决问题,也要尊重事物的自身规律,不乱花一个子儿。
  1.2.4  该系统的总体感觉
  一个IT系统质量的高低,关键在于应用软件设计和开发质量的高低。很多同行都知道本人擅长查找各种应用系统问题,很多人一见SQL语句,特别是很长的SQL语句就吓得躲开了。我是一见到SQL语句,就像打了鸡血一样激动。但是此次在现场整整5天,让本人“失望”?是无用武之地,居然没有发现一条存在明显技术问题的SQL语句。而在国内大多数IT系统中,低质量、甚至业余错误的SQL语句比比皆是。仅从这一点就可以看出,该系统设计开发人员对系统倾注了多少心血。虽然上述语句存在共享性方面的问题,但该系统总体上真是一个设计、开发非常严谨的高质量的专业化系统。就如同日本人制造的电器一样,精巧而且质量高。
  这就是日本人:并不盲目追求大而全,如果使用什么技术,就一定使用得非常专业、非常精细,将这些技术的作用发挥到极致。尤其是重视基础技术使用的扎实性。
  而相比国人开?的系统呢?什么都敢用,尤其是什么新的、大的技术都敢用。但什么都用得不是那么精细、那么专业。本人一直在强调一个观点:如何在系统工程的总体层面综合评估各种技术运用的合理性,是国内整个IT行业都需要深入思考的方法论问题。
  该系统存在什么问题呢?该系统最大的问题是由于最初是针对泰国、马来西亚等规模相对较小的市场而设计开发的,导致设计风格上不够大气。就像他们公司生产的车一样,也远没有美国车、德国车那么气派和大气。面对中国这样的大市场,数据规模和访问量的急剧增加,应该在超大型规模数据库(VLDB)的高度,?重新审核和评估现有系统的设计。例如分区技术、并行服务器的应用,从而满足高性能、高可用性、扩展性、易管理性等各方面的严峻挑战。
  但这就是日本人的理念:我会的、需要的,就一定使用到极致,否则我就根本不用。——精明,但又有点迂腐。
  1.2.5  在日本企业暖意洋洋的一幕
  本人那次在日资企业现场服务期间,适逢该公司荣誉董事长从日本飞来亲临视察。周四午饭之后,本人巧遇这位德高望重的老头在接见该公司近百名中层干部并合影留念,在一片“茄子”声之后,正准备乘车离去。本人饶有兴趣地在一旁观?他们送别的情景。首先没有想到的是,堂堂荣誉董事长居然连该公司最畅销的高档小车都不坐,而是带着几位随从乘坐一辆普通面包车。在公司综合大楼前,近百名日方、中方人员集体列队热情洋溢地鼓掌为老头送行,老头也在车里满面春风地频频招手致意,车一直开出大门近500米,拐弯离开了众人的视线,老头致意的手才回到车里,近百名送行的人群也才停止招手,渐渐散去。
  这种暖意洋洋、充满人情味的场景,真不是做秀,也把本人感染了。什么叫日本企业文化,什么叫日本企业的荣誉感和凝聚力,什么叫日本人把企业当家的精神。本人零距离感触到了。
  1.2.6  也谈强国梦
  有一年,电视上播放了一个好像叫《大国崛起》的系列政论片,我没有看过,只是在报纸上偶尔看了一些该片的解说词。强国的确是中国人梦寐以求的事情,国人也喜欢高谈21世纪是中国人的世纪。但最近看过一篇文章,一位法国人就对这个观点很不以为然,认为如果中国不能对世界输出有价值的观念,21世纪就不可能是中国人的世纪。
  本人不是亲日派,也的确不喜欢日本一些人有点迂腐的文化观尤其是历史观。但日本人对现代科技执着、严谨、务实、有序的追求精神,的确为全世界所乐道和?可,也是日本成为世界强国的根本所在。
  本人认为,中国经济GDP、税收的高速增长,众多的高楼大厦、高速公路,甚至在全球都领先的高速铁路,只是成为强国的基础条件。真想成为强国,一定要有兼收并蓄世界各民族优秀品质的博大胸怀,一定要去除那么多的浮躁,有更多的务实、缜密和细致,而且将中国传统优秀文化与现代科技实现完美的融合,才能对世界输出有中国特色的、真正影响世界的价值观。到那时,强国梦才指日可待。
  作为IT从业人员,如果未来有一天看见国内某个系统出现问题的时候,国人不再首先是高谈政治、责任问题,也不再乱拍脑袋做决定,不再一天到晚想着一定要用最先进的IBM 780、IBM 595、DS 8300,而是能冷静客观地分析问题的本质,真正能以建设节约型经济、和谐社会为目标考虑一切问题时,我认为,这才是真正强国的表现。
  1.3  国内某大型银行故障的解决
  2006年本人几乎满世界飞了近一年,2007年1月份笔者回到北京的某一天,刚想稍微放松一下,手机里传来了老板的工作安排:明天赶紧去国内某大型银行数据中心,接替已经连续工作了几十个小时的两位同事,处理该行的紧急故障。
  1.3.1  天塌下来一样的故?
  第二天一大早赶到客户现场,与又坚持了一个通宵的众多客户、同事们坐在了一起,讨论故障的最新进展和下阶段工作安排,也开始全面了解此次故障的来龙去脉。
  (1)日终批处理性能问题——导致业务停顿半天
  此次发生故障的系统与股票、基金相关。当年股市、基金的火暴,使得交易量急增,在周二的日终大批量数据处理出现严重性能问题,70多万笔交易的日终处理居然运行了10多个小时,一直到第二天中午12时才完成。导致第二天上午该行全国网点的股票、基金交易被迫停止。
  (2)数据误操作——导致丢失?百万记录
  也许是因为连续几十小时分析、诊断上述问题的疲劳所致,客户技术人员在周四下午2点多进行后台操作时,又不小心把生产环境当成测试环境,将一张核心业务表进行了truncate操作,几百万的客户交易记录全部丢失。全国业务周四下午被迫提前一个多小时结束。真是雪上加霜,屋漏偏逢连阴雨……
  幸运的是,通过系统级和应用级的多种措施,同事们和客户经过近10个小时的抢救,几百万数据终于得到了恢复。
  但是,日终批处理性能问题仍然没有找到根本原因,依然可能爆发10多个小时无法完成日终处理的严重故障。
  1.3.2  故障原因其实很简单
  本人在碰头会上,一边听客户介绍下一步的工作安排,一边通过邻坐的同事们了解故障的技术细节。以下是系统的大致结构和问题现象。即该系统日终处理时,将存储在Oracle数据库中的一天交易数据(70万笔记录)大批量抽取到应用服务器中进行加工处理,并将处理结果返回存储到Oracle数据库中,但处理时间长达10多个小时。
  毕竟同事们都是在Oracle工作多年的资深专家了,他们早就捕捉到了问题的具体症状:SQL*Net more data from client等待事件非常高,也基本分析了问题的原因:数?库服务器负载非常低,是应用软件没有提供给Oracle足够的处理请求,导致吞吐量太低。同事们已经在降低批处理量、优化并行处理策略以及监控分析等方面提供了多种方案。
  本人此时一边听会议发言,一边打开了笔记本中的Oracle联机文档,详细分析导致SQL*Net more data from client等待事件的具体原因。
  原因1:网络瓶颈
  由于网络瓶颈,导致无法让Oracle吃饱,吞吐量太低。而此时数据库服务器和应用服务器的负载应该都很低。
  原因2:应用端的资源瓶颈
  由于应用端的资源消耗太高,无法及时向Oracle发送服务请求,同样无法让Oracle吃饱,吞吐量太低。
  在该系统中,应用服务器资源消耗也很低,不像第二种情况,而非常类似于第一种情况。网络有问题吗?我带着疑惑,与众多同仁们来到了实际的测试环境。首先初略了解了测试结果和应用软件情况,虽然觉得应用软件在并行处理技术的运用方面有值得优化之处,但还不至于导致70多万笔记录要运行10多个小时。本人曾经在另一个银行项目上见证了客户3000笔/秒的数据加载量。如果进行换算,70万笔应该在4分钟左右就完成。难道网络真有问题?我的疑问马上遭到客户否认:网络传输速率测试达?了6MBps以上,符合百兆网的传输指标。
  本人仍然不死心,坚持请求客户再测一次:数据库服务器到应用服务器一个600MB的文件,1分半钟,传输速率为6.6MBps,没问题。我还不死心,“再测一次另外一个方向,从应用服务器传回到数据库服务器的速度。”怪异的现象出现了:刚才1分半钟传完的600MB文件,现在却一个小时都传不回去。正好解释了为什么日终处理时,从数据库查询的速度不错,而往回插入数据时却慢得让人无法忍受。真是网络问题!
  终于,客户在下午更换了应用服务器,解决了网络瓶颈之后,将100万条记录进行日终批处理,最终仅花费了14分钟多。
  故障准确定位并彻底解决!
  最终听硬件工程师介绍是该网卡在100M/1000Mbps自适应功能方面出了点问题,问题的解决简单到其实只需要重新启动一下主机服务器。
  1.3.3  故障的启示
  启示1:团队合作的重要性
  本人周五才去现场,据了解此前公司老板们已亲临现场,与客户的领导共同分析问题,进行了大量的技术资源调配,先后调动了公司两个部门的5位技术人员。在故障解决过程中,Oracle公司和客户技术人员共同集思广益,充分体现了团队合作的重要性。我只是扮演?最后一棒冲刺的角色,正是因为大家前期连续几十小时的分析和跟踪,逐步缩小问题范围,才实现了最后故障的准确定位。
  启示2:性能调优方法论的重要性
  性能问题的诊断是涉及硬件、网络、系统软件、数据库、应用软件各个层面的问题。正确的方法论应该是:首先,要有站在总体高度的全局观。其次,应该采取自底向上的策略,先仔细检查硬件、网络层面相对简单的问题,再深入到系统软件和应用软件相对复杂的领域。
  在初步诊断出是网络问题后,客户领导就在感慨,当初为什么偏偏忽略了仔细检查网络传输效率的问题??家都聚焦在数据库系统、应用软件上苦思冥想。
  本人为什么会死究网络问题?另外一个重要原因是当年连续在几个项目上被网络传输速率所困扰。可见,经验在性能问题的处理上也非常重要。
  启示3:任何问题的解决也许就靠最后一点狠劲
  如前所述,其实大家已经基本确定问题的症状和原因的大致范围,包括已经进行了网络传输效率的测试。本人唯一多了的一个想法就是:再测一下另外一个方向(从应用服务器到数据库服务器)的传输速率。世界上的很多事情也许都是这样:再努最后一把力,认认死理,就豁然开朗了。所以,IT技术人员也经常给人以好较劲的印象。
  启示4:Oracle联机文档的重要性
  很多客户都以为:Oracle专家一定要依靠很多神秘的公司内部文档和资料去解决一些棘手的技术问题。但此次故障的最终解决,Oracle技术人员根本没有访问公司知识库,完全是依靠公开的Oracle联机文档,根据对具体等待事件的分析,定位了问题的范围。
  再次给众多客户一个建议:要想成为Oracle专家,每天坚持看Oracle联机文档一个小时!)——一个蕴藏了丰厚知识和经验的宝藏!
  启示5:优化的无止境
  根据我们的经验,日终批处理性能还能大幅度提高。100万条记录的日终批处理时间应该可以很容易优化到10分钟之内。这些优化措施包括以下几种。
  改变计算架构和编程方式。即在Oracle数据库中,通过PL/SQL实现主要业务逻辑,一方面充分发挥Oracle数据库自身的强大计算能力,另一方面将网络的往返传输量(round trip)降到最小。如果早采取这种架构,本次事故根本就不可能发生。
  改进并行处理策略和调度机制,更充分地发挥资源利用率,提高吞吐量。
  Oracle针对大批量数据处理还提供了大量相关的技术。例如分区技术、merge语句、外部表等,可以结合具体应用,有针对性地使用。
  上述技术都将是本书即将讲述的优化技术。
  总之,优化是无止境的。
  1.3.4  2010年银行案例的进一步感悟
  在此需要进一步补充的是,该故障发生3年之后的2010年,本人与一位来Oracle公司时间不长的新同事一同出差,闲聊中才知道他曾经作为开发商的项目经理为该银行提供了多年的服务。无意中聊起当年这个事故,他居然一点也不知道当年很轰动的这个事故的原因和处理手段其实都很简单。而他当年从客户那儿得到的故障通报,却是复杂至极。什么主机问题、网络问题、数据库问题、应用问题,尤其是业务压力大的背景等,几乎包罗万象。
  也许这就是“东方哲学”的功底和魅力:能把一个简单问题解释(包装)得非常复杂,云山雾罩,最后是不知所云,同时也方便不同人群从中各取所需。
  ……
 

展开
目录
第1章  从两个案例开始
1.1  关于案例的说明
1.2  体验日本人工作风格
1.2.1  问题现象及解决过程
1.2.2  日本人严谨、细致的工作风格
1.2.3  日本人的IT投入观
1.2.4  该系统的总体感觉
1.2.5  在日本企业暖意洋洋的一幕
1.2.6  也谈强国梦
1.3  国内某大型银行故障的解决
1.3.1  天塌下来一样的故障
1.3.2  故障原因其实很简单
1.3.3  故障的启示
1.3.4  2010年银行案例的进一步感悟
第2章  Oracle数据库性能优化方法论
2.1  关于性能优化的误区
2.1.1 “你调了哪些参数”
2.1.2 “性能优化主要是DBA和系统管理员的工作”
2.1.3 “开发阶段无须太多考虑性能问题”
2.1.4 “优化SQL,就是如何编写SQL”
2.1.5 “多表连接性能太差”
2.1.6 “CPU利用率越低越好”
2.1.7 “大内存能解决性能问题”
2.1.8 “性能分析就是分析低层细节”
2.2  性能优化过程——自顶向下
2.2.1  为时已晚
2.2.2  什么叫自顶向下方法论
2.2.3  体验方法论
2.3  高质量IT系统的正确认识
2.3.1  高质量IT系统的目标
2.3.2  目标的综合平衡
2.3.3  你只管进,不管出啊
2.4  20/80规则
2.4.1  性能优化中也有20/80规则
2.4.2  用数据诠释20/80规则
2.5  性能优化过程——自底向上
2.5.1  什么叫自底向上方法论?
2.5.2  客户要给我上课
2.6  性能优化中的角色分工
2.6.1  老外的角色分工
2.6.2  国内的角色分工
2.7  应用开发指导思想
2.7.1  管理重于技术
2.7.2  我听后,开心死了
2.8  合理运用技术的重要性
2.8.1  联机事务处理系统(OLTP)和决策支持系统(OLAP)
2.8.2 “你们Oracle给我们出一个开发规范和指南吧”
2.8.3  4分钟如何优化到1秒钟
第3章  性能优化分析基本工具的使用
3.1  性能优化中的量化分析
3.1.1  隔靴抓痒
3.1.2  SQL语句到底是怎么执行的
3.1.3  性能分析都分析哪些量化指标
3.2  工欲善其事,必先利其器
3.2.1  SQL量化分析和优化工具
3.2.2  Oracle有大量实用的小工具和命令
3.3  SQL语句到底是怎么被执行的
3.3.1  最经典的执行计划分析工具
3.3.2  这种老掉牙的东西,还用啊
3.3.3  10g新功能:DBMS_XPLAN
3.4  如何配套使用SQL*Trace和TKPROF
3.4.1  又一对老古董
3.4.2  其实功能非常强
3.4.3  报告分析比如何产生报告更重要
3.5  最常用的工具:Autotrace
3.6  一个洋“忽悠”的故事
3.6.1  洋和尚到中国来念梵文了
3.6.2  洋大“忽悠”啊
3.7  性能优化与“三个代表”
3.7.1  重温“三个代表”
3.7.2  案例背景
3.7.3  自底向上方法论的运用
3.7.4  关键应用问题的解决
3.7.5  诠释“三个代表”
第4章  基本索引的使用
4.1  索引既简单又复杂
4.1.1  关于索引的需求
4.1.2  索引其实好简单
4.1.3  索引其实好难
4.1.4  想做个懂Oracle索引的专家,难上加难
4.2  索引设计基本建议
4.2.1  Oracle索引长什么样
4.2.2  B*树单字段索引设计建议
4.2.3  一招鲜,吃遍天
4.3  如何避免索引被抑制
4.3.1  无从下手,郁闷至极!
4.3.2  幸亏父母都是数学老师
4.3.3  慎用自定义函数
4.3.4  关于函数索引使用的建议
4.3.5  其实是数据库设计问题
4.4  一把双刃剑:复合索引
4.4.1  复合索引的重要性
4.4.2  我如何“戏弄”客户
4.4.3  复合索引原理和设计建议
4.4.4  IT系统是面向客户的,不是给领导看的
4.5  一个既简单又复杂的故事
4.5.1  女儿说我吹牛了
4.5.2  故事上集
4.5.3  故事中集
4.5.4  故事下集
4.6  如何进行索引监控分析和优化
4.6.1  为什么索引I/O那么高
4.6.2  别乱建索引
4.6.3  如何发现多余的索引
4.6.4  如何进行索引碎片分析和整理
第5章  为应用软件设计更好的性能和可扩展性
5.1  基本概念和原理
5.1.1  本章标题有点大吧
5.1.2  一个屡见不鲜的错误
5.1.3  解剖SQL语句执行过程
5.2  语句共享性原理
5.2.1  再说联机事务处理系统(OLTP)和决策支持系统(OLAP)
5.2.2  如何实现语句共享化
5.2.3  开发人员永远比Oracle聪明
5.2.4  技术服务工作,越做胆子越小
5.2.5  如何量化评估语句共享性
5.3  回到日本企业案例
5.3.1  深入分析技术原因
5.3.2  被日本人较真的滋味其实不好受
5.4  语句共享性的深入分析
5.4.1  语句共享性和查询统计系统的关系
5.4.2  语句共享性与扩展性的关系
第6章  如何提高排序、表连接性能
6.1  如何提高排序性能
6.1.1  能不排序就不排序——废话一句
6.1.2  查询欠费最高的前100名手机客户
6.1.3  痛心疾首的一刻
6.1.4  IBM和Oracle:亦敌亦友
6.2  Oracle表连接技术和应用
6.2.1  数据库精髓之一:表连接
6.2.2  最经典、最常用的表连接技术——嵌套循环
6.2.3  嵌套循环连接与索引
6.2.4  嵌套循环连接的应用场景及效率
6.2.5  适合于大批量数据处理的连接技术
6.3  多表连接优化的基本思路
6.3.1  总体思路
6.3.2  OLTP应用的表连接优化
?6.4  如何使用子查询
6.4.1  使用子查询好不好
6.4.2  到底是使用in还是exists
6.5  回到20/80规则
6.5.1  优化详细过程
6.5.2  技术方面总结
6.5.3  每项工作做到最好都不容易
第7章  应用综合优化及总结
7.1更多的优化案例
7.1.1数据类型不一致导致的问题
7.1.2  多此一举的操作
7.1.3  错误使用HINT
7.1.4  Oracle和IBM又一次成功合作
7.2  可怕的笛卡儿乘积
7.2.1  问题的发生和初步解决
7.2.2  其实是设计和开发中更深层次问题
7.3  说说全表扫描
7.3.1  导致数据库性能问题的常见原因
7.3.2  何谓全表扫描
7.3.3  数据增长与全表扫描的关系
7.3.4  硬件太多了
7.3.5  导致技术运用复杂化的其他问题
7.3.6  更多的类比和感慨
7.4  导致性能问题的其他原因
7.5  一个应用软件的综合优化
7.5.1  优化前的状况
7.5.2  优化策略及分工合作
7.5.3  优化效果及原因分析
7.5.4  主管部门的反应
7.5.5  美妙的三降预言同时实现
7.5.6  优化工作的艰巨性和长期性
7.6  一个朴实无华的好系统
7.6.1  国人也能做出精良的好系统
7.6.2  巨大升值空间
7.6.3  瑕不掩瑜
第8章  Oracle分区技术及应用
8.1  硅谷之行
8.1.1  IT人的圣地:硅谷
8.1.2  我在Oracle总部中邪了
8.2  我对Oracle分区技术的认知过程
8.2.1  初尝分区甜头
8.2.2  分区给我的痛苦体验
8.2.3  全面理解分区技术
8.3  分区表技术
8.3.1  分区技术原理:分而治之
8.3.2  分区表技术概述
8.3.3  11g的分区新技术
8.4  分区索引技术
8.4.1  分区索引技术好难哦
8.4.2  10分钟让你理解最难的分区索引
8.4.3  分区索引设计指南
8.5  更多的分区技术
8.5.1  一个神奇的分区技术
8.5.2  Oracle分区技术发展史
8.6  如何实施和评估分区
8.6.1  分区设计建议
8.6.2  分区效果评估
8.6.3  如何在生产系统实施分区
8.7  某行业分区方案设计的曲折过程
8.7.1  第一阶段:出师不利
8.7.2  第二阶段:经验主义错误
8.7.3  第三阶段:初见成效
8.7.4  第四阶段:日臻完善
8.8  分区方案中常见问题?讨
8.8.1  问题1:目标方面的误区
8.8.2  问题2:分区表设计方面的误区
8.8.3  问题3:没有充分考虑应用设计和开发的误区
8.8.4  问题4:分区表空间设计方面的误区
8.8.5  问题5:分区在大批量数据处理中的误区
8.8.6  问题6:分区索引设计方面的误区
8.8.7  无止境的分区技术
第9章  架构与性能优化
9.1  该谈谈架构了
9.1.1  架构与性能的关系
9.1.2  Oracle高端架构产品与性能的关系
9.1.3  Oracle架构的重要性
9.2  基本概念很重要
9.2.1  什么是Oracle数据库
9.2.2  服务器、实例和数据库的关系
9.2.3  关于架构方面的误区
9.3  IT系统架构现状分析
9.3.1  一副并不美妙的大蜘蛛网
9.3.2  现有体系结构特点分析
9.3.3  现有体系结构评估
9.4  Oracle网格计算
9.4.1  Oracle 10g = 网格计算
9.4.2  按网格计算设计数据库?构
9.4.3  乌托邦式架构就是好
9.4.4  初级阶段的设计建议
9.4.5  关于真正大集中的疑虑
9.5  云计算与性能优化
9.5.1  满天翻滚的云
9.5.2  Oracle的红云
9.5.3  客户关注的云计算话题
9.6  Oracle数据库分布式架构
9.6.1  数据复制技术
9.6.2  Data Guard技术简介
9.6.3  Streams技术简介
9.6.4  其他数据同步技术
9.6.5  数据同步技?的定位和比较
9.7  我看分布式架构
9.7.1  我不喜欢分布式架构
9.7.2  数据大集中与分布式架构
9.7.3  分布式架构的用武之地
9.7.4  真正的返璞归真
9.8  誓做抗拒拆迁的刁民
9.8.1  拆迁大锤已高高举起
9.8.2  统一战线发挥重要作用
9.8.3  人民战争的汪洋大海
9.9  一个本来平淡的日子
9.9.1  什么专家,拿了钱就跑?
9.9.2  艰难的问题诊断过程
9.9.3  一根救命稻草
9.9.4  技术方面的教训和感悟
9.9.5  犹豫半天的话语
第10章  RAC与性能优化
10.1  关于RAC的一些误解和疑虑
10.2  RAC技术原理
10.2.1  系统介绍RAC架构和原理
10.2.2  RAC到底有什么好处
10.2.3  10g RAC架构新特性
10.2.4  我害怕Oracle什么技术工作
10.3  RAC架构的优势
10.3.1  为什么RAC架构比HA架构好
10.3.2  客户的方案不一定是最优的
10.4  RAC实施方法论
10.4.1  还是方法论重要
10.4.2 “你打个补丁要三天啊?”
10.4.3  如何降低RAC实施和运行风险
10.4.4  RAC其实背了好多黑锅
10.5  RAC性能优化原理
10.5.1  RAC性能优化等同于单事例
10.5.2  RAC性能问题与应用关系
10.5.3  应用在RAC环境下部署的最佳方式
10.6  RAC环境下的性能分析
10.6.1  RAC性能分析基本策略
10.6.2  AWR报告中的RAC性能分析
10.6.3  ADDM报告中的RAC问题原因分析
10.6.4  GCS性能分析
10.6.5  GES性能分析
10.6.6  下得去,还要上得来
10.7  RAC高可用性
10.7.1  RAC高可用性技术其实很复杂
10.7.2  RAC高可用性实施思路
10.7.3  RAC高可用性测试案例和测试过程
10.8  RAC可扩展性
10.8.1  RAC不能超过4个节点?
10.8.2  Oracle总部RAC专家的观点
10.8.3  某大型交易系统的扩展性测试
10.8.4  如何实施RAC扩展性
10.9  RAC运行维护和故障诊断
10.9.1  RAC运行维护建议
10.9.2  RAC故障诊断经验谈
10.9.3  瞎猫碰上死耗子
第11章  数据仓库中的性能优化
11.1  我看数据仓库
11.1.1  数据仓库不是仓库管理软件
11.1.2  数据仓库鼻祖的精确定义
11.1.3  数据仓库的应用特点
11.1.4  我所理解的数据仓库
11.1.5  本书讲述的数据仓库
11.2  数据仓库应用开发指导思想
11.2.1  数据仓库应用开发指导思想建议
11.2.2  案例为证
11.2.3  如何贯彻大批量、并行处理?
11.3  并行处理技术的应用
11.3.1  Oracle并行处理技术无处不在
11.3.2  并行处理举例
11.3.3  并行技术的几个层面
11.3.4  并行处理经验
11.3.5  榨干所有硬件资源
11.4  Oracle是个大计算器
11.4.1  告别农耕时代
11.4.2  Oracle不仅是一个存数据的大容器
11.5  大批量数据ETL案例
11.5.1  VIP客户判断标准
11.5.2  外部表
11.5.3  MERGE语句
11.5.4  VIP计算总体流程图
11.5.5  简述一个流程
11.5.6  方案评估
11.6 “非典”期间的一个典型性问题
11.6.1  一个应用开发中的典型性问题
11.6.2  Oracle系统级临时表
11.7  一种快速高效的数据仓库加载方案
?11.7.1  让洋鬼子激动地蹦到桌子上去
11.7.2  快速高效的数据仓库加载方案
11.8  报表优化技术
11.8.1  我的第一次软件开发经历
11.8.2  现在的报表处理状况
11.8.3  报表优化核心技术:物化视图和语句重写
11.8.4  为什么不要自己编写汇总表
11.8.5  报表优化的基本思路及示例
11.8.6  报表优化示例
11.8.7  为什么没有实现语句重写
11.8.8  IT行业到底是买方市场还是卖方市场
第12章  统计信息采集与性能优化
12.1  我闯大祸了
12.1.1  常在河边走,哪有不湿鞋的
12.1.2  太急于表现了
12.1.3  建一个索引,搞死一个系统
12.1.4  我被骂得满地找地缝
12.1.5  初识问题原因
12.1.6  问题根本原因
12.2  优化器原理和统计信息采集作用
12.2.1  SQL语句执行过程
12.2.2  基于规则优化器(RBO)简介
12.2.3  基于成本优化器(CBO)简介
12.2.4  如何将葫芦和瓢都按下
12.2.5  为什么要进行统计信息采集
12.3  自动采集统计信息
12.3.1  自动采集统计信息的特点
12.3.2  自动还是手工
12.3.3  超长的自动统计信息采集
12.3.4  一次变味的数据库升级技术研讨会
12.4  定制采集统计信息
12.4.1  统计信息采集基本策略
12.4.2  统计信息采集实施策略
12.4.3  统计信息采集具体方法
12.4.4  Oracle 10g鬼精鬼精的
12.5  若干最佳实践经验
12.5.1  自动和手工结合进行统计信息采集
12.5.2  锁住统计信息采集
12.5.3  数据分布统计(Histogram)建议
12.5.4  批处理中的统计信息采集
12.5.5  铁路警察,各管一段
第13章  感悟性能优化分析的高级工具
13.1  Oracle 10g = Oracle 10a
13.1.1  外部手工管理变内部自动管理
13.1.2  Oracle 10g都有哪些自动的东西
13.2  AWR是个好东西
13.2.1  AWR原理
13.2.2  AWR基本操作
13.2.3  把AWR功能用个够
13.3  ADDM:Oracle能自动诊断监控吗
13.3.1  ADDM能干啥
13.3.2  DBA要失业了吗
13.4  SQL优化进入工业化时代
13.4.1  传统模式到工业化
13.4.2  SQL Tuning Advisor能做哪些优化
13.4.3  SQL Access Advisor能做哪些优化
13.4.4  SQL Tuning Advisor和SQL Access Advisor的差异
13.4.5  OEM中的每条命令我都会敲
13.4.6  IT工业化时代的初级阶段
第14章  参数配置与性能优化
14.1  神奇的“魔术师”
14.1.1  不调系统参数
14.1.2  调错系统参数
14.2  漫谈初始化参数
14.2.1  神奇的初始化参数
14.2.2  参数设置基本思路和经验
14.2.3  将Log Buffer设它个几百兆
14.3  自动内存管理
14.3.1  DBA真地快没活干了
14.3.2  自动内存管理技?管用吗
14.4  Buffer Cache优化
14.4.1  Buffer Cache参数设置思路
14.4.2  Buffer Cache优化技术
14.4.3  Buffer Cache的其他优化技术
14.5  Shared Pool优化
14.5.1  Shared Pool参数设置思路
14.5.2  Shared Pool优化技术
14.5.3  再撞一次墙
14.6  PGA优化
14.6.1  PGA参数设置思路
14.6.2  匪夷所思的做法
14.7  奇妙的Oracle内部参数
14.7.1  Oracle有神奇的内部参数吗?
14.7.2  内部参数的一次神奇作用
14.7.3  不要滥用内部参数
14.7.4  令人眼花缭乱的内部参数和event
第15章  存储技术与性能优化
15.1  什么时候才考虑I/O优化
15.2  裸设备?文件系统?ASM?
15.2.1  裸设备有那么神奇吗?
15.2.2  客户期望值太高了
15.2.3  文件系统和裸设备的原理分析
15.2.4  文件系统同样好
15.3  RAID与性能优化
15.3.1  也说RAID
15.3.2  IBM太慷慨了
15.4  Oracle管存储了
15.4.1  关于ASM的疑虑
15.4.2  ASM是什么?
15.4.3  ASM有什么技术优势?
15.4.4  Oracle即将不支持裸设备了
15.5  ASM优化策略
15.5.1  裸设备与ASM的性能对比
15.5.2  如何保证ASM实施的高性能
15.5.3  ASM事例的参数设置建议
15.6  ASM实施案例
15.6.1  我所见过的真正海量数据库
15.6.2  裸设备还是ASM文件系统?
15.6.3  ASM、OMF、大表空间技术的完美结合
15.6.4  年轻教授被ASM气得直跳脚
15.6.5  宽容平和的心态
第16章  数据保护中的性能优化
16.1  Oracle丰富的数据保护技术
16.1.1  Oracle高可用性解决方案全景图
16.1.2  相关技术和产品的定位
16.2  RMAN实施现状分析
16.2.1  备份恢复只是磁带库厂商的事情?
16.2.2  RMAN实施中常见问题分析
16.3  RMAN备份的优化
16.3.1  RMAN备份优化的基本策略
16.3.2  RMAN备份优化的传统技术
16.3.3  在表空间级进行RMAN备份
16.3.4  10g的快速增量备份技术
16.3.5  备份压缩技术
16.4  RMAN恢复的优化
16.4.1  头疼医头,脚疼医脚
16.4.2  降低日志恢复量
16.4.3  增量更新备份
16.5  快速恢复数据的新技术:Flashback
16.5.1  人为逻辑错误是最大的单一因素
16.5.2  传统的数据恢复技术及缺陷
16.5.3  Flashback技术概述
16.5.4  Flashback技术综合对比
16.5.5  Flashback技术与传统数据恢复技术综合运用
16.6  Data Guard实施中的优化
16.6.1  容灾系统与生产系统是紧密相关的
16.6.2  还是原理最重要
16.6.3  日志传输的优化
16.6.4  日志恢复的优化
16.6.5  容灾系统与生产系统的配置关系
16.6.6  也谈Data Guard?硬件存储镜像技术
16.6.7  Data Guard和存储镜像技术的综合
第17章  故障诊断与性能优化
17.1  故障诊断与性能优化的区别
17.1.1  故障诊断与性能优化不完全是一回事
17.1.2  故障诊断需要一个伟大的心脏
17.2  大汗淋漓的故障诊断
17.2.1  一个“Ctrl + C”几乎搞死一个系统
17.2.2  啼笑皆非的故障处理过程
17.2.3  胁从犯的自责
17.3  可别小看数据坏块处理
17.3.1 “关于Oracle?败问题的处理”
17.3.2  飞机落地了,资料还未看完
17.3.3  收集信息、制定处理方案最重要
17.3.4  数据坏块处理的八卦图
17.3.5  别乱用DUL
17.3.6  如何防范数据坏块
17.4  堪比好来坞大片的情节
17.4.1  我的女同事被吓坏了
17.4.2  惊心动魄的时刻!
17.4.3  事件远没有结束
17.4.4  其实原因很简单
17.5  Oracle Buuuuuuuuuuuuuug
17.5.1 我看Oracle Bug
17.5.2  手工作坊与大工厂的差别
17.5.3  一个展板都画不下的流程图
17.6  软件版本管理和补丁实施
17.6.1  相关术语和概念
17.6.2  未雨绸缪的补丁实施计划
17.6.3  打补丁那点事
17.6.4  补丁冲突分析像侦探推理
第18章  DBA职责及性能管理
18.1  我的专职DBA经历
18.1.1  不太安心的“DBA”
18.1.2  无所事事的“DBA”
18.1.3  手忙脚乱的“DBA”
18.1.4  无所事事的DBA
18.2  DBA职责建议
18.2.1  DBA的十大任务
18.2.2  DBA的工作比例
18.2.3  不太懂SQL的DBA
18.2.4  一位技术实力超强的DBA
18.3  DBA在性能方面的工作
18.3.1  每日的工作
18.3.2  每周的工作
18.3.3  每月的工作
18.3.4  其他的工作
18.4  性能管理更重要
18.4.1  性能问题其实是管理问题
18.4.2  开发人员永远都长不大?
18.4.3  Oracle核心技术开发团队的故事
18.5  开发与运行维护的脱节
18.5.1  开发与运行维护部门的独立性
18.5.2  开发与运行维护工作的脱节
18.6  客户/开发商/Oracle的分工合作
18.6.1  目前的分工和定位
18.6.2  客户在IT系统中的作用
18.6.3  建议的分工和定位
18.6.4  包含3种角色的项目组
18.7  分工合作的成功案例
18.7.1  系统运行情况
18.7.2  系统主要技术特点
18.7.3  项目成功因素分析
18.7.4  Oracle公司的服务经验
18.7.5  项目的不足
第19章  软件就是服务
19.1  Oracle服务体系概述
19.1.1  Oracle公司组织结构一瞥
19.1.2  Oracle丰富的服务产品
19.2  我看Oracle标准服务
19.2.1  标准服务不仅仅是法律条款
19.2.2  标准服务的益处
19.3  爱不释手的Metalink
19.3.1  幸亏有Metalink
19.3.2  初尝Oracle服务甜头
19.3.3  Metalink是个大宝藏
19.3.4  Metalink是个自助式的知识库
19.3.5  在Metalink中提交SR的经验
19.3.6  把Metalink当成学习工具
19.4  Oracle高级客户服务
19.4.1  ACS服务概述
19.4.2  基于ITIL理念的ACS服务
19.4.3  我们不是钟点工
19.4.4  ACS的运行维护服务
19.4.5  IT系统挑战和ACS解决方案服务
19.4.6  几种ACS解决方案服务
19.5  又一次救火之后的感慨
19.5.1  又着火了
19.5.2  再次感谢Metalink
19.5.3  客户把系统重新安装了
19.5.4  其实还是服务问题
第20章  一个更全面的案例
20.1  为升级而来
20.1.1  初识客户
20.1.2  升级方案遇到阻力
20.2  以性能优化开路
20.2.1  性能是升级的第一大风险
20.2.2  调整服务思路
20.3  性能整体评估
20.3.1  先看操作系统数据
20.3.2  数据库基准指标的采集
20.3.3  性能分析策略和原则
20.4  若干典型问题
20.4.1  还是索引这样基础的问题
20.4.2  发现了最大的性能瓶颈
20.4.3  我把开发人员吓住了
20.4.4  参数可调的余地太小
20.5  难以解决的问题:中间表
20.5.1  又一类典型问题
20.5.2  9i没有合适的招
20.5.3  10g的有效解决办法
20.6  又说分区方案设计
20.6.1  分区表太多了
20.6.2  分区设计的其他问题
20.6.3  综合平衡考虑问题不简单
20.7  再说升级
20.7.1  对升级的两种极端看法
20.7.2  为什么要升级
20.7.3  常见的升级方法
20.7.4  Oracle升级服务包
20.7.5  如何降低性能风险
第21章  综合类
21.1  Oracle出硬件了
21.1.1  我快变成硬件工程师了
21.1.2  我看Exadata
21.1.3  ACS在Exadata方面的服务
21.2  Oracle全文检索技术
21.2.1  Oracle能做搜索引擎
21.2.2  茅塞顿开的解决方案
21.2.3  林子大了,什么鸟都有
21.3  什么是IT系统最宝贵的财富
21.3.1  IT系统最宝贵的财富是信息本身
21.3.2  也谈信息中心的作用
21.4  如何阅读Oracle联机文档
21.4.1  Oracle联机文档的确是个宝藏
21.4.2  合理分类阅读和利用
21.4.3  按工作角色和任务去阅读
21.5  IT行业中的“伪”科学
21.5.1  什么叫IT“伪”科学
21.5.2  费力不讨好的事情
21.5.3  我也是“伪”IT科学的吹鼓手
21.6  性能优化与桥牌
21.6.1  大局观的重要
21.6.2  实施计划的重要性
21.6.3  应善于捕捉、利用信息
21.6.4  合作、沟通的重要性
21.6.5  简简单单,平平淡淡就是真
21.7  IT业其实还是个孩子
21.8  大话南游记
结束语
参考文献
推荐语
推荐语1
推荐语2
推荐语3
展开
加入书架成功!
收藏图书成功!
我知道了(3)
发表书评
读者登录

请选择您读者所在的图书馆

选择图书馆
浙江图书馆
点击获取验证码
登录
没有读者证?在线办证