
多租户中术语介绍

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多租户特性
