标题：品悟性能优化
图书信息
[1]
  《品悟性能优化》封面[2]　　作　　者：罗敏 
出 版 社：清华大学出版社 
出版时间：2011-5-1 
书　　名：品悟性能优化 
版　　次：1 
页　　数： 
字　　数：780000 
印刷时间：2011-5-1 
开　　本：16开 
纸　　张：胶版纸 
印　　次：1 
I S B N：9787302251118 
包　　装：平装
编辑推荐
《品悟性能优化》以数据库性能调优作为切入点，通过对案例故事实景的生动形象论述，介绍了数据库建设和运维优化的方法论，叙述议论结合，管理技术兼备，语言风趣流畅。作者专业技术积累深厚，善于总结提炼升华，简洁生动描述复杂问题背后“难以忽视的真相”。
作为老朋友，翻阅此书，能感受到一个跃然纸上、鲜活而立体的作者：一位对先进IT技术充满激情、渴望和执着追求的技术专家；一位对客户富有责任心、称职得有些“越位”的IT服务人员；一位真性情，善于将技术观点寓于生动故事中的传道者。
第一次看到枯燥的Oracle技术能以大量案例形式，以轻松、调侃、诙谐的语气写成这样，很有意思，也值得一看。还有与作者的好多同感：在IT系统中，技术与管理并重；应用设计、开发其实对IT系统质量影响最大；基础技术的运用很重要……
内容简介
在当前高速发展的信息时代，IT系统性能问题一直是横亘在广大IT人士面前的一座难以逾越的大山。在数据库市场占有率最高的Oracle性能优化技术，更是业界各层次人士所关注的焦点技术之一。本书基于作者多年在此领域耕耘的经验和体会，遵循Oracle公司总结的性能优化方法论，从需求分析、架构设计、数据库设计、应用设计和开发、运行维护等软件工程全生命周期的整体高度，去描述性能问题和相关优化技术，特别是强调了基础技术合理运用的重要性。本书贯穿了作者多年在国内银行、电信、政府等行业所经历过的大量案例，通过案例佐证相关技术的运用是本书一大特色。性能问题不仅仅是技术问题，性能管理甚至重于优化技术本身。通过性能优化这样精细、缜密的工作，不仅能看到事物的本质和规律，更能让有心者对这个大千世界充满感慨。以技术为平台，以轻松、调侃方式抒发作者对IT行业、社会的感悟，也是本书的鲜明风格。
作者简介
罗敏，80年代毕业于武汉大学计算机科学系，国防科学技术大学计算机学院获得硕士学位。自1988年开始Oracle技术的研究和应用开发工作，特别是在Oracle中国公司的10年时间里，分别在顾问咨询部、技术服务部担任资深技术顾问。在银行、电信、政府等行业和部门参与了多个大型IT系统的建设，提供了体系结构设计、数据库设计、应用开发设计指导、性能优化、数据备份恢复、容灾系统建设、数据仓库系统建设、数据库安全性等领域的咨询和技术支持服务，并为国内主要软件开发商和集成商进行过多场Oracle高级技?应用培训和交流活动。
目录
第1章 从两个案例开始 1 
1.1 关于案例的说明 2 
1.2 体验日本人工作风格 2 
1.2.1 问题现象及解决过程 2 
1.2.2 日本人严谨、细致的工作风格 3 
1.2.3 日本人的it投入观 3 
1.2.4 该系统的总体感觉 4 
1.2.5 在日本企业暖意洋洋的一幕 4 
1.2.6 也谈强国梦 5 
1.3 国内某大型银行故障的解决 5 
1.3.1 天塌下来一样的故障 5 
1.3.2 故障原因其实很简单 6 
1.3.3 故障的启示 7 
1.3.4 2010年银行案例的进一步感悟 8 
第2章 oracle数据库性能优化方法论 9 
2.1 关于性能优化的误区 10 
2.1.1 “你调了哪些参数” 10 
2.1.2 “性能优化主要是dba和系统管理员的工作” 10 
2.1.3 “开发阶段无须太多考虑性能问题” 11 
.2.1.4 “优化sql，就是如何编写sql” 11 
2.1.5 “多表连接性能太差” 11 
2.1.6 “cpu利用率越低越好” 12 
2.1.7 “大内存能解决性能问题” 12 
2.1.8 “性能分析就是分析低层细节” 13 
2.2 性能优化过程——自顶向下 13 
2.2.1 为时已晚 13 
2.2.2 什么叫自顶向下方法论 13 
2.2.3 体验方法论 15 
2.3 高质量it系统的正确认识 15 
2.3.1 高质量it系统的目标 15 
2.3.2 目标的综合平衡 16 
2.3.3 你只管进，不管出啊 16 
2.4 20/80规则 17 
2.4.1 性能优化中也有20/80规则 17 
2.4.2 用数据诠释20/80规则 18 
2.5 性能优化过程——自底向上 19 
2.5.1 什么叫自底向上方法论？ 19 
2.5.2 客户要给我上课 20 
2.6 性能优化中的角色分工 20 
2.6.1 老外的角色分工 20 
2.6.2 国内的角色分工 21 
2.7 应用开发指导思想 22 
2.7.1 管理重于技术 22 
2.7.2 我听后，开心死了 22 
2.8 合理运用技术的重要性 22 
2.8.1 联机事务处理系统（oltp）和决策支持系统（olap） 22 
2.8.2 “你们oracle给我们出一个开发规范和指南吧” 23 
2.8.3 4分钟如何优化到1秒钟 24 
第3章 性能优化分析基本工具的使用 29 
3.1 性能优化中的量化分析 30 
3.1.1 隔靴抓痒 30 
3.1.2 sql语句到底是怎么执行的 30 
3.1.3 性能分析都分析哪些量化指标 32 
3.2 工欲善其事，必先利其器 32 
3.2.1 sql量化分析和优化工具 32 
3.2.2 oracle有大量实用的小工具和命令 33 
3.3 sql语句到底是怎么被执行的 34 
3.3.1 最经典的执行计划分析工具 34 
3.3.2 这种老掉牙的东西，还用啊 34 
3.3.3 10g新功能：dbms_xplan 34 
3.4 如何配套使用sql*trace和tkprof 35 
3.4.1 又一对老古董 35 
3.4.2 其实功能非常强 35 
3.4.3 报告分析比如何产生报告更重要 37 
3.5 最常用的工具：autotrace 37 
3.6 一个洋“忽悠”的故事 42 
3.6.1 洋和尚到中国来念梵文了 42 
3.6.2 洋大“忽悠”啊 43 
3.7 性能优化与“三个代表” 43 
3.7.1 重温“三个代表” 43 
3.7.2 案例背景 43 
3.7.3 自底向上方法论的运用 44 
3.7.4 关键应用问题的解决 45 
3.7.5 诠释“三个代表” 47 
第4章 基本索引的使用 49 
4.1 索引既简单又复杂 50 
4.1.1 关于索引的需求 50 
4.1.2 索引其实好简单 50 
4.1.3 索引其实好难 50 
4.1.4 想做个懂oracle索引的专家，难上加难 51 
4.2 索引设计基本建议 52 
4.2.1 oracle索引长什么样 52 
4.2.2 b*树单字段索引设计建议 53 
4.2.3 一招鲜，吃遍天 53 
4.3 如何避免索引被抑制 56 
4.3.1 无从下手，郁闷至极！ 56 
4.3.2 幸亏父母都是数学老师 57 
4.3.3 慎用自定义函数 58 
4.3.4 关于函数索引使用的建议 58 
4.3.5 其实是数据库设计问题 59 
4.4 一把双刃剑：复合索引 59 
4.4.1 复合索引的重要性 59 
4.4.2 我如何“戏弄”客户 60 
4.4.3 复合索引原理和设计建议 61 
4.4.4 it系统是面向客户的，不是给领导看的 63 
4.5 一个既简单又复杂的故事 64 
4.5.1 女儿说我吹牛了 64 
4.5.2 故事上集 65 
4.5.3 故事中集 66 
4.5.4 故事下集 66 
4.6 如何进行索引监控分析和优化 68 
4.6.1 为什么索引i/o那么高 68 
4.6.2 别乱建索引 68 
4.6.3 如何发现多余的索引 69 
4.6.4 如何进行索引碎片分析和整理 70 
第5章 为应用软件设计更好的性能和可扩展性 71 
5.1 基本概念和原理 72 
5.1.1 本章标题有点大吧 72 
5.1.2 一个屡见不鲜的错误 72 
5.1.3 解剖sql语句执行过程 73 
5.2 语句共享性原理 74 
5.2.1 再说联机事务处理系统（oltp） 
和决策支持系统（olap） 74 
5.2.2 如何实现语句共享化 74 
5.2.3 开发人员永远比oracle聪明 75 
5.2.4 技术服务工作，越做胆子越小 75 
5.2.5 如何量化评估语句共享性 76 
5.3 回到日本企业案例 77 
5.3.1 深入分析技术原因 77 
5.3.2 被日本人较真的滋味其实不好受 79 
5.4 语句共享性的深入分析 79 
5.4.1 语句共享性和查询统计系统的关系 79 
5.4.2 语句共享性与扩展性的关系 80 
第6章 如何提高排序、表连接性能 81 
6.1 如何提高排序性能 82 
6.1.1 能不排序就不排序——废话一句 82 
6.1.2 查询欠费最高的前100名手机客户 83 
6.1.3 痛心疾首的一刻 84 
6.1.4 ibm和oracle：亦敌亦友 88 
6.2 oracle表连接技术和应用 89 
6.2.1 数据库精髓之一：表连接 89 
6.2.2 最经典、最常用的表连接技术——嵌套循环 90 
6.2.3 嵌套循环连接与索引 91 
6.2.4 嵌套循环连接的应用场景及效率 93 
6.2.5 适合于大批量数据处理的连接技术 94 
6.3 多表连接优化的基本思路 96 
6.3.1 总体思路 96 
6.3.2 oltp应用的表连接优化 96 
6.4 如何使用子查询 96 
6.4.1 使用子查询好不好 96 
6.4.2 到底是使用in还是exists 97 
6.5 回到20/80规则 99 
6.5.1 优化详细过程 100 
6.5.2 技术方面总结 106 
6.5.3 每项工作做到最好都不容易 107 
第7章 应用综合优化及总结 108 
7.1更多的优化案例 109 
7.1.1数据类型不一致导致的问题 109 
7.1.2 多此一举的操作 111 
7.1.3 错误使用hint 113 
7.1.4 oracle和ibm又一次成功合作 117 
7.2 可怕的笛卡儿乘积 118 
7.2.1 问题的发生和初步解决 119 
7.2.2 其实是设计和开发中更深层次问题 120 
7.3 说说全表扫描 122 
7.3.1 导致数据库性能问题的常见原因 122 
7.3.2 何谓全表扫描 122 
7.3.3 数据增长与全表扫描的关系 123 
7.3.4 硬件太多了 124 
7.3.5 导致技术运用复杂化的其他问题 124 
7.3.6 更多的类比和感慨 125 
7.4 导致性能问题的其他原因 125 
7.5 一个应用软件的综合优化 126 
7.5.1 优化前的状况 126 
7.5.2 优化策略及分工合作 127 
7.5.3 优化效果及原因分析 127 
7.5.4 主管部门的反应 128 
7.5.5 美妙的三降预言同时实现 129 
7.5.6 优化工作的艰巨性和长期性 129 
7.6 一个朴实无华的好系统 130 
7.6.1 国人也能做出精良的好系统 130 
7.6.2 巨大升值空间 131 
7.6.3 瑕不掩瑜 131 
第8章 oracle分区技术及应用 133 
8.1 硅谷之行 134 
8.1.1 it人的圣地：硅谷 134 
8.1.2 我在oracle总部中邪了 135 
8.2 我对oracle分区技术的认知过程 135 
8.2.1 初尝分区甜头 135 
8.2.2 分区给我的痛苦体验 137 
8.2.3 全面理解分区技术 138 
8.3 分区表技术 138 
8.3.1 分区技术原理：分而治之 138 
8.3.2 分区表技术概述 140 
8.3.3 11g的分区新技术 144 
8.4 分区索引技术 146 
8.4.1 分区索引技术好难哦 146 
8.4.2 10分钟让你理解最难的分区索引 149 
8.4.3 分区索引设计指南 151 
8.5 更多的分区技术 153 
8.5.1 一个神奇的分区技术 153 
8.5.2 oracle分区技术发展史 154 
8.6 如何实施和评估分区 155 
8.6.1 分区设计建议 155 
8.6.2 分区效果评估 156 
8.6.3 如何在生产系统实施分区 156 
8.7 某行业分区方案设计的曲折过程 159 
8.7.1 第一阶段：出师不利 159 
8.7.2 第二阶段：经验主义错误 160 
8.7.3 第三阶段：初见成效 160 
8.7.4 第四阶段：日臻完善 160 
8.8 分区方案中常见问题探讨 161 
8.8.1 问题1：目标方面的误区 161 
8.8.2 问题2：分区表设计方面的误区 162 
8.8.3 问题3：没有充分考虑应用设计和开发的误区 162 
8.8.4 问题4：分区表空间设计方面的误区 163 
8.8.5 问题5：分区在大批量数据处理中的误区 164 
8.8.6 问题6：分区索引设计方面的误区 164 
8.8.7 无止境的分区技术 165 
第9章 架构与性能优化 166 
9.1 该谈谈架构了 167 
9.1.1 架构与性能的关系 167 
9.1.2 oracle高端架构产品与性能的关系 167 
9.1.3 oracle架构的重要性 168 
9.2 基本概念很重要 169 
9.2.1 什么是oracle数据库 169 
9.2.2 服务器、实例和数据库的关系 170 
9.2.3 关于架构方面的误区 172 
9.3 it系统架构现状分析 173 
9.3.1 一副并不美妙的大蜘蛛网 173 
9.3.2 现有体系结构特点分析 174 
9.3.3 现有体系结构评估 174 
9.4 oracle网格计算 176 
9.4.1 oracle 10g = 网格计算 176 
9.4.2 按网格计算设计数据库架构 176 
9.4.3 乌托邦式架构就是好 178 
9.4.4 初级阶段的设计建议 179 
9.4.5 关于真正大集中的疑虑 179 
9.5 云计算与性能优化 182 
9.5.1 满天翻滚的云 182 
9.5.2 oracle的红云 182 
9.5.3 客户关注的云计算话题 183 
9.6 oracle数据库分布式架构 184 
9.6.1 数据复制技术 184 
9.6.2 data guard技术简介 186 
9.6.3 streams技术简介 187 
9.6.4 其他数据同步技术 188 
9.6.5 数据同步技术的定位和比较 188 
9.7 我看分布式架构 190 
9.7.1 我不喜欢分布式架构 190 
9.7.2 数据大集中与分布式架构 191 
9.7.3 分布式架构的用武之地 192 
9.7.4 真正的返璞归真 192 
9.8 誓做抗拒拆迁的刁民 193 
9.8.1 拆迁大锤已高高举起 193 
9.8.2 统一战线发挥重要作用 193 
9.8.3 人民战争的汪洋大海 195 
9.9 一个本来平淡的日子 195 
9.9.1 什么专家，拿了钱就跑？ 195 
9.9.2 艰难的问题诊断过程 196 
9.9.3 一根救命稻草 197 
9.9.4 技术方面的教训和感悟 197 
9.9.5 犹豫半天的话语 198 
第10章 rac与性能优化 200 
10.1 关于rac的一些误解和疑虑 201 
10.2 rac技术原理 203 
10.2.1 系统介绍rac架构和原理 203 
10.2.2 rac到底有什么好处 204 
10.2.3 10g rac架构新特性 205 
10.2.4 我害怕oracle什么技术工作 206 
10.3 rac架构的优势 207 
10.3.1 为什么rac架构比ha架构好 207 
10.3.2 客户的方案不一定是最优的 209 
10.4 rac实施方法论 210 
10.4.1 还是方法论重要 210 
10.4.2 “你打个补丁要三天啊？” 211 
10.4.3 如何降低rac实施和运行风险 212 
10.4.4 rac其实背了好多黑锅 212 
10.5 rac性能优化原理 213 
10.5.1 rac性能优化等同于单事例 213 
10.5.2 rac性能问题与应用关系 214 
10.5.3 应用在rac环境下部署的最佳方式 216 
10.6 rac环境下的性能分析 217 
10.6.1 rac性能分析基本策略 217 
10.6.2 awr报告中的rac性能分析 217 
10.6.3 addm报告中的rac问题原因分析 218 
10.6.4 gcs性能分析 219 
10.6.5 ges性能分析 221 
10.6.6 下得去，还要上得来 222 
10.7 rac高可用性 222 
10.7.1 rac高可用性技术其实很复杂 222 
10.7.2 rac高可用性实施思路 223 
10.7.3 rac高可用性测试案例和测试过程 223 
10.8 rac可扩展性 225 
10.8.1 rac不能超过4个节点？ 225 
10.8.2 oracle总部rac专家的观点 225 
10.8.3 某大型交易系统的扩展性测试 226 
10.8.4 如何实施rac扩展性 227 
10.9 rac运行维护和故障诊断 228 
10.9.1 rac运行维护建议 228 
10.9.2 rac故障诊断经验谈 228 
10.9.3 瞎猫碰上死耗子 229 
第11章 数据仓库中的性能优化 231 
11.1 我看数据仓库 232 
11.1.1 数据仓库不是仓库管理软件 232 
11.1.2 数据仓库鼻祖的精确定义 232 
11.1.3 数据仓库的应用特点 233 
11.1.4 我所理解的数据仓库 233 
11.1.5 本书讲述的数据仓库 234 
11.2 数据仓库应用开发指导思想 235 
11.2.1 数据仓库应用开发指导思想建议 235 
11.2.2 案例为证 235 
11.2.3 如何贯彻大批量、并行处理？ 238 
11.3 并行处理技术的应用 238 
11.3.1 oracle并行处理技术无处不在 238 
11.3.2 并行处理举例 239 
11.3.3 并行技术的几个层面 240 
11.3.4 并行处理经验 242 
11.3.5 榨干所有硬件资源 243 
11.4 oracle是个大计算器 244 
11.4.1 告别农耕时代 244 
11.4.2 oracle不仅是一个存数据的大容器 244 
11.5 大批量数据etl案例 245 
11.5.1 vip客户判断标准 245 
11.5.2 外部表 246 
11.5.3 merge语句 247 
11.5.4 vip计算总体流程图 248 
11.5.5 简述一个流程 249 
11.5.6 方案评估 250 
11.6 “非典”期间的一个典型性问题 250 
11.6.1 一个应用开发中的典型性问题 250 
11.6.2 oracle系统级临时表 253 
11.7 一种快速高效的数据仓库加载方案 253 
11.7.1 让洋鬼子激动地蹦到桌子上去 253 
11.7.2 快速高效的数据仓库加载方案 255 
11.8 报表优化技术 259 
11.8.1 我的第一次软件开发经历 259 
11.8.2 现在的报表处理状况 260 
11.8.3 报表优化核心技术：物化视图和语句重写 261 
11.8.4 为什么不要自己编写汇总表 263 
11.8.5 报表优化的基本思路及示例 263 
11.8.6 报表优化示例 264 
11.8.7 为什么没有实现语句重写 268 
11.8.8 it行业到底是买方市场还是卖方市场 269 
第12章 统计信息采集与性能优化 272 
12.1 我闯大祸了 273 
12.1.1 常在河边走，哪有不湿鞋的 273 
12.1.2 太急于表现了 273 
12.1.3 建一个索引，搞死一个系统 274 
12.1.4 我被骂得满地找地缝 274 
12.1.5 初识问题原因 275 
12.1.6 问题根本原因 275 
12.2 优化器原理和统计信息采集作用 276 
12.2.1 sql语句执行过程 276 
12.2.2 基于规则优化器（rbo）简介 277 
12.2.3 基于成本优化器（cbo）简介 278 
12.2.4 如何将葫芦和瓢都按下 278 
12.2.5 为什么要进行统计信息采集 279 
12.3 自动采集统计信息 279 
12.3.1 自动采集统计信息的特点 279 
12.3.2 自动还是手工 280 
12.3.3 超长的自动统计信息采集 280 
12.3.4 一次变味的数据库升级技术研讨会 282 
12.4 定制采集统计信息 282 
12.4.1 统计信息采集基本策略 282 
12.4.2 统计信息采集实施策略 283 
12.4.3 统计信息采集具体方法 283 
12.4.4 oracle 10g鬼精鬼精的 285 
12.5 若干最佳实践经验 286 
12.5.1 自动和手工结合进行统计信息采集 286 
12.5.2 锁住统计信息采集 286 
12.5.3 数据分布统计（histogram）建议 286 
12.5.4 批处理中的统计信息采集 287 
12.5.5 铁路警察，各管一段 288 
第13章 感悟性能优化分析的高级工具 290 
13.1 oracle 10g = oracle 10a 291 
13.1.1 外部手工管理变内部自动管理 291 
13.1.2 oracle 10g都有哪些自动的东西 292 
13.2 awr是个好东西 292 
13.2.1 awr原理 292 
13.2.2 awr基本操作 293 
13.2.3 把awr功能用个够 295 
13.3 addm：oracle能自动诊断监控吗 298 
13.3.1 addm能干啥 298 
13.3.2 dba要失业了吗 300 
13.4 sql优化进入工业化时代 301 
13.4.1 传统模式到工业化 301 
13.4.2 sql tuning advisor能做哪些优化 302 
13.4.3 sql access advisor能做哪些优化 304 
13.4.4 sql tuning advisor和sql access advisor的差异 304 
13.4.5 oem中的每条命令我都会敲 304 
13.4.6 it工业化时代的初级阶段 305 
第14章 参数配置与性能优化 307 
14.1 神奇的“魔术师” 308 
14.1.1 不调系统参数 308 
14.1.2 调错系统参数 308 
14.2 漫谈初始化参数 309 
14.2.1 神奇的初始化参数 309 
14.2.2 参数设置基本思路和经验 310 
14.2.3 将log buffer设它个几百兆 311 
14.3 自动内存管理 311 
14.3.1 dba真地快没活干了 311 
14.3.2 自动内存管理技术管用吗 314 
14.4 buffer cache优化 315 
14.4.1 buffer cache参数设置思路 315 
14.4.2 buffer cache优化技术 316 
14.4.3 buffer cache的其他优化技术 318 
14.5 shared pool优化 319 
14.5.1 shared pool参数设置思路 319 
14.5.2 shared pool优化技术 320 
14.5.3 再撞一次墙 321 
14.6 pga优化 321 
14.6.1 pga参数设置思路 321 
14.6.2 匪夷所思的做法 323 
14.7 奇妙的oracle内部参数 325 
14.7.1 oracle有神奇的内部参数吗？ 325 
14.7.2 内部参数的一次神奇作用 325 
14.7.3 不要滥用内部参数 327 
14.7.4 令人眼花缭乱的内部参数和event 327 
第15章 存储技术与性能优化 330 
15.1 什么时候才考虑i/o优化 331 
15.2 裸设备？文件系统？asm？ 331 
15.2.1 裸设备有那么神奇吗？ 331 
15.2.2 客户期望值太高了 332 
15.2.3 文件系统和裸设备的原理分析 332 
15.2.4 文件系统同样好 333 
15.3 raid与性能优化 334 
15.3.1 也说raid 334 
15.3.2 ibm太慷慨了 334 
15.4 oracle管存储了 336 
15.4.1 关于asm的疑虑 336 
15.4.2 asm是什么？ 336 
15.4.3 asm有什么技术优势？ 337 
15.4.4 oracle即将不支持裸设备了 338 
15.5 asm优化策略 338 
15.5.1 裸设备与asm的性能对比 338 
15.5.2 如何保证asm实施的高性能 340 
15.5.3 asm事例的参数设置建议 341 
15.6 asm实施案例 343 
15.6.1 我所见过的真正海量数据库 343 
15.6.2 裸设备还是asm文件系统？ 344 
15.6.3 asm、omf、大表空间技术的完美结合 344 
15.6.4 年轻教授被asm气得直跳脚 345 
15.6.5 宽容平和的心态 346 
第16章 数据保护中的性能优化 348 
16.1 oracle丰富的数据保护技术 349 
16.1.1 oracle高可用性解决方案全景图 349 
16.1.2 相关技术和产品的定位 349 
16.2 rman实施现状分析 350 
16.2.1 备份恢复只是磁带库厂商的事情？ 350 
16.2.2 rman实施中常见问题分析 351 
16.3 rman备份的优化 353 
16.3.1 rman备份优化的基本策略 353 
16.3.2 rman备份优化的传统技术 353 
16.3.3 在表空间级进行rman备份 354 
16.3.4 10g的快速增量备份技术 356 
16.3.5 备份压缩技术 358 
16.4 rman恢复的优化 358 
16.4.1 头疼医头，脚疼医脚 358 
16.4.2 降低日志恢复量 360 
16.4.3 增量更新备份 361 
16.5 快速恢复数据的新技术：flashback 361 
16.5.1 人为逻辑错误是最大的单一因素 361 
16.5.2 传统的数据恢复技术及缺陷 362 
16.5.3 flashback技术概述 363 
16.5.4 flashback技术综合对比 364 
16.5.5 flashback技术与传统数据恢复技术综合运用 365 
16.6 data guard实施中的优化 365 
16.6.1 容灾系统与生产系统是紧密相关的 365 
16.6.2 还是原理最重要 366 
16.6.3 日志传输的优化 366 
16.6.4 日志恢复的优化 371 
16.6.5 容灾系统与生产系统的配置关系 372 
16.6.6 也谈data guard与硬件存储镜像技术 372 
16.6.7 data guard和存储镜像技术的综合 374 
第17章 故障诊断与性能优化 375 
17.1 故障诊断与性能优化的区别 376 
17.1.1 故障诊断与性能优化不完全是一回事 376 
17.1.2 故障诊断需要一个伟大的心脏 376 
17.2 大汗淋漓的故障诊断 377 
17.2.1 一个“ctrl + c”几乎搞死一个系统 377 
17.2.2 啼笑皆非的故障处理过程 378 
17.2.3 胁从犯的自责 379 
17.3 可别小看数据坏块处理 379 
17.3.1 “关于oracle腐败问题的处理” 379 
17.3.2 飞机落地了，资料还未看完 380 
17.3.3 收集信息、制定处理方案最重要 380 
17.3.4 数据坏块处理的八卦图 381 
17.3.5 别乱用dul 383 
17.3.6 如何防范数据坏块 384 
17.4 堪比好来坞大片的情节 385 
17.4.1 我的女同事被吓坏了 385 
17.4.2 惊心动魄的时刻！ 385 
17.4.3 事件远没有结束 386 
17.4.4 其实原因很简单 387 
17.5 oracle buuuuuuuuuuuuuug 388 
17.5.1 我看oracle bug 388 
17.5.2 手工作坊与大工厂的差别 389 
17.5.3 一个展板都画不下的流程图 389 
17.6 软件版本管理和补丁实施 390 
17.6.1 相关术语和概念 390 
17.6.2 未雨绸缪的补丁实施计划 391 
17.6.3 打补丁那点事 392 
17.6.4 补丁冲突分析像侦探推理 393 
第18章 dba职责及性能管理 395 
18.1 我的专职dba经历 396 
18.1.1 不太安心的“dba” 396 
18.1.2 无所事事的“dba” 396 
18.1.3 手忙脚乱的“dba” 397 
18.1.4 无所事事的dba 397 
18.2 dba职责建议 398 
18.2.1 dba的十大任务 398 
18.2.2 dba的工作比例 400 
18.2.3 不太懂sql的dba 400 
18.2.4 一位技术实力超强的dba 401 
18.3 dba在性能方面的工作 402 
18.3.1 每日的工作 402 
18.3.2 每周的工作 403 
18.3.3 每月的工作 403 
18.3.4 其他的工作 403 
18.4 性能管理更重要 404 
18.4.1 性能问题其实是管理问题 404 
18.4.2 开发人员永远都长不大？ 404 
18.4.3 oracle核心技术开发团队的故事 405 
18.5 开发与运行维护的脱节 405 
18.5.1 开发与运行维护部门的独立性 406 
18.5.2 开发与运行维护工作的脱节 406 
18.6 客户/开发商/oracle的分工合作 407 
18.6.1 目前的分工和定位 407 
18.6.2 客户在it系统中的作用 408 
18.6.3 建议的分工和定位 409 
18.6.4 包含3种角色的项目组 411 
18.7 分工合作的成功案例 412 
18.7.1 系统运行情况 412 
18.7.2 系统主要技术特点 412 
18.7.3 项目成功因素分析 413 
18.7.4 oracle公司的服务经验 413 
18.7.5 项目的不足 414 
第19章 软件就是服务 415 
19.1 oracle服务体系概述 416 
19.1.1 oracle公司组织结构一瞥 416 
19.1.2 oracle丰富的服务产品 417 
19.2 我看oracle标准服务 419 
19.2.1 标准服务不仅仅是法律条款 419 
19.2.2 标准服务的益处 419 
19.3 爱不释手的metalink 420 
19.3.1 幸亏有metalink 420 
19.3.2 初尝oracle服务甜头 420 
19.3.3 metalink是个大宝藏 421 
19.3.4 metalink是个自助式的知识库 422 
19.3.5 在metalink中提交sr的经验 423 
19.3.6 把metalink当成学习工具 425 
19.4 oracle高级客户服务 426 
19.4.1 acs服务概述 426 
19.4.2 基于itil理念的acs服务 427 
19.4.3 我们不是钟点工 430 
19.4.4 acs的运行维护服务 430 
19.4.5 it系统挑战和acs解决方案服务 432 
19.4.6 几种acs解决方案服务 432 
19.5 又一次救火之后的感慨 435 
19.5.1 又着火了 435 
19.5.2 再次感谢metalink 435 
19.5.3 客户把系统重新安装了 436 
19.5.4 其实还是服务问题 436 
第20章 一个更全面的案例 438 
20.1 为升级而来 439 
20.1.1 初识客户 439 
20.1.2 升级方案遇到阻力 439 
20.2 以性能优化开路 440 
20.2.1 性能是升级的第一大风险 440 
20.2.2 调整服务思路 440 
20.3 性能整体评估 441 
20.3.1 先看操作系统数据 441 
20.3.2 数据库基准指标的采集 441 
20.3.3 性能分析策略和原则 442 
20.4 若干典型问题 443 
20.4.1 还是索引这样基础的问题 443 
20.4.2 发现了最大的性能瓶颈 445 
20.4.3 我把开发人员吓住了 449 
20.4.4 参数可调的余地太小 450 
20.5 难以解决的问题：中间表 451 
20.5.1 又一类典型问题 451 
20.5.2 9i没有合适的招 451 
20.5.3 10g的有效解决办法 452 
20.6 又说分区方案设计 453 
20.6.1 分区表太多了 453 
20.6.2 分区设计的其他问题 453 
20.6.3 综合平衡考虑问题不简单 454 
20.7 再说升级 454 
20.7.1 对升级的两种极端看法 454 
20.7.2 为什么要升级 455 
20.7.3 常见的升级方法 456 
20.7.4 oracle升级服务包 457 
20.7.5 如何降低性能风险 458 
第21章 综合类 460 
21.1 oracle出硬件了 461 
21.1.1 我快变成硬件工程师了 461 
21.1.2 我看exadata 461 
21.1.3 acs在exadata方面的服务 464 
21.2 oracle全文检索技术 465 
21.2.1 oracle能做搜索引擎 465 
21.2.2 茅塞顿开的解决方案 467 
21.2.3 林子大了，什么鸟都有 469 
21.3 什么是it系统最宝贵的财富 470 
21.3.1 it系统最宝贵的财富是信息本身 470 
21.3.2 也谈信息中心的作用 470 
21.4 如何阅读oracle联机文档 471 
21.4.1 oracle联机文档的确是个宝藏 471 
21.4.2 合理分类阅读和利用 471 
21.4.3 按工作角色和任务去阅读 473 
21.5 it行业中的“伪”科学 474 
21.5.1 什么叫it“伪”科学 474 
21.5.2 费力不讨好的事情 474 
21.5.3 我也是“伪”it科学的吹鼓手 475 
21.6 性能优化与桥牌 477 
21.6.1 大局观的重要 477 
21.6.2 实施计划的重要性 478 
21.6.3 应善于捕捉、利用信息 478 
21.6.4 合作、沟通的重要性 479 
21.6.5 简简单单，平平淡淡就是真 479 
21.7 it业其实还是个孩子 480 
21.8 大话南游记 481 
结束语 484 
参考文献 486