《Oracle性能诊断艺术》PDF下载

  • 购买积分:15 如何计算积分?
  • 作  者:(瑞士)CHRISTIANANTOGNINI著
  • 出 版 社:北京:人民邮电出版社
  • 出版年份:2009
  • ISBN:9787115215147
  • 页数:451 页
图书介绍:本书共分五大部分。第一部分讲述了相关的一些基础知识。第二部分讨论如何找出性能问题。第三部分介绍查询优化器。第四部分讲解如何进行性能调优,展示了Oracle数据库引擎的哪些特性可以有效地执行SQL语句。第五部分提供了一些可供下载的示例文件和参考文献。

第一部分 基础 2

第1章 性能问题 2

1.1 需要为性能做规划吗 2

1.1.1 需求分析 2

1.1.2 分析和设计 4

1.1.3 编码和单元测试 4

1.1.4 集成和验收测试 5

1.2 什么是性能问题 5

1.2.1 系统监控 6

1.2.2 响应时间监控 6

1.2.3 强迫调优失调症 6

1.3 如何解决性能问题 7

1.3.1 业务角度与系统角度 7

1.3.2 把问题分类 8

1.3.3 解决问题 8

1.4 小结 9

第2章 关键概念 10

2.1 选择性和基数 10

2.2 游标的生命周期 11

2.3 解析的过程 13

2.3.1 共享游标 15

2.3.2 绑定变量 17

2.4 读写数据块 24

2.5 小结 25

第二部分 找出问题第3章 找出性能问题 28

3.1 分而治之 28

3.2 分析路线图 29

3.3 性能测量与剖析分析 32

3.4 性能测量 32

3.4.1 应用程序代码 33

3.4.2 数据库调用 35

3.5 剖析应用程序代码 38

3.5.1 简明的性能剖析 38

3.5.2 细节化性能剖析 43

3.6 跟踪数据库调用 46

3.6.1 SQL跟踪 46

3.6.2 跟踪文件的结构 58

3.6.3 使用TRCSESS 60

3.6.4 剖析工具 61

3.6.5 使用TKPROF 62

3.6.6 使用TVD$XTAT 71

3.7 剖析PL/SQL代码 79

3.7.1 安装剖析工具 80

3.7.2 安装输出表 80

3.7.3 收集剖析数据 81

3.7.4 报告剖析数据 82

3.7.5 GUI方式 83

3.8 小结 84

第三部分 查询优化器第4章 系统和对象统计信息 86

4.1 工具包dbms_stats简介 86

4.2 系统统计 87

4.2.1 数据字典 88

4.2.2 非工作量统计信息 89

4.2.3 工作量统计信息 90

4.2.4 对查询优化器的影响 92

4.3 对象统计信息 94

4.3.1 有哪些对象统计信息可用 95

4.3.2 收集对象统计信息 108

4.3.3 锁定对象统计信息 123

4.3.4 比较对象统计信息 125

4.3.5 删除对象统计信息 127

4.3.6 保持统计信息时效性的策略 129

4.4 通用服务 130

4.4.1 统计信息历史 130

4.4.2 创建和删除备份表 131

4.4.3 导出、导入、获取和设置操作 132

4.4.4 日志 132

4.5 小结 133

第5章 配置查询优化器 134

5.1 配置还是不配置 134

5.2 配置路线图 135

5.3 设置正确的参数 136

5.3.1 查询优化器参数 137

5.3.2 PGA管理 150

5.4 小结 153

第6章 执行计划 154

6.1 获取执行计划 154

6.1.1 SQL语句EXPLAIN PLAN 154

6.1.2 动态性能视图 157

6.1.3 AWR和Statspack 161

6.1.4 跟踪功能 163

6.1.5 dbms_xplan包 165

6.2 解释执行计划 175

6.2.1 父子关系 176

6.2.2 操作类型 177

6.2.3 单独型操作 177

6.2.4 非相关联合型操作 179

6.2.5 相关联合型操作 180

6.2.6 分而治之 186

6.2.7 特殊的例子 188

6.3 识别低效的执行计划 190

6.3.1 错误的评估 190

6.3.2 未识别约束 192

6.4 小结 193

第7章 SQL优化技术 194

7.1 改变访问结构 195

7.1.1 运行机制 195

7.1.2 何时使用 196

7.1.3 缺陷和谬误 196

7.2 修改SQL语句 196

7.2.1 运行机制 196

7.2.2 何时使用 198

7.2.3 缺陷和谬误 198

7.3 提示 198

7.3.1 运行机制 198

7.3.2 何时使用 204

7.3.3 缺陷和谬误 204

7.4 改变执行环境 205

7.4.1 工作机制 206

7.4.2 何时使用 208

7.4.3 缺陷和谬误 208

7.5 SQL概要 208

7.5.1 工作机制 209

7.5.2 何时使用 219

7.5.3 缺陷和谬误 219

7.6 存储提纲 220

7.6.1 工作机制 221

7.6.2 何时使用 227

7.6.3 缺陷和谬误 227

7.7 SQL计划基线 229

7.7.1 工作机制 229

7.7.2 何时使用 240

7.7.3 缺陷和谬误 240

7.8 小结 241

第四部分 优化器 244

第8章 解析 244

8.1 识别解析问题 244

8.1.1 快速解析 245

8.1.2 长解析 248

8.2 解决解析问题 250

8.2.1 快速解析 251

8.2.2 长解析 256

8.3 应对解析问题 256

8.3.1 游标共享 257

8.3.2 服务器端语句缓存 258

8.4 使用应用编程接口 260

8.4.1 PL/SQL 261

8.4.2 OCI 264

8.4.3 JDBC 265

8.4.4 ODP.NET 266

8.5 小结 268

第9章 优化数据访问 269

9.1 找出不理想的访问路径 269

9.1.1 识别 269

9.1.2 陷阱 271

9.1.3 原因 273

9.1.4 解决办法 274

9.2 具有弱选择性的SQL语句 277

9.2.1 全表扫描 277

9.2.2 全分区扫描 279

9.2.3 范围分区 279

9.2.4 哈希与列表分区 289

9.2.5 组合分区 289

9.2.6 设计考虑 291

9.2.7 全索引扫描 293

9.3 具有强选择性的SQL语句 295

9.3.1 rowid访问 296

9.3.2 索引访问 297

9.3.3 单表哈希聚簇访问 324

9.4 小结 325

第10章 表连接优化 326

10.1 定义 326

10.1.1 连接树 326

10.1.2 连接的类型 329

10.1.3 限制条件与连接条件 332

10.2 嵌套循环连接 333

10.2.1 概念 333

10.2.2 两表连接 334

10.2.3 四表连接 335

10.2.4 块预取 336

10.2.5 其他可选的执行计划 337

10.3 合并连接 338

10.3.1 概念 338

10.3.2 两表连接 339

10.3.3 四表连接 341

10.3.4 工作区 342

10.4 哈希连接 346

10.4.1 概念 346

10.4.2 两表连接 347

10.4.3 四表连接 348

10.4.4 工作区 350

10.4.5 索引连接 350

10.5 外连接 350

10.6 选择连接方法 351

10.6.1 FIRST_ROWS优化目标 352

10.6.2 ALL_ROWS优化目标 352

10.6.3 支持的连接方法 352

10.6.4 并行连接 352

10.7 分区智能连接 353

10.7.1 完全分区智能连接 353

10.7.2 部分智能分区连接 355

10.8 转换 357

10.8.1 连接去除 357

10.8.2 外连接转换为内连接 358

10.8.3 子查询非嵌套化 359

10.8.4 星形转换 360

10.9 小结 365

第11章 高级优化技术 366

11.1 物化视图 366

11.1.1 运行机制 366

11.1.2 何时使用 384

11.1.3 缺陷与谬误 385

11.2 结果缓存 385

11.2.1 运行机制 386

11.2.2 何时使用 391

11.2.3 缺陷与谬误 391

11.3 并行处理 392

11.3.1 运行机制 392

11.3.2 何时使用 408

11.3.3 缺陷与谬误 408

11.4 直接路径插入 412

11.4.1 运行机制 412

11.4.2 何时使用 414

11.4.3 缺陷与谬误 414

11.5 行预取 415

11.5.1 运行机制 415

11.5.2 何时使用 419

11.5.3 缺陷与谬误 419

11.6 数组接口 419

11.6.1 运行机制 419

11.6.2 何时使用 422

11.6.3 缺陷与谬误 422

11.7 小结 422

第12章 优化物理设计 424

12.1 最佳字段顺序 424

12.2 最优数据类型 426

12.2.1 数据类型选择方面的陷阱 426

12.2.2 选择数据类型的最佳实践 429

12.3 行迁移与行链接 430

12.3.1 迁移与链接 431

12.3.2 问题描述 433

12.3.3 找出问题 433

12.3.4 解决方案 433

12.4 数据块争用 434

12.4.1 问题描述 434

12.4.2 找出问题 435

12.4.3 解决方案 437

12.5 数据压缩 440

第五部分 附录 444

附录A 可下载文件 444