第一部分 OCP性能调整考试要点 1
第1章 数据库调整概述 1
1.1 本书组织方法 2
1.2 OCP性能调整考试要点 2
1.2.1 Oracle性能调整方法 2
1.2.2 诊断与调整工具 2
1.2.3 确定共享池长度 3
1.2.4 确定缓冲区高速缓存长度 3
1.2.5 确定其他SGA结构长度 3
1.2.6 数据库配置与I/O问题 4
1.2.7 优化排序操作 4
1.2.8 诊断锁存争用 4
1.2.12 应用程序调整 5
1.2.11 调整Oracle共享服务器 5
1.2.10 监视与检测锁争用 5
1.2.9 调整回退与撤销段 5
1.2.13 有效利用Oracle块 6
1.2.14 SQL语句调整 6
1.2.15 操作系统注意事项 7
1.3 调整概述 7
1.3.1 为何进行性能调整 7
1.3.2 何谓性能调整 7
1.3.3 在何处进行性能调整 8
1.3.4 如何进行性能调整 8
1.3.5 何时进行性能调整 8
1.3.6 如何判断性能是否得到了改进 8
1.4 深化性能调整知识 9
第2章 Oracle性能调整方法 11
2.1 Oracle性能调整方法概述 12
2.1.1 与数据库调整过程相关的角色 13
2.1.2 不同开发阶段调整的相互依赖性 14
2.1.3 描述SLA 16
2.1.4 描述性能调整目标 16
2.1.5 最常见的性能调整问题 17
2.1.6 与不同类型应用程序相关的性能调整目标 18
2.1.7 性能与安全的权衡 19
2.2 本章小结 19
2.3 两分钟训练 20
2.4 本章问题 20
2.5 本章问题答案 21
第3章 诊断工具与调整工具 23
3.1 诊断与调整工具概述 24
3.2 与调整相关的数据字典视图和动态性能视图 24
3.2.1 数据字典视图 24
3.2.3 动态性能视图 27
3.2.2 ANALYZE命令如何用于数据字典视图 27
3.2.4 当前状态视图 28
3.2.5 累加器视图 28
3.2.6 信息视图 28
3.3 动态性能视图中的统计信息 28
3.3.1 实例/数据库性能视图 28
3.3.2 内存 30
3.3.3 磁盘 31
3.3.4 争用 31
3.3.5 会话相关视图 31
3.4 何谓Statspack 32
3.4.1 安装与配置Statspack 33
3.4.2 交互式与批处理安装 33
3.4.3 Statspack维护 33
3.5.3 产生性能报表 34
3.5.2 快照自动化 34
3.5 用Statspack收集统计信息 34
3.5.1 获取快照 34
3.4.4 配置Statspack统计信息收集 34
3.5.4 Statspack性能报表内容 35
3.6 其他调整工具 35
3.6.1 UTLBSTAT/UTLESTAT 35
3.6.2 OEM Oracle Expert 36
3.6.3 定制工具 36
3.7 警报日志与跟踪文件 36
3.7.1 实例警报日志 36
3.7.2 跟踪用户SQL 36
3.8 本章小结 37
3.9 两分钟训练 37
3.10 本章问题 38
3.11 本章问题答案 40
第4章 确定共享池长度 43
4.1 如何确定共享池长度 44
4.1.1 共享池概念 44
4.1.2 测量与调整库高速缓存命中率 45
4.1.3 共享池对象 48
4.2 调整共享池保留空间 50
4.2.1 测量与调整字典高速缓存命中率 50
4.2.2 UGA与会话内存的注意事项 53
4.2.3 配置大池 54
4.3 本章小结 56
4.4 两分钟训练 57
4.5 本章问题 58
4.6 本章问题答案 60
第5章 确定缓冲区高速缓存长度 63
5.1.2 如何组织缓冲区高速缓存 64
5.1.1 不同Oracle进程如何使用缓冲区高速缓存 64
5.1 如何确定缓冲区高速缓存长度 64
5.1.3 设置缓冲区高速缓存长度的建议 67
5.1.4 实现动态SGA分配 68
5.1.5 监视缓冲区高速缓存的使用和缓冲区高速缓存中的不同池 70
5.1.6 生成多个缓冲池并确定它们的长度 72
5.1.7 适当利用表高速缓存 74
5.1.8 诊断LRU锁存争用 75
5.1.9 诊断自由表争用 75
5.1.10 过时的缓冲区高速缓存参数 76
5.2 本章小结 77
5.3 两分钟训练 77
5.4 本章问题 78
5.5 本章问题答案 81
第6章 确定其他SGA结构长度 83
6.1.1 监视与确定重做日志缓冲区长度 84
6.1 如何确定其他SGA结构的长度 84
6.1.2 监视与确定Java池长度 87
6.1.3 限制会话使用的Java会话内存量 88
6.1.4 配置I/O从进程 89
6.1.5 配置多个DBW进程 89
6.2 本章小结 90
6.3 两分钟训练 90
6.4 本章问题 91
6.5 本章问题答案 92
第7章 数据库配置与I/O问题 95
7.1 数据库配置与I/O问题概述 96
7.1.1 发布不同Oracle文件类型的原因 96
7.1.2 诊断表空间的不适当使用 100
7.1.3 调整全表扫描操作 101
7.1.4 检查点工作原理 102
7.1.5 监视与调整检查点 103
7.1.6 监视与调整重做日志 105
7.2 本章小结 107
7.3 两分钟训练 108
7.4 本章问题 109
7.5 本章问题答案 111
第8章 优化排序操作 113
8.1 优化排序操作 114
8.1.1 Oracle中的排序方法 114
8.1.2 设置新旧排序参数 114
8.1.3 引起排序的操作 116
8.1.4 区别磁盘排序与内存排序 117
8.1.5 生成与监视临时表空间 118
8.1.6 减少总排序与磁盘排序的方法 120
8.3 两分钟训练 121
8.2 本章小结 121
8.4 本章问题 122
8.5 本章问题答案 123
第9章 诊断锁存争用 125
9.1 诊断锁存争用的方法 126
9.1.1 锁存的作用 126
9.1.2 不同类型锁存请求 127
9.1.3 如何诊断锁存争用 127
9.1.4 确定减少锁存争用时要调整的资源 130
9.2 本章小结 131
9.3 两分钟训练 132
9.4 本章问题 133
9.5 本章问题答案 134
第10章 调整回退与撤销段 137
10.1 调整回退/撤销段的方法 138
10.1.1 用动态性能视图检查回退段性能 140
10.1.2 定义手工回退段长度与数量 144
10.1.3 为事务适当分配回退段 145
10.1.4 了解自动撤销管理的概念 147
10.1.5 生成与维护自动管理的Undo表空间 148
10.2 本章小结 149
10.3 两分钟训练 150
10.4 本章问题 152
10.5 本章问题答案 154
第11章 监视与检测锁争用 157
11.1 监视与检测锁争用的方法 158
11.1.1 定义锁级别 160
11.1.2 可能产生争用的原因 162
11.1.3 用Oracle实用程序检测锁争用 163
11.1.4 解决紧急争用 164
11.1.5 防止锁问题 165
11.1.6 了解由死锁产生的Oracle错误 166
11.2 本章小结 167
11.3 两分钟训练 168
11.4 本章问题 169
11.5 本章问题答案 171
第12章 调整Oracle共享服务器 175
12.1 调整Oracle共享服务器的方法 176
12.1.1 标识共享服务器环境中管理用户的相关问题 176
12.1.2 诊断与解决共享服务器进程中的性能问题 177
12.1.3 在共享服务器环境中配置最优性能 180
12.2 本章小结 181
12.3 两分钟训练 183
12.4 本章问题 183
12.5 本章问题答案 184
第13章 应用程序调整 187
13.1.1 描述数据库管理员在调整应用程序时的角色 188
13.1 应用程序调整的方法 188
13.1.2 解释不同存储结构 189
13.1.3 解释与描述群集选项 189
13.1.4 解释不同索引类型 190
13.1.5 关于IOT 192
13.1.6 描述实体化视图和解释查询重写的用法 193
13.1.7 列出OLTP系统、DSS系统和混合系统的要求 194
13.2 本章小结 196
13.3 两分钟训练 197
13.4 本章问题 197
13.5 本章问题答案 199
第14章 有效利用Oracle块 201
14.1 有效利用Oracle块的方法 202
14.1.1 描述区与Oracle块的正确用法 202
14.1.2 解释空间使用与高水位标记 204
14.1.3 确定高水位标记 205
14.1.4 从构造不稠密的数据段恢复空间 205
14.1.5 使用Oracle块参数的方法 206
14.1.6 描述和检测Oracle块的链接和移植 208
14.1.7 进行索引重组 210
14.1.8 监视索引,确定使用情况 210
14.2 本章小结 212
14.3 两分钟训练 214
14.4 本章问题 216
14.5 本章问题答案 218
第15章 SQL语句调整 221
15.1 SQL语句调整的方法 222
15.1.1 描述优化器的使用方法 222
15.1.2 解释计划稳定性的概念 225
15.1.3 使用存储概要 225
15.1.4 如何使用提示 227
15.1.5 收集表与索引的统计信息 228
15.1.6 直方图的用法 229
15.1.7 在数据库之间复制统计信息 230
15.1.8 OLTP与DSS的注意事项 231
15.1.9 使用SQL Trace与TKPROF 231
15.2 本章小结 233
15.3 两分钟训练 235
15.4 本章问题 236
15.5 本章问题答案 238
第16章 操作系统注意事项与Oracle资源管理器 241
16.1 要考虑的操作系统问题 242
16.1.1 描述不同系统体系结构 242
16.1.2 了解虚拟内存和分页 242
16.1.3 描述操作系统调整的主要步骤 243
16.2 数据库资源管理器 244
16.1.5 进程与线程的区别 244
16.1.4 操作系统和数据库调整之间的相似性 244
16.2.1 配置资源管理器 245
16.2.2 管理资源管理器 247
16.3 本章小结 249
16.4 两分钟训练 250
16.5 本章问题 252
16.6 本章问题答案 253
第二部分 模拟试题 256
模拟试题一 256
模拟试题一答案 267
模拟试题二 274
模拟试题二答案 286
附录 295
附录A 词汇表 295
附录B BeachFrontQuizzer光盘介绍 303