读书笔记:Oracle数据库的"身体与灵魂":实例与数据库的深度解析
我们的文章会在微信公众号IT民工的龙马人生和博客网站( www.htz.pw )同步更新 ,欢迎关注收藏,也欢迎大家转载,但是请在文章开始地方标注文章出处,谢谢!
由于博客中有大量代码,通过页面浏览效果更佳。
本文为个人学习《Expert Oracle Database Architecture Techniques and Solutions for High Performance and Productivity(第四版本》一书过程中的笔记与理解分享,仅用于学习与交流,部分内容参考原书观点并结合>实际经验进行整理。若涉及版权问题,请联系删除或沟通处理。也请大家支持购买原版书籍。
Oracle数据库的"身体与灵魂":实例与数据库的深度解析
想象一下你去图书馆借书:图书馆建筑和书架上的书是永久存在的(就像数据库),而图书管理员和他们的工作台是临时工作的(就像实例)。这就是Oracle中数据库和实例的本质区别。
一、最容易被搞混的一对概念
数据库就像图书馆的书库:
- 实实在在存放在硬盘上的文件
- 包括数据文件、控制文件、日志文件等
- 断电也不会消失,永久保存
实例则像图书管理员团队:
- 由内存区域和后台进程组成
- 是数据库的运行环境
- 断电就会消失(就像管理员下班回家)
有趣的是,其他数据库厂商对这两个词的定义完全不同,就像英国人说的"football"和美国人的"football"根本不是同一种运动。
二、传统独立数据库:独栋别墅时代
在Oracle 12c之前,所有数据库都是这种"独门独户"的形式:
-
完整自包含:
- 系统表空间(存放Oracle自身信息)
- 用户表空间(存放业务数据)
- 所有核心功能代码
-
工作原理:
- 客户端 → 监听器 → 服务进程 → 处理SQL
- 就像:访客 → 前台 → 服务员 → 取书
-
如何查看:
# 查看Oracle使用的内存(管理员工作台大小) $ ipcs ------ Shared Memory Segments -------- 0x00000000 42 oracle 600 8908800 104 # 这就是SGA共享内存区 # 查看后台进程(图书管理员团队) $ ps -ef | grep smon oracle 7969 1 0 22:43 ? 00:00:00 ora_smon_ORCL # 系统监控进程 # 查看数据文件(书架位置) SQL> select name from v$datafile; /opt/oracle/oradata/ORCL/ORCL/datafile/o1_mf_system_j480tkhg_.dbf
虽然Oracle 21c开始不再支持这种形式,但仍有大量老系统在使用,就像现在还有人住独栋别墅一样。
三、集群数据库(RAC):连体双胞胎模式
当单栋别墅不够住时,Oracle提供了"联排别墅"方案——RAC(真正应用集群):
-
核心特点:
- 多个实例(ORCL1、ORCL2)共享一个数据库
- 就像多组图书管理员共用一个书库
- 任何一组管理员都能服务读者
-
关键技术:
- ASM存储管理:智能图书分拣系统
- SCAN监听器:智能前台,自动分配读者到空闲管理员
- 节点可扩展:管理员不够?随时招聘新人!
-
工作流程:
读者 → 智能前台 → 分配至3号管理员 → 3号管理员去书库取书
四、重要发展趋势
数据库架构正在经历重大变革:
-
从独栋到公寓楼:
- 单租户(独栋)→ 多租户(公寓楼,12c开始)
- 每个租户有自己的"房间"(PDB),共享"大楼基础设施"(CDB)
-
从本地到云端:
- 传统RAC → 云原生分片架构
- 就像从实体图书馆转向电子书平台
学习建议:
- 先理解单租户,再学多租户(先学走再学跑)
- 新建系统优先考虑多租户(现在建公寓比建别墅更划算)
记住这个核心比喻:数据库是图书馆的书库(身体),实例是图书管理员团队(灵魂)。理解了这一点,你就掌握了Oracle架构的精髓!
------------------作者介绍-----------------------
姓名:黄廷忠
现就职:Oracle中国高级服务团队
曾就职:OceanBase、云和恩墨、东方龙马等
电话、微信、QQ:18081072613
个人博客: (http://www.htz.pw)
CSDN地址: (https://blog.csdn.net/wwwhtzpw)
博客园地址: (https://www.cnblogs.com/www-htz-pw)

浙公网安备 33010602011771号