part1 dba 之路
0 人生就是如此—冯春培感悟之路 003
冯春培(网名 biti_rainy,第0 章创作者) 支付
宝公司数据与风险管理技术部资深总监。在数据库、主
机、存储等领域有丰富经验,主导了主机性能评估模型、
数据库水平拆分、基于数据库日志解析的数据同步、基
于iscsi 的廉价存储等项目,目前专注于大规模数据的
并行计算和存储、用户行为研究与风险控制领域。2006
年被评为中国十大杰出数据库工程师,同年获阿里集团
唯一专业人才大奖,2008 年被oracle 公司授予 ace
director 称号,2009 年被评选为杭州市“131”优秀中青
年培养人选。
part2 dba 手记
1 杨廷琨的dba 手记 013
truncate 语句时间过长的诊断
隐式转换影响物化视图查询重写
批量修改数据后应收集统计信息
如何监测一个pl/sql 过程的运行情况
一次rac 环境性能诊断过程
.数据泵功能灵活运用案例
杨廷琨(网名yangtingkun,第1、7 章创作者) 恩
墨科技联合创始人,客户支持经理。在国内著名数据库
论坛itpub 出任oracle 数据库管理版版主,2004 年曾
参与编写了《oracle 数据库性能优化》一书,2007 年被
oracle 公司授予ace 称号,2010 和eygle 共同主编出
版了《oracle dba 手记》一书,2010 年被评选为itpub
年度最佳版主。喜欢研究oracle 相关的技术问题,多年
持续在个人blog 上发表了2000 多篇oracle 相关的原
创技术文章。
个人博客:http://yangtingkun.itpub.net
2 姜龙的dba 工作手记 044
同义词降低逻辑读优化一则
002
11gr2 中物化视图在真实案例中的应用
利用timesten 内存数据库大幅提升性能
参考文献
姜龙(第2 章创作者) 热爱oracle 技术,8i & 10g
ocp。2000 年左右活跃于网易oracle 社区并时任版主
(id:jl_long),后转战cnoug 数据库管理版版主(id:
stonemoya),虽然间接性迷茫但从未放弃。在国内航空
业数据库领域积累了较丰富的管理经验并制定了一系
列服务规范,目前就职于甲骨文(中国)软件系统有限
公司,任高级咨询顾问。
个人网站:http://www.stonemoya.com
3 面向程序员的数据库访问性能优化法则 075
数据库访问优化法则简介
oracle 数据库的两个基本概念
数据库访问优化法则详解
叶正盛(第3 章创作者) 现任职于阿里巴巴dba
团队,数据库技术专家,专注于数据库应用与开发研究
工作,国家认证系统分析师、高级项目经理、数据库系
统工程师,csdn 软件工程专家,博客专家,十余年信
息化系统设计开发与研发团队管理工作经验。
个人博客:http://blog.csdn.net/yzsind
4 linux 大内存页oracle 数据库优化 097
案例的引入
操作系统中的cpu 使用分析
使用大内存页来解决问题
小结
熊军(网名老熊,第4、6、12 章创作者) oracle
ace,acoug 成员。从2003 年底接触oracle 数据库
并对其产生了浓厚的兴趣。现从事oracle 第三方技术支
持工作,为客户提供专业化的技术服务。擅长oracle 数
据库故障诊断处理和性能优化,oracle 恢复软件odu
的作者。
个人网站:http://www.laoxiong.net
part3 sql 与sql 优化
5 sql 执行计划解读与案例分析 109
得到sql 的真实执行计划
执行计划的执行顺序
10g/11g 里执行计划的一些增强
绑定变量对执行计划的影响
10053 事件分析执行计划一例
看似正常的执行计划导致严重性能问
题的案例
监听连接时间过长案例外一则
崔华(网名dbsnake,第5 章创作者) oracle ace,
acoug 成员,中航信资深oracle 数据库工程师,恩墨
科技特邀专家顾问。对oracle 数据库技术具有狂热的爱
好,深入理解oracle 的体系结构、内存结构、物理存储
(各种块格式)、锁机制、优化机制等。深入了解oracle
的备份恢复机制,熟悉oracle 的各种备份方法,能够
处理各种情况下的数据恢复,包括没有数据备份时的
恢复。
个人网站:http://www.dbsnake.com
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
如何分裂
树的生长
oracle dba 手记3——数据库性能优化与内部原理解析 003
存储参数
分裂事务控制
数据块分配
等待事件
附:10g 中如何构建“高”索引
黄玮(第8、9、11 章创作者) 1999 年开始从事
dba 工作,具有多年的水利、军工、电信及航运行业
大型数据库开发、设计和维护经验。
2005 年创建个人网站hellodba.com,并致力于数
据库方面的基础性技术研究。开发了多个数据恢复、性
能监控、内核跟踪等免费、实用的工具,并整理和发布
了大量关于数据库系统的内层机制、存储结构、性能调
优以及基础算法的文章。
目前供职于某世界著名物流公司,负责电子物流系
统的数据库开发、设计和维护工作。
个人网站:http://www.hellodba.com
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 的进一步分析
总结
参考文献
盖国强(网名eygle,第10 章创作者) 恩墨科
技创始人,oracle ace 总监,itpub 论坛超级版主,
2006 年度中国十大杰出数据库工程师之一,远程dba
服务的倡导者和实践者,致力于以技术服务客户。著有
《深入解析oracle》、《循序渐进oracle》、《深入浅出
oracle》等书;从2010 年开始,致力于《oracle dba
手记》的撰写与编辑工作,并与张乐奕共同创立了
acoug 用户组,在国内推进公益自由的oracle 技术交
流活动。
个人网站:http://www.eygle.com
11 oracle 逻辑读写深入分析 257
全表扫描i
全表扫描ii
全表扫描iii
一致性读
当前模式
排序
索引扫描
12 隐含参数与library cache、shared pool latch
原理—— 一次由隐含参数引起性能问题的处理
277
案例之问题现象
问题分析
问题的解决
问题的验证
问题总结