Oracle 19c 多租户体系架构介绍

多租户中术语介绍

Oracle从12c开始推出了多租户CDB架构,到19c,26ai仍然保留了该架构。

2013年12.1推出了CDB架构,同时也支持NON-CDB(非多租户架构),19c是最后一个支持NON-CDB的架构。

传统架构vs多租户架构

传统架构中一套应用系统上线需要对应一套基础环境包括数据库和中间件等,每个数据库都需要DBA来管理,当然一个DBA也可以管理多个库。多租户架构中一个CDB中可以有多个PDB,多个应用系统的数据库可以合理的整合到PDB中,DBA把一个CDB当作一个数据库数据库来管理,这样可以提高运行效率,节约成本。

多租户数据库(CDB)的组件

19c多租户包括以下组件:

  • 根容器-CDB$ROOT
  • 种子库-PDB$SEED
  • 应用容器
    应用种子库
    应用PDB
  • PDBS

19c多租户架构-CDB无应用容器

  • 每个PDB对应一套应用系统
  • 不同的PDB管理员管理每个PDB
  • 从物理层来说,CDB与NON-CDB一样有一个实例和一组数据库文件

    19c多租户架构-CDB有应用容器
  • CDB管理员对CDB本身进行管理
  • 应用容器管理员管理应用容器,包括应用程序安装和升级
  • 每个PDB管理PDB自身

19c多租户架构-根容器-CDB$ROOT

  • 在创建CDB时创建的第一个容器
    -自动创建了这些表空间:SYSTEM,SYSAUX,TEMP,UNDO
  • CDB架构中必须包括该容器
  • Oracle系统提供的公共对象和元数据库
  • Oracle系统提供的公共用户和角色
  • 该容器不存储应用程序的业务数据

19c多租户架构-种子库-PDB$SEED

  • Seed(PDBSEED):seed容器,名称PDBSEED):seed容器,名称PDBSEED):seed容器,名称PDBSEED
  • 创建PDB的模板
  • 在所有CDB中都创建

19c多租户架构-应用容器-Application Container

是一个可选的多租户容器组件

  • 为应用程序存储数据和元数据
  • 一个CDB包含零个或多个应用程序容器
  • 应用程序根存储所有应用程序pdb可以共享的元数据和数据
sql 复制代码
SQL >CREATE
   PLUGGABLE DATABASE statement with the AS APPLICATIONCONTAINER clause

19c多租户架构-PDB

应用程序的容器

  • 表空间
  • 方案/对象/权限
  • 种子库是特定的PDB

19c多租户逻辑架构

多租户架构中如何区分容器

12c-19c多租户特性

相关推荐
这个DBA有点耶12 小时前
从症状到根因:数据库监控指标的分层方法与静态/动态阈值策略
数据库·mysql·代码规范
SelectDB13 小时前
时间旅行与快照能力速查:Doris 侧三条落地路径
大数据·数据库·数据分析
SelectDB13 小时前
云数仓成本结构拆解速查:五层计费 vs Doris / 托管形态
大数据·数据库·数据分析
SelectDB13 小时前
什么场景能承接与建议保留:Doris vs Snowflake 边界速查
大数据·数据库·数据分析
孟健13 小时前
LLM API 安全防线:从 OpenCode 盗刷事件到 LiteLLM 多模型容灾实操
人工智能·后端·架构
smallyoung14 小时前
告别N+1:Spring Boot 一键数据翻译框架体系
java·后端·架构
这个DBA有点耶15 小时前
DELETE没删多少数据,表却越来越大——InnoDB删除空洞与页合并失效的根因
数据库·mysql·代码规范
第404号工位16 小时前
40块钱二手瘦客户端,如何跑满家庭物联网中枢?(拒绝Docker爆盘实录)
linux·架构·node.js
Thneonl16 小时前
你写的 NetworkPolicy 可能一条都没生效
后端·架构