多租户体系结构允许 Oracle 数据库充当多租户容器数据库 (CDB) 。
从 Oracle Database 20c 开始,多租户容器数据库是唯一受支持的体系结构。 在以前的版本中, Oracle 支持非容器数据库 (non-container databases, non-CDBs) 。
CDB 包括零个、一个或多个客户创建的可插拔数据库 (PDBs) 和应用程序容器。 PDB 是 schemas 、 schema 对象和 nonschema 对象的可移动集合,在 Oracle Net 客户端中作为单独的数据库出现。
容器是多租户体系结构中数据或元数据的逻辑集合。
下图表示 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 。
您可以对 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 |
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。