在《让Oracle跑得更快:Oracle 10g性能分析与优化思路》里读者将会学到作者在性能优化方面的一些思路和思考,一些故障处理的方法和原则,这些东西是作者在实践中长期积累的心得体会,当读者掌握了一些处理问题的基本思路之后,成为一名合格的DBA就是一件轻而易举的事情了。
《让Oracle跑得更快:Oracle 10g性能分析与优化思路》适用对象:Oracle DBA、Oracle开发人员,和其他对Oracle数据库感兴趣的人员。
目录:
第1章 引起数据库性能问题的因素 1
1.1 软件设计对数据库的影响 1
1.1.1 软件架构设计对数据库性能的影响 1
1.1.2 软件代码的编写对数据库性能的影响 2
1.2 数据库的设计 8
1.2.1 oltp数据库 9
1.2.2 olap数据库 10
1.3 数据库的硬件设计 14
1.3.1 存储容量 15
1.3.2 存储的物理设计 16
1.3.3 数据的安全 17
1.4 小结 19
第2章 锁和阻塞 20
2.1 关于锁 20
2.2 锁和阻塞 22
2.3 引起阻塞的其他情况 30
2.3.1 select for update 30
2.3.2 外键和索引 36
第3章 latch和等待 44
3.1 共享池中的latch争用 45
.3.2 数据缓冲池latch争用 54
3.2.1 表数据块 54
3.2.2 索引数据块 59
3.2.3 索引根数据块 62
3.2.4 段头数据块 65
第4章 优化器 66
4.1 rbo基于规则的优化器 66
4.2 cbo基于成本的优化器 69
第5章 执行计划 85
5.1 cardinality (基数) 85
5.2 sql的执行计划 94
第6章 hint 109
6.1 和优化器相关的hint 115
6.1.1 all_rows和first_rows(cbo) 115
6.1.2 rule hint 117
6.2 访问路径相关的hint 117
6.2.1 full hint 118
6.2.2 index hint 118
6.2.3 no_index hint 118
6.2.4 index_desc hint 119
6.2.5 index_combine hint 119
6.2.6 index_ffs 119
6.2.7 index_join 120
6.2.8 index_ss hint 120
6.3 表关联顺序的hint 125
6.3.1 leading hint 125
6.3.2 ordered hint 126
6.4 表关联操作的hint 127
6.4.1 use_hash,use_nl和use_merge hint 127
6.4.2 no_use_hash hint 132
6.4.3 no_use_merge hint 133
6.4.4 no_use_nl hint 133
6.5 并行执行相关的hint 134
6.5.1 parallel hint 134
6.5.2 no_parallel hint 134
6.6 其他方面的一些hint 135
6.6.1 append hint 135
6.6.2 dynamic_sampling hint 135
6.6.3 driving_site hint 136
6.6.4 cache hint 136
6.7 小结 136
第7章 分析及动态采样 138
7.1 直方图 141
7.2 dbms_stats包 147
7.3 动态采样 176
7.3.1 什么是动态采样 176
7.3.2 动态采样的级别 182
7.3.3 什么时候使用动态采样? 185
7.4 小结 185
第8章 并行执行 186
8.1 并行和olap系统 187
8.2 并行处理的机制 189
8.3 读懂一个并行处理的执行计划 191
8.4 一个很常见的并行执行等待事件 192
8.5 并行执行的适用范围 194
8.5.1 并行查询 194
8.5.2 并行ddl操作 195
8.5.3 并行dml操作 203
8.6 并行执行的设定 210
8.6.1 并行相关的初始化参数 210
8.6.2 并行度的设定 211
8.7 直接加载 213
8.7.1 直接加载和redo 216
8.7.2 直接加载和索引 219
8.7.3 直接加载和并行 221
8.7.4 直接加载和sql*loader 226
第9章 变量绑定 232
9.1 什么是变量绑定,为什么要做变量绑定 232
9.2 为什么说oltp必须要求变量绑定而olap不应该绑定变量 241
9.3 bind peaking 248
第10章 sql_trace和10046事件 254
10.1 sql_trace 254
10.2 tkprof工具 256
10.3 10046事件 268
第11章 10053事件 276
第12章 性能视图和性能参数 294
12.1 性能视图 294
12.1.1 v$sql 295
12.1.2 v$sql_shared_cursor 300
12.1.3 v$session 305
12.1.4 v$sessstat 309
12.1.5 v$session_wait 310
12.2 性能参数 312
12.2.1 cursor_sharing 313
12.2.2 db_file_multiblock_read_count 328
12.2.3 pga_aggregate_target和sga_target 334
12.2.4 optimizer_dynamic_sampling 334
第13章 性能报告 335
13.1 awr性能报告 335
13.1.1 生成awr性能报告 337
13.1.2 awr性能报告分析 342
13.2 statspack性能报告 386
13.2.1 statspack的安装 386
13.2.2 statspack性能采集 391
13.3 ash性能报告 394
13.3.1 生成ash性能报告 395
13.3.2 ash性能报告分析 405
13.4 小结 416
附录a 常见的等待事件 417
后记 关于数据库的学习方法 434