logo
分类于: 编程语言 互联网 云计算&大数据

简介

Oracle 内核技术揭密

Oracle 内核技术揭密 0.0分

资源最后更新于 2020-03-29 02:47:07

作者:吕海波

出版社:出版社机械工业出版社

出版日期:2014-09

ISBN:9787111469315

文件格式: pdf

标签: 编程 IT 数据库 内核 Oracle

简介· · · · · ·

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也会有很大的帮助。网名VAGE,现任eBay Principle DBA,曾任阿里巴巴高级数据库专家,京东T5级技术专家,ITPUB管理版版主。醉心技术,坚持百尺竿头、更进一步,开创“调试Oracle”领域,精通DTrace、gdb/mdb调试Oracle,是国内唯一有能力阅读Oracle反汇编代码的DBA。凭一己之力,突破了Oracle技术封锁,在网络中分享了多篇深入解析Oracle的技术文章,被誉为Oracle传奇技术大师。学历不高,中专文凭,持有会计员证书和珠算能手六级证书。18年来一直在技术道路上不懈追求。曾经是电机厂工人,电脑城装机小弟,饭店帮厨,糕点店学徒,精品店老板,计算机培训学校合伙人、校长,2004起任DBA至今。一路坎坷,今著此书,欲与大家共享众多Oracle优秀理念与算法。

想要: 点击会收藏到你的 我的收藏,可以在这里查看

已收: 表示已经收藏

Tips: 注册一个用户 可以通过用户中心得到电子书更新的通知哦

目录

  1. 前言
  2. 第1章 存储结构
  3. 1.1 区:表空间中的基本单位
  4. 1.1.1 统一区大小表空间和区的使用规则
  5. 1.1.2 系统管理区大小
  6. 1.1.3 碎片:少到可以忽略的问题
  7. 1.2 段中块的使用
  8. 1.2.1 块中空间的使用
  9. 1.2.2 典型问题:堆表是有序的吗
  10. 1.2.3 ASSM与L3、L2、L1块的意义
  11. 1.2.4 值得注意的案例:ASSM真的能提高插入并发量吗
  12. 1.2.5 段头与Extent Map
  13. 1.2.6 索引范围扫描的操作流程
  14. 第2章 调优排故方法论
  15. 2.1 调优排故的一般步骤
  16. 2.1.1 常见DUMP和Trace文件介绍
  17. 2.1.2 等待事件
  18. 2.1.3 各种资料视图介绍
  19. 2.1.4 等待事件的注意事项
  20. 2.2 AWR概览
  21. 2.2.1 AWR报告的注意事项
  22. 2.2.2 AWR类视图
  23. 第3章 Buffer Cache内部原理与I/O
  24. 3.1 HASH链表
  25. 3.1.1 HASH链表与逻辑读
  26. 3.1.2 Cache Buffers Chain Latch与Buffer Pin锁
  27. 3.1.3 Cache Buffers Chain Latch的竞争
  28. 3.2 检查点队列链表
  29. 3.2.1 检查点队列
  30. 3.2.2 检查点队列与实例恢复
  31. 3.2.3 DBWR如何写脏块
  32. 3.2.4 如何提高DBWR的写效率
  33. 3.3 LRU队列
  34. 3.3.1 主LRU、辅助LRU链表
  35. 3.3.2 脏链表LRUW
  36. 3.3.3 Free Buffer Waits
  37. 3.3.4 谁“扣动”了DBWR的“扳机”
  38. 3.3.5 日志切换与写脏块
  39. 3.4 I/O总结
  40. 3.4.1 逻辑读资料分析
  41. 3.4.2 减少逻辑读—行的读取
  42. 3.4.3 物理I/O
  43. 3.4.4 存储物理I/O能力评估
  44. 第4章 共享池揭密
  45. 4.1 共享池内存结构
  46. 4.1.1 堆、区、Chunk与子堆
  47. 4.1.2 Chunk类型(x$ksmsp视图)
  48. 4.1.3 freeabl、recr与LRU链表
  49. 4.1.4 Free List链表
  50. 4.1.5 保留池
  51. 4.1.6 SQL的内存结构:父游标、子游标
  52. 4.1.7 SQL的内存结构:父游标句柄
  53. 4.1.8 SQL的Chunk:父游标堆0和DS
  54. 4.1.9 SQL的Chunk:子游标句柄
  55. 4.1.10 SQL的Chunk:子游标堆0与堆6
  56. 4.1.11 SQL所占共享池内存
  57. 4.1.12 LRU链表:我的共享池大了还是小了
  58. 4.1.13 ORA-4031的吊诡:错误的报错信息
  59. 4.1.14 解决ORA-4031之道:如何正确释放内存
  60. 4.1.15 Session Cached Cursor与内存占用
  61. 4.2 语句解析和执行
  62. 4.2.1 SQL执行流程
  63. 4.2.2 内存锁原理
  64. 4.2.3 Library Cache Lock/Pin
  65. 4.2.4 Library Cache Lock/Pin与硬解析
  66. 4.2.5 Library Cache Lock/Pin与软解析、软软解析
  67. 4.2.6 NULL模式Library Cache Lock与依赖链
  68. 4.2.7 存储过程与Library Cache Lock/Pin
  69. 4.2.8 断开依赖链
  70. 4.2.9 低级内存锁:Latch
  71. 4.2.10 Shared Pool Latch
  72. 4.3 Mutex
  73. 4.3.1 Mutex基本形式
  74. 4.3.2 Mutex获取过程:原子指令测试并交换
  75. 4.3.3 Mutex获取过程:竞争与Gets资料的更新
  76. 4.3.4 Mutex获取过程:共享Mutex与独占Mutex
  77. 4.3.5 独占Mutex的获取和释放过程
  78. 4.3.6 Mutex获取过程:Sleeps与CPU
  79. 4.4 Mutex与解析
  80. 4.4.1 Mutex类型
  81. 4.4.2 HASH Bucket与HASH链
  82. 4.4.3 Handle(句柄)与Library Cache Lock
  83. 4.4.4 HASH Table型Mutex
  84. 4.4.5 执行计划与Cursor Pin
  85. 4.5 通过Mutex判断解析问题
  86. 4.5.1  硬解析时的竞争
  87. 4.5.2 软解析和软软解析
  88. 4.5.3 解决解析阶段的竞争
  89. 4.5.4 过度软软解析竞争的解决
  90. 4.5.5 Select与执行
  91. 第5章 Redo调优与备份恢复原理
  92. 5.1 非IMU与IMU Redo格式的不同
  93. 5.2 解析Redo数据流
  94. 5.3 IMU与非IMU相关的Redo Latch
  95. 5.4 Redo Allocation Latch
  96. 5.5 Log Buffer空间的使用
  97. 5.6 LGWR与Log File Sync和Log File Parallel Write
  98. 5.7 IMU什么情况下被使用
  99. 第6章 UNDO
  100. 6.1 事务基本信息
  101. 6.2 回滚段空间重用规则
  102. 6.2.1 UNDO块的SEQ值
  103. 6.2.2 UNDO段的Extend
  104. 6.2.3 Steal Undo Extent:诡异的UNDO空间不足问题
  105. 6.2.4 回滚空间重用机制:UNDO块重用规则
  106. 第7章 ASM
  107. 7.1 ASM文件格式
  108. 7.1.1 ASM文件
  109. 7.1.2 使用kfed挖掘ASM文件格式
  110. 7.2 AU与条带
  111. 7.2.1 粗粒度不可调条带
  112. 7.2.2 细粒度可调条带
  113. 7.2.3 AU与条带的作用
  114. 7.2.4 DG中盘数量对性能的影响
  115. 7.2.5 最大I/O与最小I/O
  116. 7.2.6 数据分布对性能的影响
  117. 7.2.7 案例精选:奇怪的IO问题
  118. 7.2.8 大AU和小AU性能对比
  119. 7.2.9 AU与条带总结
  120. 7.2.10 OLTP与大条带
  121. 附录 HASH算法简单介绍