Oracle数据库性能优化
¥
15.48
2.4折
¥
65
九品
仅1件
作者盖国强 著
出版社人民邮电出版社
出版时间2005-06
版次1
装帧平装
货号A4
上书时间2024-12-21
商品详情
- 品相描述:九品
图书标准信息
-
作者
盖国强 著
-
出版社
人民邮电出版社
-
出版时间
2005-06
-
版次
1
-
ISBN
9787115134387
-
定价
65.00元
-
装帧
平装
-
开本
16开
-
纸张
胶版纸
-
页数
479页
-
字数
763千字
-
正文语种
简体中文
- 【内容简介】
-
《Oracle数据库性能优化》面向实际应用,从多个角度出发,对Oracle优化中的很多关键问题进行了深入全面的探讨,涵盖了Oracle优化的各个技术层面,从内存优化、IO规划及优化,到SQL优化调整,以较为完整的体系阐述了Oracle的优化技术。
《Oracle数据库性能优化》给出了大量取自实际工作现场的实例。在分析实例的过程中,兼顾深度与广度,不仅对实际问题的现象、产生原因和相关的原理进行了深入浅出的讲解,更主要的是,结合实际应用环境,提供了一系列解决问题的思路和方法,包括详细的操作步骤,具有很强的实战性和可操作性,满足面向实际应用的读者需求。
- 【目录】
-
第一篇优化工具篇
第1章DBA优化之路3
1.1学习的建议3
1.2工具推荐4
1.3关于操作系统方面的建议4
1.4关于Oracle初始化参数的调整5
1.5关于Statspack的若干建议6
1.6关于logmnr在调优中的运用7
1.7关于materializedview在调优中的运用8
1.8关于StoredOutline在SQL优化中的运用8
1.9用dbms_profiler调优存储过程8
1.10优化前的准备工作9
1.11如何对SQL进行调整及优化10
1.12表结构优化实例12
1.13如何对session进行跟踪12
1.14基于等待事件的性能诊断方法13
1.15基于资源限制的性能诊断方法14
1.16如何减少共享池的碎片15
1.17监控表及索引的意义17
1.18通过优化SQL消除temp表空间膨胀17
1.19理解compress选项在优化上的作用19
1.20关于在线重定义table的建议19
1.21关于分区表在数据库设计时的建议20
1.22关于DataGuard在高可用方面的建议20
第2章Statspack高级调整23
2.1Statspack高级调整译文24
2.1.1Top5WaitEvents24
2.1.2等待时间快捷参考26
2.2关于Latch27
第3章Statspack使用的几个误区33
3.1以命中率为主衡量性能问题33
3.2快照的采样时间间隔问题35
3.3以偏概全36
3.4关于TIMED_STATISTICS参数的设定36
3.5你成了泄密者37
第4章TKPROF工具使用简介39
4.1TKPROF工具简介39
4.2TKPROF工具的使用步骤40
4.3TKPROF工具如何分析trace文件41
第5章使用Oracle的等待事件检测性能瓶颈45
5.1判断等待事件的相关视图46
5.1.1系统级统计信息v$system_event46
5.1.2会话级统计信息v$session_event48
5.1.3会话详细性能信息v$session_wait48
5.1.4会话等待事件的相关视图之间的关系50
5.2应该怎么考虑进行优化50
5.3主要等待事件51
5.4案例分析54
5.5小结59
5.6附录59
第6章使用SQL_TRACE/10046事件进行数据库诊断63
6.1SQL_TRACE及10046事件的基础介绍63
6.1.1SQL_TRACE说明63
6.1.210046事件说明67
6.1.3获取跟踪文件68
6.1.4读取当前session设置的参数68
6.2案例分析之一69
6.2.1问题描述69
6.2.2检查并跟踪数据库进程69
6.2.3检查trace文件70
6.2.4登录数据库检查相应表结构71
6.2.5解决方法72
6.2.6小结73
6.3案例分析之二73
6.3.1问题描述73
6.3.2dropuser出现问题74
6.3.3跟踪问题74
6.3.4问题定位76
6.3.5实际处理77
6.3.6小结78
6.410046与等待事件78
6.4.110046事件的使用78
6.4.210046与db_file_multiblock_read_count80
6.4.310046与执行计划的选择82
6.4.4db_file_multiblock_read_count与系统的IO能力83
6.4.5小结85
第二篇存储优化篇
第7章表空间的存储管理与优化技术89
7.1表空间的作用与分类89
7.2字典管理表空间90
7.2.1字典管理表空间的特性90
7.2.2字典管理表空间的缺点91
7.2.3字典管理表空间的优化92
7.3本地管理表空间92
7.3.1本地管理表空间的特性92
7.3.2管理位图块的内部结构94
7.3.3本地管理表空间的优点94
7.4段自动管理表空间95
7.4.1段自动管理表空间的特性95
7.4.2位图管理段内部结构96
7.4.3段自动管理表空间的优化98
7.59i对表空间的管理优化98
7.5.1自动undo管理的表空间98
7.5.2完全本地的临时表空间99
7.6Oracle10g对表空间的优化99
7.7小结99
7.8附录99
第8章关于Oracle数据库中行迁移/行链接的问题101
8.1行迁移/行链接的简介101
8.2行迁移/行链接的检测方法106
8.3行迁移/行链接的清除方法108
第9章HWM与数据库性能的探讨121
9.1什么是HWM121
9.2初始创建的table中HWM的不同情况122
9.3insert数据时HWM的移动128
9.4HWM对性能的影响131
9.5何时应该降低HWM135
9.5.1对于LMT下的FLM135
9.5.2对于ASSM136
9.6如何降低HWM137
9.6.1Move137
9.6.2DBMS_REDEFINITION142
9.6.3Shrink143
9.6.4小结148
9.7其他几种会移动HWM的操作148
9.7.1InsertAppend148
9.7.2Truncate152
第10章调整I/O相关的等待153
10.1Oracle数据库I/O相关竞争等待简介153
10.2Oracle数据库I/O相关竞争等待的处理方法154
10.3Oracle数据库I/O相关的等待事件和相应的解决方法157
10.3.1数据文件相关的I/O等待事件158
10.3.2控制文件相关I/O等待事件163
10.3.3重做日志文件相关的等待事件164
10.3.4高速缓存区相关的I/O等待事件166
10.4小结169
第11章Oracle在Solaris的VxFS上的异步I/O问题171
11.1VxFS文件系统的简介171
11.2VxFS文件系统上如何启用异步I/O171
11.3如何检测在VxFS文件系统上是否支持异步I/O172
11.4如何查看VxFS文件系统上异步I/O的性能173
11.5如何转换VxFS文件系统上数据文件为支持异步I/O的
数据文件174
第12章关于Freelists和FreelistGroups的研究177
12.1什么是Freelists177
12.2Freelists是否已经过时178
12.3Freelists存储在哪里178
12.4有多少种freelist180
12.5进程请求空闲块的过程182
12.6块在freelist间的移动184
12.7关于freelist将导致大量空间浪费的误解185
12.8关于Freelists和FreelistGroups的一个比喻186
12.9与Freelists和FreelistGroups相关的等待事件186
第三篇内存调整篇
第13章自动PGA管理──原理及优化193
13.1什么是PGA内存自动管理193
13.2PGAAdvice功能199
13.3自动PGA内存管理相关初始化参数201
第14章32bitOracleSGA扩展原理和SGA与PGA的制约
关系203
14.1如何识别32bit的Oracle203
14.2为何存在1.7GB的限制204
14.332bit下SGA与PGA之间的制约关系207
第15章KEEP池和RECYCLE池213
15.1Oracle的数据缓冲池213
15.2KEEP池和RECYCLE池214
15.2.1KEEP池215
15.2.2RECYCLE池219
15.3小结221
第16章深度分析数据库的热点块问题223
16.1热点块的定义223
16.2数据缓冲区的结构223
16.3如何确定热点对象224
16.4热点问题的解决228
16.5热点块的其他相关症状230
16.6小结231
第17章SharedPool原理及性能分析233
17.1SharedPool的基本原理233
17.2SharedPool的设置说明233
17.2.1基本知识234
17.2.2SharedPool的FreeList管理235
17.2.3了解X$KSMSP视图240
17.3诊断和解决ORA-04031错误244
17.3.1什么是ORA-04031错误244
17.3.2内存泄露245
17.3.3绑定变量和cursor_sharing246
17.3.4使用FlushSharedPool缓解共享池问题247
17.3.5shared_pool_reserved_size参数的设置及作用247
17.3.6其他249
17.3.7模拟ORA-04031错误249
17.4LibraryCachePin及LibraryCacheLock分析252
17.4.1LibraryCachePin等待事件253
17.4.2LibraryCacheLock等待事件258
17.5诊断案例一259
17.6诊断案例二267
17.7小结269
第四篇诊断案例篇
第18章一次性能调整过程总结273
18.1系统环境273
18.2基本的调优过程273
18.2.1dbfilescatteredread273
18.2.2dbfilesequentialread274
18.2.3Enqueue275
18.2.4LatchFree275
18.3小结281
第19章电信业Oracle优化手记283
19.1一条SQL语句要运行2年怎么办283
19.2优化的传统定律和新时尚285
19.2.1index和表同一个表空间(过时)286
19.2.2定期重建索引(过时)287
19.2.3裸设备应该取代文件系统(过时)287
19.2.4初始参数设置cursor_sharing=similar(不一定
有效)288
19.2.5初始参数设置fast=true(有效)289
19.3联机重做日志的优化289
19.3.1联机重做日志组内创建多个成员289
19.3.2加大redolog的容量290
第20章一次诊断和解决CPU利用率高的问题分析291
20.1问题的具体描述291
20.2问题的详细诊断解决过程292
20.3小结296
第21章一次异常内存消耗问题的诊断及解决297
21.1问题发现297
21.2解决过程297
21.2.1环境介绍297
21.2.2问题现象297
21.2.3对比分析299
21.2.4假设和分析300
21.2.5找到根源302
21.2.6解决问题303
21.3小结305
第22章如何捕获问题SQL解决过度CPU消耗问题307
22.1检查当前情况307
22.2使用Top工具辅助诊断308
22.3检查进程数量309
22.4登录数据库309
22.5捕获相关SQL311
22.6创建新的索引以消除全表扫描313
22.7观察系统状况314
22.8性能何以提高315
22.9小结317
第23章一条SQL导致数据库整体性能下降的诊断及解决319
23.1现象319
23.2诊断与解决319
第24章LibraryCacheLock成因和解决方法的探讨327
24.1几个相关的概念327
24.1.1什么是库高速缓存(LibraryCache)327
24.1.2一个SQL语句的处理流程327
24.1.3硬分析(HardParse)328
24.1.4软分析(SoftParse)328
24.1.5分析树328
24.1.6执行计划329
24.2了解LibraryCacheLock329
24.2.1几种容易引起LibraryCacheLock的情况329
24.2.2几种防患的方法330
24.3解决问题的方法330
24.3.1使用X$KGLLK和systemstate事件解决问题331
24.3.2使用v$session和systemstate事件解决问题341
24.4小结348
第五篇SQL优化及其他
第25章Oracle数据库优化之索引(Index)简介351
25.1索引的作用352
25.2索引管理的常见问题353
25.3索引的管理360
25.4一些索引管理的脚本363
第26章CBO成本计算初探367
26.1建立测试数据367
26.2CBO计算成本原理初探369
26.3初始化参数以及优化器模式对执行计划的影响371
26.3.1初始化参数db_file_multiblock_read_count371
26.3.2初始化参数optimizer_index_cost_adj373
26.3.3优化器模式FIRST_ROWS对执行计划的影响374
26.4小结375
第27章Bitmap索引377
27.1Bitmap索引的概念377
27.2建立测试例子378
27.3Bitmap索引的特点380
27.3.1Bitmap索引比B树索引要节省空间380
27.3.2Bitmap索引建立的速度比较快382
27.3.3基于规则的优化器无法使用Bitmap索引382
27.3.4Bitmap索引存储NULL值384
27.3.5通过Bitmap索引访问表记录385
27.3.6Bitmap索引对批量DML操作只需要索引一次390
27.3.7Bitmap索引的锁机制390
27.4Bitmap索引的适用范围390
27.5Bitmap索引的使用限制391
27.6BitmapJoin索引简介391
第28章翻页SQL优化实例395
28.1系统环境395
28.2优化效果395
第29章使用物化视图进行翻页性能调整405
29.1系统环境405
29.2问题描述405
29.3捕获排序SQL语句406
29.4确定典型问题SQL407
29.5选择解决办法409
29.6进一步的调整优化410
29.7小结412
第30章如何给LargeDelete操作提速近千倍413
30.1背景描述413
30.1.1任务描述413
30.1.2数量级统计和描述413
30.2背景知识--BulkBinding414
30.2.1什么是BulkBinding414
30.2.2BulkBinding的优点是什么415
30.2.3如何进行批量绑定(BulkBinds)415
30.3优化过程详解420
30.3.1第一次优化--处理庞大的IN-LIST操作420
30.3.2第二次优化--分段操作422
30.3.3第三次优化--拆分DELETE操作423
30.3.4第四次优化--使用FORALL处理批量作业424
30.3.5第五次优化--使用FORALL+原子级操作426
30.4小结430
第31章Web分页与优化技术431
31.1什么是Web分页431
31.2表数据普通查询分页431
31.3FIRST_ROWS对分页的影响434
31.4带排序需求的分页439
31.5分页的速度优化445
31.6分页中的注意事项450
31.6.1真实案例──表中存在unionall的视图时,可能
选择错误的执行计划450
31.6.2真实案例──rowid分页中,执行计划的错误选
择与处理452
31.6.3真实案例──使用rownum得到意想不到的结果455
31.7小结456
第32章Oracle数据封锁机制研究457
32.1数据库锁的基本概念457
32.2Oracle多粒度封锁机制介绍457
32.2.1Oracle的TX锁(事务锁、行级锁)458
32.2.2TM锁(表级锁)459
32.3Oracle多粒度封锁机制的监控461
32.3.1系统视图介绍461
32.3.2监控脚本462
32.4Oracle多粒度封锁机制示例463
32.4.1操作同一行数据引发的锁阻塞463
32.4.2实体完整性引发的锁阻塞465
32.4.3参照完整性引发的锁阻塞466
32.4.4外键未加索引引发的锁阻塞468
32.4.5部分回滚对锁的影响470
32.4.6锁的排队机制472
32.4.7ITLSlot不足引发的锁阻塞474
32.4.8Bitmap索引引发的锁阻塞475
32.4.9死锁分析475
32.4.10表级锁的使能476
32.4.11row_locking参数478
32.5Oracle多粒度封锁机制总结478
点击展开
点击收起
— 没有更多了 —
以下为对购买帮助不大的评价