Oracle PL/SQL弹性实战
Stephen B. Morris
门佳 译
出版时间:2024年10月
页数:312
“Stephen拿出了一种很好的方法。即使你没有全盘照搬,也会从中发现一些有助于你完成项目的技巧和工具。”
——Patrick Barel
ACE Director,高级Oracle开发人员,Qualogy
“我强烈各位推荐这本书。它为避免和简化复杂的故障排除问题提供了宝贵的建议。”
——Sayan Malakshinov
Oracle ACE
“这本书棒极了,满满都是干货。书中以特征为导向的方法既新颖又易于应用。”
——Yash Agrawal
顾问和承包商

随着遗留系统和其他关键系统的不断在线迁移,持续运行的需求势在必行。如今,代码不仅要处理数据问题,还要处理网络中断、存储系统、电力、辅助系统等硬性的外部问题,这本实用指南为系统管理员、DevSecOps工程师、云架构师简明而全面的介绍如何使用PL/SOL开发弹性数据库解决方案。
集成专家Stephen B. Morris带领你理解这种语言,构建PL/SQL工具箱,并整理出一套可重复使用的组件和模式。你将深入了解将工具箱与需求驱动、特征导向的方法相结合的益处,并学习如何结合弹性尺度制定弹性解决方案。
● 在避免常见的PL/SQL反模式的同时构建可靠的PL/SQL解决方案。
● 了解为什么将复杂的业务逻辑嵌入SQL往往是一个容易出问题的选择。
● 学习如何识别和改进薄弱的PL/SQL代码。
● 通过运行数据驱动的数据库内测试来验证PL/SQL代码。
● 理解复杂PL/SQL系统的安全操作、维护、修改。
● 学习思考特征而非只是用例的好处。
  1. 前言
  2. 第Ⅰ部分 创建PL/SQL工具箱
  3. 第1章 弹性软件和PL/SQL
  4. 1.1 弹性软件
  5. 1.2 弹性系统示例
  6. 1.2.1 弹性需求:“是什么”与“怎么做”
  7. 1.2.2 使用PL/SQL的动机:别用扳手切披萨
  8. 1.2.3 学习Java ORM
  9. 1.2.4 以数据为中心的复杂工作流
  10. 1.2.5 将SQL用于复杂的业务逻辑不是一个好主意
  11. 1.3 一个警示故事
  12. 1.3.1 拥抱PL/SQL抽象
  13. 1.3.2 PL/SQL的缺点
  14. 1.3.3 一种更好的方法
  15. 1.4 PL/SQL入门
  16. 1.4.1 如何阅读现有或遗留的PL/SQL代码
  17. 1.4.2 游标
  18. 1.5 理解PL/SQL的学习及开发环境的必要性
  19. 1.6 弹性尺度
  20. 1.6.1 捕获所有错误和异常:得分 = 0
  21. 1.6.2 可恢复性:得分 = 2
  22. 1.6.3 可观测性:得分 = 0
  23. 1.6.4 可修改性:得分 = 5
  24. 1.6.5 模块化:得分 = 2
  25. 1.6.6 简单性:得分 = 5
  26. 1.6.7 编码规范:得分 = 5
  27. 1.6.8 可复用性:得分 = 2
  28. 1.6.9 可重复测试:得分 = 2
  29. 1.6.10 避免常见反模式:得分 = 0
  30. 1.6.11 模式演进:得分 = 0
  31. 1.7 小结
  32. 第2章 安装容器化Oracle Database实例和
  33. SQL Developer
  34. 2.1 安装虚拟化Oracle Database
  35. 2.2 Docker入门
  36. 2.3 配置Oracle Database
  37. 2.4 更新用户密码
  38. 2.5 SQL Developer入门
  39. 2.6 回顾基本的Docker工作流
  40. 2.7 运行SQL Developer
  41. 2.8 一个简单的模式
  42. 2.9 运行PL/SQL代码
  43. 2.10 三个Docker常见错误
  44. 2.10.1 Docker区分大小写
  45. 2.10.2 急于连接数据库
  46. 2.10.3 由可怕的Windows更新引发的Docker问题
  47. 2.11 Docker命令行的替代
  48. 2.12 Docker命令行的另一种替代
  49. 2.13 小结
  50. 第3章 小试SQL Developer
  51. 3.1 修复烦人的PL/SQL错误
  52. 3.2 在数据库中安装PL/SQL存储过程
  53. 3.3 在数据库中安装存储过程
  54. 3.4 执行PL/SQL存储过程
  55. 3.5 要点:错误乃良师
  56. 3.6 小结
  57. 第4章 在PL/SQL代码中应用弹性尺度
  58. 4.1 弹性尺度需求1:捕获所有错误和异常
  59. 4.1.1 异常处理的变化
  60. 4.1.2 运行更新后的PL/SQL
  61. 4.2 弹性尺度需求2:可恢复性
  62. 4.3 弹性尺度需求3:可观测性
  63. 4.3.1 如果日志记录出现异常该怎么办?
  64. 4.3.2 更新模式
  65. 4.4 弹性尺度需求4:可修改性
  66. 4.5 弹性尺度需求5:模块化
  67. 4.5.1 日志记录包
  68. 4.5.2 创建日志记录包
  69. 4.5.3 整合日志记录功能
  70. 4.6 弹性尺度需求6:简单性
  71. 4.7 弹性尺度需求7:编码规范
  72. 4.8 弹性尺度需求8:可复用性
  73. 4.9 弹性尺度需求9:可重复测试
  74. 4.9.1 安装utPLSQL
  75. 4.9.2 在SQL Developer中创建utPLSQL单元测试
  76. 4.10 运行utPLSQL单元测试
  77. 4.11 弹性尺度需求10:避免常见的反模式
  78. 4.11.1 代码过长
  79. 4.11.2 代码过于复杂
  80. 4.11.3 缺少异常/错误处理
  81. 4.11.4 与异常共存
  82. 4.11.5 缺少模块化
  83. 4.11.6 无法确定根源的崩溃
  84. 4.12 弹性尺度需求11:模式演进
  85. 4.13 弹性尺度变动汇总
  86. 4.14 小结
  87. 第Ⅱ部分 特性驱动开发
  88. 第5章 调用PL/SQL
  89. 5.1 两种PL/SQL集成模型
  90. 5.2 使用作业调用PL/SQL
  91. 5.3 使用Java程序调用PL/SQL
  92. 5.3.1 设置简单的Java应用程序
  93. 5.3.2 运行Java应用程序
  94. 5.3.3 Java错误归谁
  95. 5.3.4 读取数据库元数据
  96. 5.3.5 一些Java PL/SQL陷阱
  97. 5.3.6 Oracle Database密码陷阱
  98. 5.4 小结
  99. 第6章 特性驱动的PL/SQL开发
  100. 6.1 什么是特性
  101. 6.1.1 SQL Developer的一个特性
  102. 6.1.2 特性示例
  103. 6.2 剖析特性
  104. 6.2.1 阐明特性的共同目标
  105. 6.2.2 允许定义特性能够完成的有用工作
  106. 6.2.3 定义特性辅助器和调用机制
  107. 6.2.4 定义检验特性及其组件的测试
  108. 6.2.5 确定特性及其组件的需求
  109. 6.3 将日志存储过程重塑为特性
  110. 6.4 将update_employees存储过程视为特性
  111. 6.5 测试特性或垂直切片
  112. 6.6 业务关键型PL/SQL代码
  113. 6.7 特性的其他方面
  114. 6.7.1 特性与系统健康
  115. 6.7.2 特性和端点
  116. 6.8 小结
  117. 第Ⅲ部分 综合运用PL/SQL工具箱和特性驱动开发
  118. 第7章 一个以流程为中心、基于特性的迷你项目
  119. 7.1 需求1:定义需求
  120. 7.2 需求2:构建发票基本大纲
  121. 7.3 需求3:创建模式
  122. 7.4 需求4:测试模式
  123. 7.5 需求5:特性描述
  124. 7.6 需求6:构建解决方案所需的PL/SQL工具箱元素
  125. 7.7 需求7:测试
  126. 7.8 需求8:构建弹性PL/SQL解决方案
  127. 7.9 需求9:通过高级语言调用验证解决方案
  128. 7.10 小结
  129. 第8章 从“做什么”到“怎么做:根据规范构建特性组件
  130. 8.1 需求
  131. 8.2 定义需求
  132. 8.3 构建发票基本大纲
  133. 8.4 创建模式
  134. 8.5 PROJECTS数据表
  135. 8.6 模式测试
  136. 8.6.1 插入数据并验证约束
  137. 8.6.2 验证PROJECTS数据表的操作是否按预期工作
  138. 8.7 功能工作流描述
  139. 8.7.1 创建项目发票数据集
  140. 8.7.2 从Java代码调用特性
  141. 8.7.3 调用传递所需数据的PL/SQL存储过程
  142. 8.7.4 插入对新的发票开具PL/SQL存储过程的调用
  143. 8.7.5 先在SQL Developer中运行初版PL/SQL代码
  144. 8.7.6 在INVOICES数据表中插入一行
  145. 8.7.7 添加两个辅助器
  146. 8.7.8 性能注意事项:PL/SQL与SQL
  147. 8.7.9 项目状态简报
  148. 8.7.10 重温项目功能状态报告
  149. 8.8 小结
  150. 第9章 构建完整的特性:最终项目集成
  151. 9.1 回顾弹性尺度
  152. 9.2 结合模型重新审视模式
  153. 9.3 重回错误和异常管理
  154. 9.4 弹性需求备忘录
  155. 9.5 可恢复性
  156. 9.6 可观测性
  157. 9.7 可修改性
  158. 9.8 模块化
  159. 9.9 测试
  160. 9.10 构建基础的发票生成工具
  161. 9.11 添加日志
  162. 9.12 从Java代码调用日志记录的PL/SQL存储过程
  163. 9.13 小结
  164. 第10章 尾声
  165. 10.1 一些要点
  166. 10.2 避免严重的反模式
  167. 10.3 Docker:学习Oracle Database的一项技术
  168. 10.4 把错误视为老师并阅读代码
  169. 10.5 遗留代码和弹性尺度
  170. 10.6 PL/SQL和高级语言集成
  171. 10.7 特性作为粗粒度的替代物
  172. 10.8 小结
  173. 附录A Oracle本机安装故障排除
  174. 附录B Oracle Database日志记录的其他选项
书名:Oracle PL/SQL弹性实战
作者:Stephen B. Morris
译者:门佳 译
国内出版社:中国电力出版社
出版时间:2024年10月
页数:312
书号:978-7-5198-9188-6
原版书书名:Resilient Oracle PL/SQL
原版书出版商:O'Reilly Media
Stephen B. Morris
 
Stephen B. Morris是一位独立作家和顾问,居住在爱尔兰。他在企业开发和网络应用领域拥有丰富的经验,从事专业代码编写工作已有30年之久,技术之旅涉及电信、金融、医疗保健、政府等多个行业。
 
 
本书封面上的动物是一只瓦氏猫头鹰蛾(学名:Brahmaea wallichii)。它是以丹麦植物学家Nathaniel Wallich的名字命名的,他在19世纪通过捐赠个人收藏的标本帮助建立了加尔各答印度博物馆(Indian Museum of Kolkata)。瓦氏猫头鹰蛾分布于印度北部,以及尼泊尔、不丹、缅甸、中国、日本。
瓦氏猫头鹰蛾前翅上有明显的眼斑,看起来就像是猫头鹰,此外还有醒目的黑褐色条纹。它是最大的蛾子之一,平均翼展为3.5~6.25英寸。
瓦氏猫头鹰蛾栖息在温带和热带森林,以丁香等植物的花蜜为食。白天休息时,会趴在地上或靠在树干上,展开它们特有的翅膀。如果受到惊扰,这种蛾子会猛烈摇晃,而不是直接飞走。
购买选项
定价:98.00元
书号:978-7-5198-9188-6
出版社:中国电力出版社