书籍详情

Oracle Wait Interface性能诊断与调整实践指南

Oracle Wait Interface性能诊断与调整实践指南

作者:Richmond Shee;高猛译

出版社:清华大学出版社

出版时间:2005-07-01

ISBN:9787302109877

定价:¥39.00

购买这本书可以去
内容简介
  本书详细讲述了如何充分利用革命性的Oracle Wait Interface(OWI)快速确定并解决数据库系统的主要问题和瓶颈,从而极大地提高工作效率。书中包含所有OWI特性的大量细节,包括等待事件视图及其应用,以及扩展的SQL追踪文件。这些宝贵资源有助于您充分利用这个最先进的诊断工具,从而将处理时间减到最少。 本书主要内容:使用等待事件统计信息确定性能问题; 监控会话级等待事件,并收集历史数据,以确定根本问题; 解释与I/O有关的常见等待事件; 诊断并解决与锁和串行化相关的问题 分析与延迟相关的等待事件; 确定秘解决Oracle Real Application Clusters环境中的瓶颈; 学习Oracle Database 10g中性能诊断和调整的有效方法。
作者简介
  Richmond Shee是全球综合性通信公司Sprint的高级数据库架构师。Richmond自1984年开始从事关系数据库工作,他是DBA的顾问,并帮助确定适合在整个公司实现Oracle RDBMS技术的方针,Richmond负责Sprint公司所有最关键数据库的调整工作,在他的众多成就中,最突出的是在Sprint公司倡导了Oracle Wait Interface 的使用。他还发明了基于等待性能数据收集器,这项技术正在申请专利中。他是国际Oracle用户组的知名主席,经常在Kansas City OUG中演讲。 Kirtikumar Deshande在信息技术领域方面已有25年的丰富经验,共中有十几年担任Oracle数据库管理员,他拥有理学士学位和工程学士学位。他与其他合著了一本Oracle Performance Tuning 101,由Oracle Press在2001年5月出版。他在当地Oracle用户组非正式会议,以及国内、国际Oracle用户组会议上发表多篇论文。目前他是Verizon Information services的高级Oracle数据库管理员。
目录
第1章 介绍Oracle Wait Interface 1
1.1 Oracle性能优化的旧方式 2
1.2 高速缓存命中率极度无效率的原因 2
1.3 Oracle性能优化的新方式 4
1.4 OWI基本原理 4
1.5 数据库响应时间调整模型 6
1.6 思维的变迁 8
1.7 小结 9
第2章 Oracle Wait Interface组件 11
2.1 什么是等待事件 11
2.2 OWI组件 12
2.2.1 V$EVENT_NAME视图 13
2.2.2 V$SYSTEM_EVENT视图 14
2.2.3 V$SESSION_EVENT视图 17
2.2.4 V$SESSION_WAIT视图 19
2.2.5 追踪事件10046-- 扩充的SQL追踪 21
2.3 Oracle Database 10g Release 1中的新OWI视图 27
2.3.1 V$SESSION_WAIT_HISTORY视图 27
2.3.2 V$SYSTEM_WAIT_CLASS视图 28
2.3.3 V$SESSION_WAIT_CLASS视图 29
2.3.4 V$EVENT_HISTOGRAM视图 29
2.3.5 等待事件的类型 31
2.4 OWI的局限 33
2.4.1 没有CPU统计 33
2.4.2 没有端到端的可视性 33
2.4.3 没有历史数据 34
2.4.4 不精确 34
2.5 小结 35
第3章 常见的等待事件 37
3.1 常见等待事件简介 37
3.1.1 buffer busy waits等待事件 38
3.1.2 control file parallel write等待事件 39
3.1.3 db file parallel read等待事件 40
3.1.4 db file parallel write等待事件 40
3.1.5 db file scattered read等待事件 41
3.1.6 db file sequential read等待事件 41
3.1.7 db file single write等待事件 42
3.1.8 direct path read等待事件 42
3.1.9 direct path write等待事件 43
3.1.10 enqueue等待事件 43
3.1.11 free buffer waits等待事件 44
3.1.12 latch free等待事件 45
3.1.13 library cache pin等待事件 46
3.1.14 library cache lock等待事件 46
3.1.15 log buffer space等待事件 47
3.1.16 log file parallel write等待事件 47
3.1.17 log file sequential read等待事件 47
3.1.18 log file switch(archiving needed)等待事件 48
3.1.19 log file switch(checkpoint incomplete)等待事件 48
3.1.20 log file switch completion等待事件 48
3.1.21 log file sync等待事件 49
3.1.22 SQL*Net message from client等待事件 49
3.1.23 SQL*Net message to client等待事件 50
3.2 Oracle Real Application Clusters环境中的常见等待事件 50
3.2.1 global cache cr request 50
3.2.2 buffer busy global cache等待事件 51
3.2.3 buffer busy global cr等待事件 52
3.2.4 global cache busy等待事件 52
3.2.5 global cache null to x等待事件 53
3.2.6 global cache null to s等待事件 53
3.2.7 global cache s to x等待事件 54
3.2.8 global cache open x等待事件 54
3.2.9 global cache open s等待事件 54
3.2.10 row cache lock 55
3.3 追踪CPU和其他统计 55
3.4 小结 57
第4章 OWI监控和收集方法 59
4.1 性能历史数据重要的原因 60
4.2 对根本原因快速而精确的分析 60
4.3 追踪事件10046不适合用作数据收集器的原因 61
4.4 Statspack不适合用作数据收集器的原因 62
4.5 将Database Logoff Trigger用作数据收集器 62
4.6 利用PL/SQL过程进行性能数据采样 66
4.6.1 数据源 66
4.6.2 采样频率 67
4.6.3 存储库 69
4.6.4 监控的事件 70
4.6.5 优点与缺点 76
4.7 利用非SQL式SGA访问进行性能数据采样 77
4.8 小结 77
第5章 解释常见的与I/O有关的等待事件 79
5.1 db file sequential read等待事件 80
5.2 db file scattered read等待事件 86
5.2.1 常见的原因、诊断和动作 86
5.2.2 db file sequential read事件出现在全表扫描操作中的原因 89
5.2.3 全局扫描操作比MBRC请求更少块的原因 90
5.2.4 设置DB_FILE_MULTIBLOCK_READ_COUNT(MBRC) 91
5.2.5 为什么物理I/O需要巨大代价 92
5.3 direct path read事件 92
5.3.1 常见的原因、诊断和动作 92
5.3.2 关注的初始参数 96
5.4 direct path write等待事件 98
5.5 db file parallel write等待事件 100
5.6 log file parallel write等待事件 103
5.7 control file parallel write等待事件 106
5.8 小结 107
第6章 解释与锁有关的等待事件 109
6.1 latch free等待事件 110
6.1.1 什么是锁存器 110
6.1.2 锁存器和锁两者之间的区别 110
6.1.3 锁存器家族 111
6.1.4 锁存器获取 111
6.1.5 锁存器分类 112
6.1.6 latch free等待事件表明的内容 114
6.1.7 锁存器丢失位置 115
6.1.8 Oracle Database 10g Release 1中的锁存器 115
6.1.9 常见的原因、诊断和动作 116
6.1.10 shared pool锁存器和library cache锁存器 117
6.1.11 cache buffers chains锁存器 123
6.1.12 cache buffers lru chain锁存器 129
6.1.13 row cache objects锁存器 131
6.2 enqueue等待事件 131
6.2.1 什么是排队 132
6.2.2 什么是排队资源 132
6.2.3 什么是排队锁 134
6.2.4 排队体系结构 135
6.2.5 解码排队类型和模式 135
6.2.6 常见的原因、诊断和动作 137
6.3 buffer busy waits等待事件 143
6.4 小结 150
第7章 解释与延迟有关的常见等待事件 153
7.1 log file sync等待事件 153
7.2 log buffer space等待事件 158
7.3 free buffer waits等待事件 159
7.4 write complete waits等待事件 163
7.5 log file switch completion等待事件 163
7.6 log file switch(checkpoint incomplete)等待事件 164
7.7 小结 165
第8章 Real Application Clusters环境中的等待事件 167
8.1 Real Application Clusters中等待事件的特殊之处 167
8.2 全局高速缓存等待事件 173
8.2.1 global cache cr request等待事件 173
8.2.2 global cache busy等待事件 176
8.3 Oracle Database 10g中增加的RAC等待事件 178
8.4 enqueue等待事件 178
8.5 小结 182
第9章 Oracle Database 10g中的性能管理 183
9.1 数据库统计 184
9.1.1 时间模型统计 184
9.1.2 等待模型统计 185
9.1.3 操作系统统计 185
9.1.4 其他SQL统计 186
9.1.5 数据库度量 186
9.2 新的后台进程 186
9.3 Automatic Workload Repository 187
9.3.1 存储库快照 188
9.3.2 快照基线 188
9.3.3 使用EM管理AWR 188
9.3.4 手工管理AWR 191
9.4 Active Session History 194
9.4.1 什么是活动会话 195
9.4.2 ASH的组成部分 195
9.5 ADDM 199
9.5.1 ADDM设置 200
9.5.2 使用EM访问ADDM 201
9.5.3 手工运行ADDM报告 207
9.5.4 ADDM视图 208
9.6 小结 208
附录A Oracle Database 10g的诊断事件 209
A.1 Oracle诊断事件 209
A.1.1 诊断事件的类型 210
A.1.2 设置诊断事件 212
A.1.3 事件的内部工作 216
附录B Oracle Database 10g中的enqueue等待事件 219
附录C Oracle转储和追踪 227
C.1 oradebug:追踪和转储的重要工具 227
C.2 数据块转储 229
C.3 缓冲区转储 230
C.3.1 语法 230
C.3.2 控制转储信息 231
C.4 缓冲区转储 231
C.4.1 语法 231
C.4.2 使用级别控制转储信息 232
C.5 文件头转储 232
C.5.1 语法 232
C.5.2 使用级别控制转储信息 233
C.6 控制文件转储 234
C.6.1 语法 234
C.6.2 使用级别控制转储信息 234
C.7 堆转储 234
C.7.1 语法 235
C.7.2 使用级别控制转储信息 235
C.8 库高速缓存转储 236
C.8.1 语法 236
C.8.2 使用级别控制转储信息 236
C.9 进程状态转储 236
C.10 Shared Server状态转储 237
C.10.1 语法 237
C.10.2 使用级别控制转储信息 238
C.11 系统状态转储 238
C.11.1 语法 238
C.11.2 使用级别控制转储信息 238
C.12 重做日志转储 239
C.12.1 语法 239
C.12.2 使用级别控制转储信息 239
附录D 直接访问SGA 241
D.1 开销 241
D.2 安全性 242
D.3 速度 242
D.4 并发性 242
D.5 获取隐藏信息 242
D.6 X$视图简介 242
D.7 必要的成份 244
D.7.1 查找SGA ID 245
D.7.2 查找SGA基地址 245
D.7.3 查找X$KSUSECST的起始地址 246
D.7.4 查找X$KSUSECST结构中的记录大小 246
D.7.5 查找X$KSUSECST结构中的记录数 246
D.7.6 查找X$KSUSECST视图列的偏移量 247
D.8 使用C程序访问SGA 248
附录E 参考文献 253
猜您喜欢

读书导航