1.3
About the Multitenant Architecture
多租户体系结构允许
Oracle
数据库充当多租户容器数据库
(CDB)
。
从
Oracle Database 20c
开始,多租户容器数据库是唯一受支持的体系结构。
在以前的版本中,
Oracle
支持非容器数据库
(non-container databases, non-CDBs)
。
CDB
包括零个、一个或多个客户创建的可插拔数据库
(PDBs)
和应用程序容器。
PDB
是
schemas
、
schema
对象和
nonschema
对象的可移动集合,在
Oracle Net
客户端中作为单独的数据库出现。
1.3.1
About Containers in a CDB
容器是多租户体系结构中数据或元数据的逻辑集合。
下图表示
CDB
中容器结构。
·
图
1-6 CDB
中的容器

每个
CDB
都有以下容器
:
l
只有一个
CDB root
容器
(
也称为
root)
CDB root
是所有
pdb
共用的
schemas
、
schema
对象和
nonschema
对象的集合
(
请参阅
“CDB
中容器的概述
”)
。
root
存储
oracle
提供的元数据和公共用户。
元数据的一个例子是
oracle
提供的
PL/SQL
包的源代码
(
参见
“CDB
中的数据字典体系结构
”)
。
公共用户是每个容器共享的数据库用户
(
参见
“CDB
中的公共用户
”)
。
root
容器名为
CDB$ root
。
l
只有一个
system
容器
system
容器包括
root CDB
和
CDB
中的所有
pdb
。
因此,
system
容器是
CDB
本身的逻辑容器。
l
零或多个应用程序容器
一个应用程序容器只包含一个应用程序
root
和
插入到这个
root
的
PDBs
。
system
容器包含
CDB root
和
CDB
中的所有
pdb
,而应用程序容器只包含插入到应用程序
root
的
pdb
。
应用程序
root
属于
CDB root
,不属于其他容器。
l
零或多个用户创建的
pdb
PDB
包含特定功能集所需的数据和代码
(
参见
“PDBs”)
。
例如,
PDB
可以支持特定的应用程序,比如人力资源或销售应用程序。
在创建
CDB
时不存在
pdb
。
您可以根据业务需求添加
pdb
。
一个
PDB
只属于零个或一个应用程序容器。
如果一个
PDB
属于一个应用程序容器,那么它就是一个应用程序
PDB
。
例如,
cust1_pdb
和
cust2_pdb
应用程序
PDBs
可能属于
saas_sales_ac
应用程序容器,在这种情况下,它们不属于其他应用程序容器。
应用程序
seed
是一个可选的应用程序
PDB
,它充当用户创建的
PDB
模板,使您能够快速创建新的应用程序
PDBs
。
l
只有一个种子
PDB
seed PDB
是一个系统提供的模板,
CDB
可以使用它来创建新的
PDB
。
种子
PDB
被命名为
PDB$ seed
。
不能在
PDB$SEED
中添加或修改对象。
例
1-1
没有应用程序容器的
CDB
这个例子展示了一个包含
5
个容器的
CDB:root
容器
(
整个
CDB)
、
CDB root
、
PDB seed(PDB$ seed)
和两个
PDB
。
每个
PDB
都有自己的专用应用程序。
不同的
PDB
管理员管理每个
PDB
。
一个公共用户在整个
CDB
内共享。
在本例中,公共用户
SYS
可以管理
root
和每个
PDB
。
在物理级别,这个
CDB
由一个或多个数据库实例管理,并包含每个
PDB
和
CDB
本身的一组数据文件。
·
图
1-7
没有应用程序容器的
CDB

·
例
1-2
包含一个应用程序容器的
CDB
CDB
包含一个名为
saas_sales_ac
的应用程序容器。
在应用程序容器中,应用程序
PDB cust1_pdb
为一个客户支持一个应用程序,而应用程序
PDB cust2_pdb
为另一个客户支持一个应用程序。
CDB
还包含一个名为
hrpdb
的
PDB
,它支持
HR
应用程序,但不属于应用程序容器。
·
图
1-8
带有应用程序容器的
CDB

在本例中,多个
dba
管理
CDB
环境
:
l
CDB
管理员管理
CDB
本身。
l
应用程序容器管理员管理
saas_sales_ac
容器,包括应用程序安装和升级。
l
应用程序
PDB
管理员管理
saas_sales_ac
容器中的两个
PDB: cust1_pdb
和
cust2_pdb
。
l
PDB
管理员管理
hrpdb
。
1.3.2
多租户体系结构的用户接口
您可以对
CDBs
、
PDBs
和应用程序容器使用相同的管理工具集。
·
表
1-1
多租户环境中的工具
Interface |
Description |
See Also |
SQL*Plus and SQL Developer for command-line access |
SQL*Plus
是一个与
Oracle
数据库一起安装的交互式批处理查询工具 |
SQL*Plus User's Guide and Reference |
Oracle Enterprise Manager Cloud Control (Cloud Control) |
Cloud Control
是一个提供图形用户界面
(GUI)
的
Oracle
数据库管理工具。
Cloud Control
支持
PDBs
和
CDBs
等。 |
The Cloud Control online help |
Oracle Enterprise Manager Database Express (EM Express) |
EM Express
是一个内置在
Oracle
数据库中的基于
web
的管理产品。
EM Express
使您能够提供和管理
PDBs
,包括以下操作
: |
Oracle Database Performance Tuning Guide to learn more about using EM Express for managing CDBs and PDBs |
创建和删除
PDBs |
插入和拔出
PDBs |
克隆
PDBs |
为
PDBs
设置资源限制 |
Oracle Database Configuration Assistant (DBCA) |
DBCA
是一个具有图形用户界面的程序,可以创建和复制
CDBs
。还可以创建、重新定位、克隆、插入和拔出
PDBs
。 |
Oracle Database Performance Tuning Guide
and
Oracle Database Administrator’s Guide
for more information about DBCA |