ITPub博客

首页 > 数据库 > Oracle > Oracle 20C 多租户_体系结构介绍

Oracle 20C 多租户_体系结构介绍

翻译 Oracle 作者:orastar 时间:2020-04-22 12:37:18 0 删除 编辑

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

 


来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/31442014/viewspace-2687610/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论
作者简介:惠星星,现就职于云和恩墨,持有OCP 10g、OCP 11g、OCM 11g证书,并有长达8年电力行业业务维护、数据库维护服务经验,擅长Oracle数据库性能优化、故障处理及Oracle internal研究。

注册时间:2017-03-08

  • 博文量
    171
  • 访问量
    429776