Oracle DBA手记3:数据库性能优化与内部原理解析
Oracle DBA手记3:数据库性能优化与内部原理解析
出版信息
作 者:盖国强 等
出版时间:2011-09
字 数:480千
版 次:01-01
页 数:300
开 本:16(185*260)
I S B N :9787121144790
内容简介
本书由多位数据库技术专家合著而成,融合了各行业DBA 的工作经验与思考,包含了精心挑选的数据库性能优化与内部原理解析案例。内容涵盖“DBA 手记”,以手记形式记录了DBA 们的工作点滴、经验分享;“SQL 与SQL 优化”,分别讲解了SQL 的执行计划,SQL Profile 的使用,以及Oracle 中的NULL 值解析;“内部原理与优化”,分别介绍了Oracle 的索引分裂、TX 锁等待、闩锁原理、逻辑读写、隐含参数与Latch 原理等的内部操作。 本书的主要内容以原理分析、内部实践、故障解决为依据,将Oracle 数据库的深层技术层剖缕析、抽丝剥茧地展示给读者。希望能够帮助读者加深对Oracle 技术的认知和理解,并将这些技术应用到实践中去。
作者简介
盖国强(网名Eygle) 恩墨科技创始人,Oracle ACE 总监,ITPUB 论坛超级版主,2006 年度中国十大杰出数据库工程师之一,远程DBA服务的倡导者和实践者,致力于以技术服务客户。著有《深入解析Oracle》、《循序渐进Oracle》、《深入浅出Oracle》等书;从2010 年开始,致力于《Oracle DBA手记》的撰写与编辑工作,并与张乐奕共同创立了ACOUG 用户组,在国内推进公益自由的Oracle 技术交流活动。
目录
Part1 DBA 之路
0 人生就是如此—冯春培感悟之路 003
Part2 DBA 手记
1 杨廷琨的DBA 手记 013
TRUNCATE 语句时间过长的诊断
隐式转换影响物化视图查询重写
批量修改数据后应收集统计信息
如何监测一个PL/SQL 过程的运行情况
一次RAC 环境性能诊断过程
数据泵功能灵活运用案例
2 姜龙的DBA 工作手记 044
同义词降低逻辑读优化一则
11gR2 中物化视图在真实案例中的应用
利用TimesTen 内存数据库大幅提升性能
参考文献
3 面向程序员的数据库访问性能优化法则 075
数据库访问优化法则简介
Oracle 数据库的两个基本概念
数据库访问优化法则详解
4 Linux 大内存页Oracle 数据库优化 097
案例的引入
操作系统中的CPU 使用分析
使用大内存页来解决问题
小结
Part3 SQL 与SQL 优化
5 SQL 执行计划解读与案例分析 109
得到SQL 的真实执行计划
执行计划的执行顺序
10g/11g 里执行计划的一些增强
绑定变量对执行计划的影响
10053 事件分析执行计划一例
看似正常的执行计划导致严重性能问
题的案例
监听连接时间过长案例外一则
6 使用SQL Profile 改变和稳定SQL 执行计划 137
SQL Profile 与Outline
SQL Profile 是什么
手工创建SQL Profile
使用SQL Profile 稳定SQL 语句的执行
计划
使用SQL Profile 更改SQL 语句的执行
计划
一个使用SQL Profile 的案例
7 Oracle 中的NULL 值解析 157
NULL 的基础概念和由来
NULL 的布尔运算的特点
NULL 的默认数据类型
空字符串‘’与NULL 的关系
NULL 和索引
NULL 的其他方面特点
Part4 内部原理与优化
8 B*Tree 索引中的数据块分裂 175
如何分裂
树的生长
存储参数
分裂事务控制
数据块分配
等待事件
附:10g 中如何构建“高”索引
9 事务队列等待(TX Enqueue)深入分析 196
记录锁
ITL 争用
索引争用
唯一性约束
位图索引维护
外键约束
其他争用
10 Oracle 的Latch 优化深入解析 216
Latch 相关的视图
Latch Free(闩锁释放)
Shared Pool Latch 的研究
row cache objects
Latch:row cache objects 案例
也许Bug 曾经来过
Oracle 的spare parameter
cursor: pin S wait on X 事件
为什么硬解析如此昂贵
Oracle 11g 的dc_object_ids
Row Cache 的进一步分析
总结
参考文献
11 Oracle 逻辑读写深入分析 257
全表扫描I
全表扫描II
全表扫描III
一致性读
当前模式
排序
索引扫描
12 隐含参数与Library Cache、Shared Pool Latch
原理—— 一次由隐含参数引起性能问题的处理
277
案例之问题现象
问题分析
问题的解决
问题的验证
问题总结