多租戶體系結構允許 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進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。