读书笔记:Oracle数据库架构:从核心原理到现代演进
我们的文章会在微信公众号IT民工的龙马人生和博客网站( www.htz.pw )同步更新 ,欢迎关注收藏,也欢迎大家转载,但是请在文章开始地方标注文章出处,谢谢!
由于博客中有大量代码,通过页面浏览效果更佳。
本文为个人学习《Expert Oracle Database Architecture Techniques and Solutions for High Performance and Productivity(第四版本》一书过程中的笔记与理解分享,仅用于学习与交流,部分内容参考原书观点并结合>实际经验进行整理。若涉及版权问题,请联系删除或沟通处理。也请大家支持购买原版书籍。
一、Oracle的"变形金刚"特性
想象Oracle数据库是个能在任何环境生存的"变形金刚":
- 在Windows系统里,它像一个多线程的瑞士军刀(单进程多线程)
- 在Linux/Unix系统里,它化身专业分工的施工队(多进程架构,每个功能独立进程)
- 在云端,它又能变成弹性伸缩的云原生服务
这种超强适应能力背后,是Oracle工程师们的设计智慧——用不同方式实现相同功能,就像乐高积木可以用不同拼法组成同样造型。
二、数据库的"身体结构"
如果把Oracle数据库看作人体:
1. 骨架系统(文件体系)
- 核心骨架:数据文件(肌肉)、控制文件(神经系统)、日志文件(记忆系统)
- 应急装备:快速恢复区(FRA)就像"急救包"
- 智能外挂:ASM存储管理相当于"外骨骼装甲"
2. 循环系统(内存结构)
- SGA系统全局区:相当于大脑的"工作记忆"
- 共享池:SQL语句的"语法词典"
- 数据缓存:热数据的"临时储物柜"
- PGA进程私有区:每个工作人员的"私人工作台"
3. 神经系统(进程机制)
- 后台进程:24小时值班的"器官"(如:
- DBWn:专职搬运工(数据写入磁盘)
- LGWR:记忆大师(日志记录专家)
- 服务进程:前台接待员(处理用户请求)
有趣现象:这些组件像"先有鸡还是先有蛋"——进程需要内存才能工作,但解释内存时又得提到进程。实际上它们像齿轮组,必须同步运转。
三、Oracle的"进化史"
1. 经典版(单租户架构)
- 6g-11g版本的"标准形态"
- 每个数据库独立运作,像独栋别墅
2. 现代版(多租户架构)
- 12c开始的"公寓楼模式":
- 容器数据库:整栋楼的基础设施
- 可插拔数据库:可随时搬入搬出的公寓单元
- 优势:资源利用率提升50%+,管理像"数据库集装箱化"
3. 扩展形态
- RAC集群:多个数据库实例组成"复仇者联盟"(共享存储,协同工作)
- 分片数据库:数据像乐高积木拆分到不同节点(超大规模数据处理)
四、为什么需要了解架构?
-
故障排查:知道"哪个部件出问题"(比如:
- 性能慢?先查SGA命中率
- 连接失败?检查监听进程
-
性能优化:像调节汽车发动机(该加内存?还是调进程数?)
-
技术选型:
- 传统企业?可能选经典架构
- 云原生场景?多租户是首选
提示:后续章节会带大家"拆解"每个部件,就像生物课解剖青蛙。不过别担心,Oracle可比青蛙结实多了!
------------------作者介绍-----------------------
姓名:黄廷忠
现就职:Oracle中国高级服务团队
曾就职:OceanBase、云和恩墨、东方龙马等
电话、微信、QQ:18081072613
个人博客: (http://www.htz.pw)
CSDN地址: (https://blog.csdn.net/wwwhtzpw)
博客园地址: (https://www.cnblogs.com/www-htz-pw)

浙公网安备 33010602011771号