当前位置:首页 > 工业技术
ORACLE性能优化思维与方法论
ORACLE性能优化思维与方法论

ORACLE性能优化思维与方法论PDF电子书下载

工业技术

  • 电子书积分:11 积分如何计算积分?
  • 作 者:贾代平,吴丽娟著
  • 出 版 社:北京:科学出版社
  • 出版年份:2017
  • ISBN:9787030556721
  • 页数:284 页
图书介绍:核心层介绍了执行计划(ExecutionPlan),它是前端应用系统和后端数据服务系统的桥梁,也是数据服务系统性能调优的基石;物理层、逻辑层分别从数据的存储结构和数据的访问方式上探讨引发性能问题的主要方面,这是IT技术人员从应用系统的”功能(Function)”研究转向”性能(Performance)”研究的基本功;实例层和管理层从数据服务系统整体运行的角度探讨性能问题,前者探讨的是数据服务系统的”硬”环境,后者探讨的是数据服务系统的”软”环境,软硬结合可以从更高的层面把握和解决性能问题。本书虽然结合ORACLE系统探讨性能问题,但书中讨论的技术思维方式和解决问题的方法论具有一般性,可供任何其它数据服务系统参考和借鉴。
《ORACLE性能优化思维与方法论》目录

第1章 ORACLE性能优化思维概述 1

1.1 IT系统的“功能”与“性能” 1

1.2 服务性能与资源配置 2

1.2.1 性能问题的一般情形 2

1.2.2 业界的服务水平管理 2

1.3 性能研究关注的侧重点 3

1.3.1 关注数据访问的执行过程 3

1.3.2 关注负载和性能之间的动态关系 4

1.4 负载—响应时间曲线 4

1.5 性能优化的一般方法 6

1.5.1 自下而上的优化方法 6

1.5.2 自上而下的优化方法 7

1.6 服务性能的基本问题 8

1.6.1 内存问题 8

1.6.2 CPU利用率 9

1.6.3 I/O问题 9

1.6.4 高资源消耗的SQL 10

1.6.5 引发性能瓶颈的应用问题 11

1.6.6 OLTP与OLAP 13

第2章 性能度量的主要途径 14

2.1 性能调优的度量概述 14

2.2 EXPLAIN解释SQL 14

2.2.1 配置EXPLAIN 14

2.2.2 获得执行计划 15

2.3 语句级跟踪AUTOTRACE 17

2.4 会话级跟踪SQL_TRACE 18

2.4.1 设置SQL跟踪 18

2.4.2 TKPROF格式化跟踪文件 19

2.5 扩展的SQL跟踪 21

2.6 度量的阈值与告警 23

第3章 优化器及其决策环境 26

3.1 游标及其处理过程 26

3.2 优化器的成本核算 26

3.2.1 ORACLE成本估算模型 27

3.2.2 执行计划中的相关概念 28

3.3 数据访问的路径 29

3.3.1 表的访问方法 29

3.3.2 索引的访问方法 30

3.4 行源的联接关系 33

3.4.1 内联接和外联接 34

3.4.2 嵌套循环联接 36

3.4.3 排序融合联接 36

3.4.4 散列联接 37

3.4.5 星形转换 38

3.5 优化器的决策环境 42

3.5.1 影响优化器的主要参数 42

3.5.2 数据库对象的统计信息 44

3.5.3 系统统计信息 46

3.5.4 统计信息的维护与管理 47

第4章 执行计划的分析与干预 50

4.1 观测执行计划 50

4.1.1 查看执行计划 50

4.1.2 定制执行计划的输出 51

4.2 认识执行计划 53

4.3 对多表联接的分析 55

4.3.1 多表联接概述 55

4.3.2 联接条件和类型 55

4.3.3 两两联接的方法 58

4.4 干预执行计划 65

4.4.1 优化提示的使用 65

4.4.2 与优化模式有关的Hint 66

4.4.3 与表有关的Hint 67

4.4.4 与索引有关的Hint 68

4.4.5 与行源联接有关的Hint 70

4.4.6 其他常见Hint举例 71

4.5 管理执行计划 72

4.5.1 SQL概要文件 72

4.5.2 SQL计划基线 77

4.6 关注高能耗SQL 85

第5章 数据存储与段结构 89

5.1 堆表的存储结构概要 89

5.1.1 段结构 89

5.1.2 堆表的存储结构 90

5.2 表结构中的数据块 90

5.2.1 块结构及其控制参数 91

5.2.2 行迁移与行链接 92

5.3 正确设置参数PCTEREE 92

5.4 行迁移与行链接 94

5.4.1 行迁移与行链接的检测 95

5.4.2 行迁移与行链接的消除方法 95

5.5 消除行迁移和行链接的实例 96

5.6 高水位线HWM 97

5.7 表存储统计实验 99

5.7.1 验证表结构 99

5.7.2 收集统计信息 99

5.7.3 表分析实验 100

5.8 表存储访问效率实验 105

5.8.1 存储访问实验过程 106

5.8.2 重构表的存储 112

第6章 索引及相关性能结构分析 113

6.1 ORACLE索引概述 113

6.2 B树索引 114

6.2.1 B树索引结构 114

6.2.2 对NULL值的索引 115

6.3 聚簇因子 116

6.3.1 计算聚簇因子 116

6.3.2 对访问性能的影响 118

6.4 索引分析与重建 122

6.4.1 索引分析与统计 122

6.4.2 索引重建 125

6.5 与索引有关的参数 126

6.6 访问索引的方式 127

6.6.1 索引扫描方式 127

6.6.2 两类数据块扫描 130

6.7 B树索引的维护机制 131

6.7.1 INSERT操作的B树维护 131

6.7.2 DELETE操作的B树维护 139

6.7.3 UPDATE操作的B树维护 144

6.8 复合索引的使用 145

6.8.1 使用原则 145

6.8.2 复合索引和orderby 148

6.9 关于索引使用的建议 148

第7章 面向性能的对象分析 150

7.1 索引组织表 150

7.1.1 IOT的主要选项 150

7.1.2 IOT的使用特性 151

7.1.3 IOT上的二级索引 151

7.1.4 IOT的应用提示 153

7.2 聚簇表 153

7.2.1 聚簇的基本概念 154

7.2.2 索引聚簇 154

7.2.3 散列聚簇 156

7.2.4 聚簇表的使用建议 157

7.3 位映射索引 157

7.3.1 位映射索引的结构 158

7.3.2 位映射索引的应用建议 159

7.4 分区表与分区索引 159

7.4.1 分区概述 159

7.4.2 表分区的基本类别 160

7.4.3 分区索引技术 164

7.4.4 分区表与索引的维护 168

7.4.5 分区交换及其应用 173

7.4.6 联机分区处理 176

第8章 并发处理与并行执行 181

8.1 并发处理与锁 181

8.2 ORACLE数据库的锁类型 182

8.3 数据访问过程中的加锁 183

8.4 与锁有关的字典参数与指令 187

8.4.1 有关锁的数据字典视图 187

8.4.2 有关锁的初始化参数 188

8.5 事务的隔离级别 189

8.6 锁争用与死锁 190

8.6.1 量测锁争用 190

8.6.2 处理死锁 191

8.7 锁存器 194

8.7.1 锁存器机制 194

8.7.2 检查锁存器争用 194

8.8 并行处理技术概述 195

8.9 SQL语句的并行处理 196

8.9.1 串行处理与并行处理 196

8.9.2 并行处理的主要概念 197

8.10 并行处理的性能提升 198

8.11 并行处理的适应性 199

8.11.1 多CPU主机系统 199

8.11.2 分布式存储 199

8.11.3 资源密集型SQL 199

8.11.4 批量数据扫描 200

8.12 控制并行处理 200

8.12.1 确定并行度 200

8.12.2 使用并行提示Hint 202

8.12.3 调整与并行处理有关的参数 203

8.13 并行处理的执行计划 203

8.14 实时的并行处理信息 205

8.15 并行处理的跟踪 206

8.16 并行处理实例 207

8.16.1 并行数据更新 207

8.16.2 并行数据添加 208

8.16.3 DDL的并行处理 210

8.16.4 并行索引访问 211

8.17 并行处理的优化 212

8.17.1 并行处理的一般性原则 212

8.17.2 部分并行化与完全并行化 213

8.17.3 监控实际运行中的并行度 215

8.17.4 并行处理进程的负荷分配 216

8.17.5 RAC环境下的并行处理 218

第9章 实例结构的分配与优化控制 220

9.1 ORACLE的实例架构 220

9.1.1 实例的内存结构 220

9.1.2 实例的进程结构 223

9.1.3 实例的存储结构 226

9.2 最近最少使用算法 227

9.2.1 Cache Hit与Cache Miss 227

9.2.2 LRU与MRU 228

9.2.3 表扫描的处理 228

9.2.4 直接路径读 229

9.3 实例缓存的配置与优化 230

9.3.1 计算缓存命中率 230

9.3.2 使用多类型缓存 232

9.3.3 设置缓存的大小 233

9.3.4 ASMM与内存抖动 234

9.4 共享缓冲池的配置与优化 235

9.4.1 共享缓冲池的构成 236

9.4.2 SQL.解析及其执行 236

9.4.3 关注游标共享 236

9.4.4 检查共享池效率 240

9.5 用户工作区的调整 242

9.5.1 PGA与UGA 242

9.5.2 PGA的使用与限制 243

9.5.3 监控PGA的性能 244

第10章 基于等待事件的诊断分析 248

10.1 基于等待事件的性能问题描述 248

10.1.1 性能的时间因素 248

10.1.2 等待接口与信号量 249

10.2 用户响应的时间模型 250

10.2.1 CPU服务时间 250

10.2.2 等待事件与等待时间 251

10.3 统计项与等待事件 251

10.4 DB Time与DB CPU 253

10.5 Top SQL说明 254

10.6 等待事件直方图 255

10.7 性能与等待事件 256

10.8 常见的等待事件及其描述 257

10.9 等待事件不能反映的信息 258

10.10 收集等待事件信息 258

10.11 利用等待事件发现性能瓶颈 260

10.11.1 案例1:一个慢速查询的处理 260

10.11.2 案例2:耗时的调度批处理 262

10.11.3 案例3:客户服务器应用中的等待事件 265

10.11.4 案例4:疲于应付的数据库服务器 266

第11章 服务性能管理与性能统计 269

11.1 AWR 269

11.1.1 AWR的控制 270

11.1.2 AWR报告解读 271

11.2 ADDM 275

11.2.1 ADDM诊断框架 275

11.2.2 ADDM诊断案例 276

11.3 ASH 279

11.3.1 ASH采样框架 279

11.3.2 ASH主要应用 280

参考文献 284

返回顶部