Oracle性能优化求生指南
4推荐 收藏
8.9K阅读
图灵程序设计丛书

Oracle性能优化求生指南

Guy Harrison (作者) 胡怡文 , 童家旺 , 郑勇斌 (译者)
终止销售
本书以系统而有效的方式详细阐释了Oracle 性能优化方面的问题,解决了Oracle 性能管理所有方面的问题,从而堪称Oracle 调优的“求生指南”。
全书共分为6 个部分,分别涉及Oracle 的方法、概念及工具、应用和数据库设计、SQL 和PL/SQL 调优、最小化争用、优化内存及IO 调优与集群,全面地覆盖了Oracle 10g 和11g。在深度和广度上,都保持了对调优的基础原理的关注。
本书不仅适用于Oracle 数据库的初学者,也是资深人士的案前必备图书。

收藏本书能做什么?

有情况的时候会收到通知,比如电子书发布等。

出版信息

同系列书

  • HTTP权威指南

    David Gourley   Brian Totty   Marjorie Sayer   Sailu Reddy   Anshu Aggarwal   陈涓   赵振平   译

    本书是HTTP及其相关核心Web技术方面的权威著作,主要介绍了Web应用程序是如何工作的,核心的因特网协议如何...

  • JavaScript高级程序设计(第3版)

    Nicholas C.Zakas   李松峰   曹力   译

    本书是JavaScript超级畅销书的新版。ECMAScript 5 和HTML5在标准之争中双双胜出,使大量...

  • 计算机科学的基础

    Al Aho   Jeff Ullman   傅尔也   译

    本书全面而详细地阐述了计算机科学的理论基础,从抽象概念的机械化到各种数据模型的建立,用算法、数据抽象等核心思想...

  • Java技术手册(第6版)

    Benjamin J Evans   David Flanagan   安道   译

    通过学习本书,你将能够: 掌握最新的语言细节,包括Java 8的变化 使用基本的Java句法学习面向对...

  • 机器学习实战

    Peter Harrington   李锐   李鹏   曲亚东   王斌   译

    机器学习是人工智能研究领域中一个极其重要的研究方向,在现今的大数据时代背景下,捕获数据并从中萃取有价值的信息或...

本书特色

Oracle数据库优化必读
源于实战,精于实例
内容涵盖Oracle 10g、11g及11g发行版本2
“本书涉及的主题之广泛、阐述之细致令我吃惊,像我这种在Oracle领域摸爬滚打了近20年的人也受益匪浅。”
——Rob Hamel,Pythian咨询集团副总裁,资深Oracle专家

“Harrison先生在Oracle性能调优领域备受尊崇,他的书是我在Oracle数据库性能方向的启蒙读物。本书为Oracle性能调优提供了一个结构化方法,同时极为重视基础理论,旨在帮助读者解决Oracle性能管理所有方面的问题。”
——亚马逊读者评论

“与那些整页都是不可复制的‘测试用例’代码清单的纯理论性图书截然不同。对于Oracle DBA来说,这是一本实用性极强的书。”
——亚马逊读者评论

Oracle数据库的应用十分广泛,数据库性能的好坏直接影响应用程序能否快速响应用户指令。而Oracle数据库又比较复杂,数据库性能调优成为众多DBA最为头疼的问题。
本书作者凭借其20多年的丰富经验,为我们带来了一本系统的、全面的Oracle性能优化手册,用结构化方法帮助读者解决从数据库应用到数据库设计的所有问题。全书分为6部分、23章,实例丰富,兼具技术深度和广度,被读者誉为“最有用的Oracle性能调优参考书”。主要内容包括:
- 有效的Oracle性能优化方法描述;
- 如何充分利用Oracle的核心工具来跟踪、监控、诊断性能;
- 高效的数据库逻辑与物理设计、索引设计、事务设计以及API的使用;
- SQL与PL/SQL调优,包含并行SQL技术的使用;
- 最小化排队锁、闩锁、共享内存以及其他数据库资源的争用;
- 优化内存以及物理磁盘I/O;
- 调优Oracle RAC。
本书适用于所有的Oracle DBA。

目录





目 录



第一部分  方法、概念和工具

第1章  Oracle性能调优:一种系统化方法    2

1.1  Oracle性能调优简史    3

1.2  超越表面分析法    3

1.3  第一阶段:最小化应用负载    5

1.4  第二阶段:降低争用和瓶颈    6

1.5  第三阶段:降低物理IO    7

1.6  第四阶段:优化磁盘IO    8

1.7  本章小结    9

第2章  Oracle体系结构与基本概念    11

2.1  Oracle API    11

2.1.1  创建游标    13

2.1.2  检查缓存的SQL语句    13

2.1.3  解析SQL语句    13

2.1.4  关联绑定变量    14

2.1.5  执行SQL语句    15

2.1.6  提取记录    15

2.1.7  使用批量提取    15

2.1.8  处理结果集    16

2.1.9  关闭游标    16

2.1.10  优化Oracle API调用    16

2.2  Oracle查询优化器    16

2.2.1  基于成本的优化    17

2.2.2  优化器目标    18

2.2.3  优化器统计信息    18

2.2.4  绑定变量窥视与自适应游标共享    19

2.2.5  提示    19

2.2.6  存储概要、SQL概要和SQL计划基线    19

2.3  事务和锁    20

2.4  Oracle服务器体系结构    20

2.4.1  实例与数据库    21

2.4.2  系统全局区    22

2.4.3  数据缓存    22

2.4.4  程序全局区    22

2.4.5  内存管理    23

2.5  段与文件    23

2.5.1  表    23

2.5.2  索引    24

2.5.3  块、区间、段以及分区    24

2.5.4  表空间与数据文件    25

2.5.5  回滚段    25

2.5.6  重做日志与归档日志    25

2.5.7  闪回日志    25

2.6  服务器进程    26

2.7  后台进程    26

2.8  真正应用集群    27

2.9  本章小结    28

第3章  实用工具    29

3.1  生成SQL语句的执行计划    29

3.1.1  计划表    30

3.1.2  研究缓存的SQL    33

3.1.3  DBMS_XPLAN    35

3.1.4  解释执行计划    39

3.1.5  虚拟索引    43

3.2  跟踪Oracle的执行    44

3.2.1  从当前会话中调用跟踪    44

3.2.2  识别跟踪文件    45

3.2.3  获取跟踪状态    45

3.2.4  在其他会话中调用跟踪    46

3.2.5  通过MODULE、ACTION或SERVICE进行跟踪    47

3.2.6  使用登录触发器来启用跟踪    47

3.2.7  定位跟踪文件    48

3.2.8  其他特殊化的跟踪    48

3.3  使用tkprof格式化跟踪文件    49

3.3.1  tkprof的排序选项    49

3.3.2  其他tkprof选项    50

3.3.3  合并多个SQL跟踪文件    51

3.3.4  解释tkprof的输出结果    51

3.3.5  tkprof中的执行计划    53

3.3.6  等待统计信息与tkprof    54

3.3.7  tkprof的替代品    54

3.4  在SQL*PLUS中使用AUTOTRACE    55

3.5  监控Oracle服务器    56

3.5.1  V$表接口    56

3.5.2  等待接口    57

3.5.3  时间模型    59

3.5.4  整合时间模型与等待接口    61

3.5.5  Oracle企业管理器    62

3.5.6  SPOTLIGHT ON ORACLE    63

3.6  本章小结    64

第二部分  应用和数据库设计

第4章  数据库逻辑设计和物理设计    66

4.1  逻辑数据模型    66

4.1.1  标准化和第三范式    66

4.1.2  数据类型选择    67

4.1.3  人造键    67

4.1.4  数据仓库设计    68

4.2  逻辑模型到物理模型的映射    68

4.2.1  将实体或类映射成表    69

4.2.2  选择表的类型    71

4.2.3  数据类型和精度    71

4.2.4  可选的属性和NULL值    72

4.2.5  列的顺序    73

4.2.6  探索Oracle对象模型    73

4.3  反规范化    74

4.3.1  复制列值以避免表联结    74

4.3.2  概要表    75

4.3.3  垂直分区    75

4.3.4  实施反规范化    76

4.4  星型模式设计    76

4.4.1  星型模式基础    76

4.4.2  雪花模式    77

4.4.3  维度层次结构    79

4.4.4  聚集和物化视图    80

4.4.5  物化视图最佳实践    81

4.5  物理存储方案    82

4.5.1  数据段存储手工管理和自动管理    82

4.5.2  并行插入和空闲块链表    82

4.5.3  PCTFREE 与PCTUSED    83

4.5.4  压缩    84

4.5.5  大数据字段LOB的存储    85

4.6  分区    86

4.6.1  分区的类型    86

4.6.2  组合分区    87

4.6.3  选择一个分区策略    87

4.6.4  企业管理器的分区顾问    87

4.7  本章小结    89

第5章  索引与簇    91

5.1  Oracle索引与簇机制的概况    91

5.2  B*树索引    91

5.2.1  索引选择性    93

5.2.2  唯一索引    93

5.2.3  隐含索引    94

5.2.4  组合索引    94

5.2.5  索引跳跃扫描    95

5.2.6  创建组合索引的指导原则    96

5.2.7  索引合并    96

5.2.8  索引中的空值    97

5.2.9  反转键(Reverse Key)索引    97

5.2.10  索引压缩    98

5.2.11  函数索引    98

5.2.12  外键与锁    99

5.2.13  索引与分区    100

5.3  位图索引    101

5.3.1  位图索引的特性    101

5.3.2  位图索引的缺陷    102

5.3.3  位图索引与基数    103

5.3.4  位图索引合并    104

5.3.5  位图联结索引    104

5.4  索引的开销    106

5.5  索引组织表    109

5.5.1  配置溢出段    111

5.5.2  定期重建索引组织表(IOT)    114

5.6  簇    114

5.6.1  索引簇    114

5.6.2  散列簇    116

5.7  嵌套表    121

5.8  选择最优的索引策略    123

5.9  本章小结    124

第6章  应用设计与实现    125

6.1  SQL语句管理    125

6.1.1  优化解析    125

6.1.2  避免执行不必要的SQL语句    129

6.2  批量接口    133

6.2.1  实现批量提取    133

6.2.2  批量插入    135

6.3  事务设计    135

6.3.1  隔离级别    136

6.3.2  事务与锁    137

6.3.3  Oracle中的行级锁    138

6.3.4  应用的锁策略    139

6.4  使用存储过程来降低网络流量    141

6.5  本章小结    145

第三部分  SQL和PL/SQL调优

第7章  优化器的优化    148

7.1  Oracle优化器    148

7.1.1  什么是成本    148

7.1.2  优化器目标    149

7.1.3  选择性和基数    149

7.1.4  查询转换    149

7.1.5  成本计算    150

7.1.6  对象统计信息    151

7.1.7  直方图    152

7.1.8  绑定变量窥探    154

7.1.9  自适应游标共享    155

7.1.10  数据库参数    156

7.1.11  系统统计信息    159

7.1.12  收集统计信息    160

7.2  使用DBMS_STAT    162

7.2.1  DBMS_STATS的储存过程和参数    163

7.2.2  设置DBMS_STATS的系统默认值    165

7.2.3  使用METHOD_OPT创建直方图    165

7.2.4  抽样    166

7.2.5  分区统计信息    167

7.2.6  扩展的统计信息    167

7.2.7  锁定统计信息    169

7.2.8  系统统计信息    170

7.2.9  导出和导入统计信息    170

7.2.10  操纵统计信息    170

7.3  本章小结    171

第8章  执行计划管理    172

8.1  提示    172

8.1.1  使用提示来改变访问路径    174

8.1.2  使用提示来改变联结顺序    174

8.1.3  提示详述中的错误    175

8.2  存储提纲    175

8.2.1  创建存储提纲以稳定执行计划    176

8.2.2  侵入存储提纲    177

8.3  SQL调优集    179

8.3.1  手动创建调优集    180

8.3.2  在企业管理器中创建调优集    181

8.4  SQL概要和SQL调优顾问    182

8.4.1  使用DBMS_SQLTUNE    183

8.4.2  索引建议    185

8.4.3  企业管理器中的SQL优化    186

8.4.4  使用SQL访问顾问进行交叉SQL调优    187

8.5  SQL基线    189

8.5.1  创建基线    189

8.5.2  进化基线    191

8.5.3  自动化和配置基线    194

8.5.4  固化的基线    194

8.5.5  在ORACLE 企业管理器中管理基线    195

8.6  本章小结    195

第9章  表访问调优    197

9.1  单值查询    197

9.1.1  在表和索引扫描间选择    198

9.1.2  位图索引和单值查询    201

9.1.3  散列聚簇和单值查询    202

9.2  避免“意外的”表扫描    203

9.2.1  不等条件    203

9.2.2  空值查询    205

9.2.3  查找非空值    207

9.2.4  在可为空的列上创建索引    207

9.2.5  无意中通过使用函数而禁用了索引    208

9.2.6  函数索引    208

9.2.7  函数索引和统计    209

9.2.8  虚拟列    211

9.3  多列查询    212

9.3.1  使用组合索引    212

9.3.2  索引合并    213

9.3.3  唯一性与覆盖索引    213

9.4  查找范围    214

9.4.1  无界范围扫描    214

9.4.2  有界范围扫描    216

9.4.3  范围查询    217

9.5  使用LIKE运算符    219

9.6  多值单列查找    220

9.7  优化必要的全表扫描    221

9.7.1  降低高水位线    221

9.7.2  优化PCTFREE和PCTUSED    222

9.7.3  减少记录长度    223

9.7.4  压缩表    223

9.7.5  使数据库IO更高效    225

9.7.6  使用抽样选项    225

9.7.7  并行查询    226

9.7.8  快速全索引扫描    227

9.7.9  分区    228

9.8  本章小结    229

第10章  联结与子查询    231

10.1  联结类型    231

10.2  联结方法    232

10.2.1  嵌套循环联结    232

10.2.2  排序合并联结    233

10.2.3  散列联结    234

10.3  选择正确的联结方法    235

10.3.1  排序合并/散列与嵌套循环的对比    235

10.3.2  排序合并和散列联结对比    235

10.4  优化联结    239

10.4.1  优化嵌套循环联结    239

10.4.2  优化排序合并联结与散列联结    240

10.5  避免联结    241

10.5.1  反范式化    242

10.5.2  索引聚簇    242

10.5.3  物化视图    243

10.5.4  位图联结索引    244

10.6  联结顺序    244

10.7  特殊联结    246

10.7.1  外联结    246

10.7.2  星型联结    248

10.7.3  层级查询    252

10.8  子查询    254

10.8.1  简单子查询    254

10.8.2  关联子查询    256

10.8.3  反联结子查询    257

10.8.4  半联结子查询    259

10.9  本章小结    260

第11章  排序、分组与集合操作    261

11.1  排序操作    261

11.1.1  最优、一次和多次排序    262

11.1.2  衡量排序活动    263

11.1.3  跟踪排序活动    264

11.1.4  使用索引规避排序    265

11.2  分组与聚合    267

11.2.1  聚合操作    267

11.2.2  最大值和最小值    268

11.2.3  “前N”查询    269

11.2.4  计算一张表的记录数    271

11.2.5  分组操作    271

11.2.6  HAVING与WHERE    273

11.3  集合操作    274

11.3.1  UNION与UNION ALL    275

11.3.2  INTERSECT    275

11.3.3  MINUS    277

11.3.4  集合操作和它们的替代方法    278

11.4  本章小结    279

第12章  使用和调优PL/SQL    280

12.1  PL/SQL的性能优势    280

12.1.1  过程化的方法    280

12.1.2  减少网络开销    280

12.1.3  分解并攻克海量的SQL语句    281

12.2  衡量PL/SQL的性能    281

12.2.1  衡量PL/SQL的开销    281

12.2.2  使用DBMS_PROFILER    283

12.2.3  11g的分层剖析器    284

12.3  数据访问优化    287

12.3.1  数组处理和BULK COLLECT    287

12.3.2  对INSERT语句进行数组处理    289

12.3.3  绑定变量和动态SQL    290

12.4  PL/SQL代码优化    292

12.4.1  首先调优SQL    292

12.4.2  PLSQL_OPTIMIZE_LEVEL    292

12.4.3  循环优化    293

12.4.4  “短路”表达式    295

12.4.5  在IF和CASE语句中表达式的顺序    297

12.4.6  递归    298

12.4.7  NOCOPY子句    299

12.4.8  关联数组    301

12.5  其他优化    302

12.5.1  本地编译    302

12.5.2  内联PL/SQL    304

12.5.3  数据类型    306

12.5.4  使用JAVA计算    307

12.5.5  函数缓存    308

12.6  DML触发器的性能    309

12.6.1  UPDATE OF和WHEN子句    309

12.6.2  BEFORE和AFTER ROW触发器    310

12.7  本章小结    311

第13章  并行SQL    312

13.1  理解并行SQL    312

13.1.1  并行进程和并行度    314

13.1.2  并行子进程池    315

13.1.3  并行查询IO    316

13.1.4  并行性能收益    316

13.2  决定何时使用并行处理    317

13.2.1  服务器计算机有多个CPU    318

13.2.2  被访问的数据放置在多个磁盘驱动器上    318

13.2.3  使用并行的SQL是长时间运行的或者资源敏感的    318

13.2.4  SQL执行最少一次全表、索引或分区扫描    319

13.2.5  主机有空闲的能力    319

13.2.6  SQL是调优过的    319

13.3  配置并行处理    319

13.3.1  确定并行度    319

13.3.2  并行提示    321

13.3.3  并行配置的参数    321

13.4  监控并行SQL    323

13.4.1  并行语句的执行计划    323

13.4.2  跟踪并行执行    325

13.4.3  V$PQ_TQSTAT视图    326

13.4.4  其他的统计数据    327

13.5  优化并行的性能    328

13.5.1  从一个优化过的串行执行的SQL开始    328

13.5.2  确保这个SQL适合并行执行    329

13.5.3  确保系统适合配置支持并行执行    329

13.5.4  确保执行计划的所有部分都做了并行化    329

13.5.5  确保请求的并行度是可实现的    331

13.5.6  监控实际的并行度    331

13.5.7  检查进程间数据和负载的偏差    332

13.6  其他的并行主题    333

13.6.1  RAC的并行执行    333

13.6.2  并行的索引查找    334

13.6.3  并行DML    335

13.6.4  并行DDL    339

13.7  本章小结    340

第14章  DML调优    342

14.1  DML性能基础    342

14.1.1  Where子句优化    342

14.1.2  索引开销    343

14.1.3  触发器开销    344

14.1.4  参照完整性    345

14.2  INSERT操作的特定优化    346

14.2.1  批量处理    346

14.2.2  直接路径插入    347

14.2.3  多表插入    349

14.2.4  手动段存储管理(MSSM)和空闲列表    351

14.2.5  并行DML    351

14.3  删除操作    351

14.3.1  TRUNCATE    351

14.3.2  分区    352

14.3.3  CREATE TABLE AS SELECT    352

14.4  更新和合并操作    353

14.4.1  关联更新    353

14.4.2  优化MERGE操作    355

14.5  COMMIT优化    357

14.5.1  COMMIT频率    358

14.5.2  批量和NOWAIT提交    358

14.5.3  NOLOGGING    360

14.6  本章小结    361

第四部分  最小化争用

第15章  锁争用    364

15.1  锁的类型和模式    364

15.2  等待锁    367

15.3  监控和分析锁    368

15.3.1  锁等待的统计数据    368

15.3.2  发现导致锁争用的SQL    371

15.3.3  度量指定事务的锁争用    373

15.3.4  跟踪锁行为    375

15.3.5  阻塞者和等待者    376

15.4  应用程序的锁策略    379

15.5  行级锁什么时候会失败    380

15.5.1  没有索引的外键    380

15.5.2  事务表等待    381

15.5.3  位图索引    382

15.5.4  直接路径插入    383

15.6  系统锁    383

15.6.1  高水位标记enqueue    384

15.6.2  空间事务enqueue    384

15.6.3  序列缓存enqueue    384

15.6.4  用户锁enqueue    385

15.6.5  其他的系统锁    385

15.7  本章小结    386

第16章  闩锁和互斥争用    387

16.1  闩锁和互斥架构的简介    387

16.1.1  GETS、SPINS和SLEEPS    388

16.1.2  互斥    388

16.2  度量和诊断闩锁/互斥争用    389

16.2.1  识别单个的闩锁    390

16.2.2  发现与闩锁等待相关的SQL和段    391

16.3  特定的闩锁和互斥场景    392

16.3.1  Library Cache Mutex等待    393

16.3.2  Library Cache Pin    394

16.3.3  Shared Pool Latch    395

16.3.4  Cache Buffers Chains Latch    395

16.3.5  Row Cache Object闩锁    397

16.3.6  其他的闩锁场景    398

16.4  闩锁争用是不可避免的吗    399

16.4.1  改变_SPIN_COUNT怎么样    399

16.4.2  自旋计数、闩锁争用和吞吐量    400

16.4.3  设置单个闩锁的自旋计数    402

16.5  本章小结    402

第17章  共享内存争用    404

17.1  缓冲区高速缓存架构    404

17.2  空闲缓冲块等待    406

17.2.1  DBWR直接和异步IO    407

17.2.2  空闲缓冲块等待的其他补救措施    409

17.3  恢复写进程等待    410

17.3.1  提高闪回日志IO    411

17.3.2  增加闪回日志缓冲的大小    412

17.4  缓冲忙等待    414

17.4.1  度量缓冲忙    414

17.4.2  缓冲忙等待的传统原因    414

17.4.3  缓冲忙和热块    415

17.5  重做日志缓冲等待    417

17.6  本章小结    419

第五部分  优化内存

第18章  缓冲区高速缓存调优    422

18.1  缓冲区高速缓存的原理    422

18.1.1  最近最少使用列表    423

18.1.2  表扫描处理    423

18.1.3  CACHE属性    424

18.1.4  直接路径IO    424

18.2  缓冲区高速缓存配置和调优    425

18.2.1  监控缓冲区高速缓存    425

18.2.2  缓冲区高速缓存命中率    426

18.2.3  多个缓冲区高速缓存    428

18.2.4  设置缓冲区高速缓存的大小    430

18.3  自动共享内存管理    433

18.3.1  实现ASMM    433

18.3.2  监控重设大小操作    434

18.3.3  调优ASMM    435

18.3.4  非默认池    436

18.3.5  内存抖动    437

18.4  本章小结    439

第19章  优化PGA内存    440

19.1  IO和PGA内存    440

19.2  PGA内存管理    441

19.2.1  PGA_AGGREGATE_TARGET    441

19.2.2  会话的PGA限制    442

19.3  测量PGA的使用和效率    443

19.3.1  会话的PGA利用率    445

19.3.2  测量临时IO等待时间    446

19.3.3  测量工作区活动    448

19.4  用V$PGA_TARGET_ADVICE来设置PGA的大小    449

19.5  覆写PGA总量目标    452

19.6  本章小结    454

第20章  其他的内存管理主题    455

20.1  优化整体的Oracle内存    455

20.1.1  IO等待时间和内存优化    455

20.1.2  使用顾问来分配PGA和缓冲区高速缓存的内存    458

20.1.3  Oracle 11g的自动化内存管理    464

20.2  结果集缓存    470

20.2.1  启用和配置结果集缓存    471

20.2.2  结果集缓存的统计数据    471

20.2.3  结果集缓存的依赖    474

20.2.4  结果集缓存闩锁    474

20.3  其他的内存优化    476

20.3.1  设置共享池的大小    476

20.3.2  设置大池的大小    478

20.3.3  重做日志缓存    478

20.3.4  锁定SGA    478

20.4  本章小结    479

第六部分  IO调优和集群

第21章  磁盘IO调优基础    482

21.1  磁盘IO的概念    482

21.1.1  服务时间和吞吐量    482

21.1.2  排队    483

21.1.3  磁盘驱动器:慢和正在变得更慢    483

21.1.4  磁盘容量和数据分布    484

21.2  Oracle IO架构    484

21.2.1  数据文件单块读    485

21.2.2  多块读    485

21.2.3  直接路径读    486

21.2.4  临时直接路径IO    486

21.2.5  数据文件写IO    486

21.2.6  直接路径写    487

21.2.7  重做日志IO    487

21.2.8  归档日志IO    487

21.2.9  闪回IO    488

21.2.10  控制文件IO    488

21.3  度量和监控Oracle IO    488

21.3.1  IO等待次数    488

21.3.2  监控数据文件IO    492

21.3.3  IO基准测试    494

21.4  优化数据文件IO    495

21.4.1  最小化IO延时    495

21.4.2  最大化IO吞吐量    496

21.4.3  条带化策略    497

21.4.4  RAID阵列    497

21.4.5  隔离数据文件IO    500

21.5  重做和归档优化    500

21.5.1  交替和分发日志    501

21.5.2  重做和归档设备的细粒度条带化    501

21.5.3  对重做日志使用RAID5大声说不    502

21.5.4  重做日志大小    503

21.6  闪回日志    506

21.7  本章小结    507

第22章  高级IO技术    508

22.1  自动存储管理    508

22.1.1  ASM架构    509

22.1.2  ASM监控    510

22.1.3  ASM调优    515

22.2  固态磁盘(SSD)    520

22.2.1  基于闪存的SSD    520

22.2.2  基于随机存储器的DDR

SSD    520

22.2.3  混合的SSD    521

22.2.4  为Oracle数据库使用SSD    521

22.3  EXADATA存储服务器    522

22.4  数据库块大小    522

22.5  本章小结    524

第23章  优化RAC    525

23.1  RAC概览    525

23.1.1  全局缓存请求    526

23.1.2  RAC调优原则    528

23.1.3  单实例调优和RAC    528

23.2  度量集群开销    529

23.3  减少全局缓存延时    532

23.3.1  度量全局缓存延时    532

23.3.2  检查内部互连    534

23.3.3  内部互连问题的信号    536

23.4  优化内部互连    537

23.4.1  网络硬件和协议    537

23.4.2  以太网特大帧    537

23.4.3  UDP缓冲大小    538

23.4.4  LMS等待    539

23.5  集群负载均衡    541

23.5.1  评估集群负载均衡    541

23.5.2  集群负载均衡和服务    544

23.5.3  RAC负载均衡服务    547

23.6  最小化全局缓存请求    548

23.6.1  高的全局缓存请求比例的原因    548

23.6.2  度量全局缓存请求比例    549

23.6.3  减少全局缓存请求的技巧    550

23.7  本章小结    551

参考书目    552










作者介绍

Guy Harrison 知名Oracle技术专家,在应用与数据库管理、性能调优、软件开发领域有20多年的从业经验。目前任Quest软件公司研发总监,带领软件开发团队研发了广受欢迎的Spotlight系列产品,他负责Spotlight的Oracle版本、Oracle RAC版本、MySQL版本及SQL Server版本。除本书外,他还著有Oracle SQL High Performance Tuning、Oracle Desk Reference及MySQL Stored Procedure Programming。

相关文章

  • luli 2推荐

    Oracle性能调优领域的百科全书

    如果你想学习一种先进的系统化的Oracle性能调优方法,想找到一本包含设计、SQL优化、争用、内存与IO的完整的性能指南,想既关注基础知识也关注高级技巧,且其内容涵盖Oracle 10g、11g以及11gR2,那么看一看《Oracle性能优化求生指南》这本书吧。 本书高屋建瓴…...

  • lt 2推荐

    Oracle性能优化求生指南读后感

    对这本书心仪已久,一上市就赶紧用银子兑换回来,国庆假日经常阅读,有以下感受。 1.作者的功底扎实 作为toad等工具的设计师,熟悉各种优化技术,本书从数据库体系结构、数据类型、表类型、数据库建模、索引、应用程序设计、SQL、PL/SQL、并行、锁、等待事件、内存、IO、参数…...

  • 《拯救Oracle性能》如何?
    kaverjody  发表于 2011-10-18 15:10:53
    推荐
    • 有意思。让人想起《拯救大兵瑞恩》,有大片的气派。

      武卫东  发表于 2011-10-21 05:24:37
  • 何时可以用银子兑换?
    lt  发表于 2012-09-25 18:29:07
    推荐
    • 拿到了,开始看

      lt  发表于 2012-09-28 13:07:24
  • 快600页好厚 会有电子书吗
    林源  发表于 2012-11-29 21:19:09
    推荐