1.3About the Multitenant Architecture

多租户体系结构允许Oracle数据库充当多租户容器数据库(CDB)。

从Oracle Database 20c开始,多租户容器数据库是唯一受支持的体系结构。在以前的版本中,Oracle支持非容器数据库(non-container databases, non-CDBs)。

CDB包括零个、一个或多个客户创建的可插拔数据库(PDBs)和应用程序容器。PDB是schemas、schema对象和nonschema对象的可移动集合,在Oracle Net客户端中作为单独的数据库出现。

1.3.1About 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 Guideto 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 GuideandOracle Database Administrator’s Guidefor more information about DBCA