读书笔记:Oracle数据库的"身体与灵魂":实例与数据库的深度解析

我们的文章会在微信公众号IT民工的龙马人生博客网站( www.htz.pw )同步更新 ,欢迎关注收藏,也欢迎大家转载,但是请在文章开始地方标注文章出处,谢谢!
由于博客中有大量代码,通过页面浏览效果更佳。

本文为个人学习《Expert Oracle Database Architecture Techniques and Solutions for High Performance and Productivity(第四版本》一书过程中的笔记与理解分享,仅用于学习与交流,部分内容参考原书观点并结合>实际经验进行整理。若涉及版权问题,请联系删除或沟通处理。也请大家支持购买原版书籍。

Oracle数据库的"身体与灵魂":实例与数据库的深度解析

想象一下你去图书馆借书:图书馆建筑和书架上的书是永久存在的(就像数据库),而图书管理员和他们的工作台是临时工作的(就像实例)。这就是Oracle中数据库和实例的本质区别。

一、最容易被搞混的一对概念

数据库就像图书馆的书库:

  • 实实在在存放在硬盘上的文件
  • 包括数据文件、控制文件、日志文件等
  • 断电也不会消失,永久保存

实例则像图书管理员团队:

  • 由内存区域和后台进程组成
  • 是数据库的运行环境
  • 断电就会消失(就像管理员下班回家)

有趣的是,其他数据库厂商对这两个词的定义完全不同,就像英国人说的"football"和美国人的"football"根本不是同一种运动。

二、传统独立数据库:独栋别墅时代

在Oracle 12c之前,所有数据库都是这种"独门独户"的形式:

  1. 完整自包含

    • 系统表空间(存放Oracle自身信息)
    • 用户表空间(存放业务数据)
    • 所有核心功能代码
  2. 工作原理

    • 客户端 → 监听器 → 服务进程 → 处理SQL
    • 就像:访客 → 前台 → 服务员 → 取书
  3. 如何查看

    # 查看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(真正应用集群):

  1. 核心特点

    • 多个实例(ORCL1、ORCL2)共享一个数据库
    • 就像多组图书管理员共用一个书库
    • 任何一组管理员都能服务读者
  2. 关键技术

    • ASM存储管理:智能图书分拣系统
    • SCAN监听器:智能前台,自动分配读者到空闲管理员
    • 节点可扩展:管理员不够?随时招聘新人!
  3. 工作流程
    读者 → 智能前台 → 分配至3号管理员 → 3号管理员去书库取书

四、重要发展趋势

数据库架构正在经历重大变革:

  1. 从独栋到公寓楼

    • 单租户(独栋)→ 多租户(公寓楼,12c开始)
    • 每个租户有自己的"房间"(PDB),共享"大楼基础设施"(CDB)
  2. 从本地到云端

    • 传统RAC → 云原生分片架构
    • 就像从实体图书馆转向电子书平台

学习建议

  • 先理解单租户,再学多租户(先学走再学跑)
  • 新建系统优先考虑多租户(现在建公寓比建别墅更划算)

记住这个核心比喻:数据库是图书馆的书库(身体),实例是图书管理员团队(灵魂)。理解了这一点,你就掌握了Oracle架构的精髓!

------------------作者介绍-----------------------
姓名:黄廷忠
现就职:Oracle中国高级服务团队
曾就职:OceanBase、云和恩墨、东方龙马等
电话、微信、QQ:18081072613
个人博客: (http://www.htz.pw)
CSDN地址: (https://blog.csdn.net/wwwhtzpw)
博客园地址: (https://www.cnblogs.com/www-htz-pw)

posted @ 2025-07-18 14:03  认真就输  阅读(8)  评论(0)    收藏  举报