第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 l 1g的分区新技术 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第四阶段:日臻完善 161
8.8分区方案中常见问题探讨 161
8.8.1问题1:目标方面的误区 161
8.8.2问题2:分区表设计方面的误区 162
8.8.3问题3:没有充分考虑应用设计和开发的误区 163
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 00g 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 00g鬼精鬼精的 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 00g=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 00g的快速增量备份技术 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 00g的有效解决办法 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