展开全部

主编推荐语

Oracle数据库领域传奇人物、前阿里B2B最高级别Oracle DBA吕海波(VAGE)10余年职业生涯的集大成之作。

内容简介

本书深入分析和挖掘Oracle数据库内核中的精髓与秘密,揭示了大量鲜为人知的原理和算法,并详细阐释了如何建立一套自己的调优排故模型。是首本国内作者深入剖析Oracle原理的技术书籍。虽以内部原理为主线,但又不乏实际的应用案例,希望读者可以将学到的原理与实际应用相结合,提高对Oracle的运维能力。

本书第1章主要讲述Oracle的空间存储管理的内部原理,以及应用其原理进行调优、排故的案例。第2章是调优、排故的方法论。第3章深入且全面地剖析了Buffer Cache内存池的原理,在该章中,你不但可以了解到检查点、LRU等Oracle最重要的概念,还可以学习到如何设计测试用例,去验证这些原理。当然,最重要的是这些知识对我们实际工作的影响。任何原理的学习,都要以最终能够应用到调优、排故为目的,这是本书始终如一的方针,也是作者研究Oracle的一贯思想。第4章为大家解析Shared Pool的原理和调优、排故。第5章为大家展现Redo相关的原理、调优和排故。在第3~5章中,有大量本书唯一的Oracle原理资料,这些原理是作者使用“调试Oracle”技术分析得出的,网络中搜索不到任何相关信息。作者也从未将相关信息发布到网上,这保证了本书的价值。第6章为大家介绍了UNDO相关知识。第7章介绍了Oracle ASM文件原理,以及AU大小、条带大小、条带宽度等在ASM下的意义。通过对这些信息的学习,你还能了解到条带在存储中的原理与影响。最后附录章节是对HASH算法的一个简述。由于原理性知识居多,因此本书的学习过程并不轻松,但相信通过系统地学习本书,对提高Oracle运维能力会有极大的帮助。对于非DBA技术人员,通过阅读本书,也可以了解到最优秀的数据库Oracle的原理,这对于研究MySQL、PostgreSQL也会有很大的帮助。

目录

  • 版权信息
  • 前言
  • 第1章 存储结构
  • 1.1 区:表空间中的基本单位
  • 1.1.1 统一区大小表空间和区的使用规则
  • 1.1.2 系统管理区大小
  • 1.1.3 碎片:少到可以忽略的问题
  • 1.2 段中块的使用
  • 1.2.1 块中空间的使用
  • 1.2.2 典型问题:堆表是有序的吗
  • 1.2.3 ASSM与L3、L2、L1块的意义
  • 1.2.4 值得注意的案例:ASSM真的能提高插入并发量吗
  • 1.2.5 段头与Extent Map
  • 1.2.6 索引范围扫描的操作流程
  • 第2章 调优排故方法论
  • 2.1 调优排故的一般步骤
  • 2.1.1 常见DUMP和Trace文件介绍
  • 2.1.2 等待事件
  • 2.1.3 各种资料视图介绍
  • 2.1.4 等待事件的注意事项
  • 2.2 AWR概览
  • 2.2.1 AWR报告的注意事项
  • 2.2.2 AWR类视图
  • 第3章 Buffer Cache内部原理与I/O
  • 3.1 HASH链表
  • 3.1.1 HASH链表与逻辑读
  • 3.1.2 Cache Buffers Chain Latch与Buffer Pin锁
  • 3.1.3 Cache Buffers Chain Latch的竞争
  • 3.2 检查点队列链表
  • 3.2.1 检查点队列
  • 3.2.2 检查点队列与实例恢复
  • 3.2.3 DBWR如何写脏块
  • 3.2.4 如何提高DBWR的写效率
  • 3.3 LRU队列
  • 3.3.1 主LRU、辅助LRU链表
  • 3.3.2 脏链表LRUW
  • 3.3.3 Free Buffer Waits
  • 3.3.4 谁“扣动”了DBWR的“扳机”
  • 3.3.5 日志切换与写脏块
  • 3.4 I/O总结
  • 3.4.1 逻辑读资料分析
  • 3.4.2 减少逻辑读—行的读取
  • 3.4.3 物理I/O
  • 3.4.4 存储物理I/O能力评估
  • 第4章 共享池揭密
  • 4.1 共享池内存结构
  • 4.1.1 堆、区、Chunk与子堆
  • 4.1.2 Chunk类型(x$ksmsp视图)
  • 4.1.3 freeabl、recr与LRU链表
  • 4.1.4 Free List链表
  • 4.1.5 保留池
  • 4.1.6 SQL的内存结构:父游标、子游标
  • 4.1.7 SQL的内存结构:父游标句柄
  • 4.1.8 SQL的Chunk:父游标堆0和DS
  • 4.1.9 SQL的Chunk:子游标句柄
  • 4.1.10 SQL的Chunk:子游标堆0与堆6
  • 4.1.11 SQL所占共享池内存
  • 4.1.12 LRU链表:我的共享池大了还是小了
  • 4.1.13 ORA-4031的吊诡:错误的报错信息
  • 4.1.14 解决ORA-4031之道:如何正确释放内存
  • 4.1.15 Session Cached Cursor与内存占用
  • 4.2 语句解析和执行
  • 4.2.1 SQL执行流程
  • 4.2.2 内存锁原理
  • 4.2.3 Library Cache Lock/Pin
  • 4.2.4 Library Cache Lock/Pin与硬解析
  • 4.2.5 Library Cache Lock/Pin与软解析、软软解析
  • 4.2.6 NULL模式Library Cache Lock与依赖链
  • 4.2.7 存储过程与Library Cache Lock/Pin
  • 4.2.8 断开依赖链
  • 4.2.9 低级内存锁:Latch
  • 4.2.10 Shared Pool Latch
  • 4.3 Mutex
  • 4.3.1 Mutex基本形式
  • 4.3.2 Mutex获取过程:原子指令测试并交换
  • 4.3.3 Mutex获取过程:竞争与Gets资料的更新
  • 4.3.4 Mutex获取过程:共享Mutex与独占Mutex
  • 4.3.5 独占Mutex的获取和释放过程
  • 4.3.6 Mutex获取过程:Sleeps与CPU
  • 4.4 Mutex与解析
  • 4.4.1 Mutex类型
  • 4.4.2 HASH Bucket与HASH链
  • 4.4.3 Handle(句柄)与Library Cache Lock
  • 4.4.4 HASH Table型Mutex
  • 4.4.5 执行计划与Cursor Pin
  • 4.5 通过Mutex判断解析问题
  • 4.5.1 硬解析时的竞争
  • 4.5.2 软解析和软软解析
  • 4.5.3 解决解析阶段的竞争
  • 4.5.4 过度软软解析竞争的解决
  • 4.5.5 Select与执行
  • 第5章 Redo调优与备份恢复原理
  • 5.1 非IMU与IMU Redo格式的不同
  • 5.2 解析Redo数据流
  • 5.3 IMU与非IMU相关的Redo Latch
  • 5.4 Redo Allocation Latch
  • 5.5 Log Buffer空间的使用
  • 5.6 LGWR与Log File Sync和Log File Parallel Write
  • 5.7 IMU什么情况下被使用
  • 第6章 UNDO
  • 6.1 事务基本信息
  • 6.2 回滚段空间重用规则
  • 6.2.1 UNDO块的SEQ值
  • 6.2.2 UNDO段的Extend
  • 6.2.3 Steal Undo Extent:诡异的UNDO空间不足问题
  • 6.2.4 回滚空间重用机制:UNDO块重用规则
  • 第7章 ASM
  • 7.1 ASM文件格式
  • 7.1.1 ASM文件
  • 7.1.2 使用kfed挖掘ASM文件格式
  • 7.2 AU与条带
  • 7.2.1 粗粒度不可调条带
  • 7.2.2 细粒度可调条带
  • 7.2.3 AU与条带的作用
  • 7.2.4 DG中盘数量对性能的影响
  • 7.2.5 最大I/O与最小I/O
  • 7.2.6 数据分布对性能的影响
  • 7.2.7 案例精选:奇怪的IO问题
  • 7.2.8 大AU和小AU性能对比
  • 7.2.9 AU与条带总结
  • 7.2.10 OLTP与大条带
  • 附录 HASH算法简单介绍
展开全部

评分及书评

评分不足
1个评分
  • 用户头像
    给这本书评了
    5.0

    从笔者来看,造成这种情况是 “二者兼而有之”。“Oracle 有意控制” 论并非空穴来风,伴随着 Oracle 数据库应用得越来越广泛,第三方维护市场的发展也是如火如荼。如果有了疑难问题只能找 Oracle 原厂的售后团队解决,那么第三方维护公司将很难与 Oracle 竞争,这是控制这块市场的最好方法。

      转发
      评论

    出版方

    机械工业出版社有限公司

    机械工业出版社是全国优秀出版社,自1952年成立以来,坚持为科技、为教育服务,以向行业、向学校提供优质、权威的精神产品为宗旨,以“服务社会和人民群众需求,传播社会主义先进文化”为己任,产业结构不断完善,已由传统的图书出版向着图书、期刊、电子出版物、音像制品、电子商务一体化延伸,现已发展为多领域、多学科的大型综合性出版社,涉及机械、电工电子、汽车、计算机、经济管理、建筑、ELT、科普以及教材、教辅等领域。