您好,登錄后才能下訂單哦!
多租戶體系結構允許 Oracle 數據庫作為多租戶容器數據庫 (CDB) 運行。
CDB 包括零個、一個或多個客戶創建的可插拔數據庫 (PDBs) 。 PDB 是模式、模式對象和非模式對象的便攜式集合,在 Oracle Net 客戶端看來,這些對象是 non-cdb 。 Oracle 數據庫 12c 之前的所有 Oracle 數據庫都是 non-cdbs 數據庫。
容器既可以是 PDB 也可以是 root 。 root 容器是 schemas , schema objects 和屬于 PDBs 的 non-schema objects 對象的集合;每個 CDB 有如下幾個容器:
l 有且僅有一個 root 容器,即 CDB$ROOT
l 有且僅有一個 seed PDB ,即 PDB$SEED ,它是創建 PDB 的模板。由系統創建并維護,用戶不能增加、修改其中對象;
l 0 或者多個用戶創建的 PDB
Figure 17-1 CDB with Two PDBs
通過這幅圖來簡單說明一下多租戶容器數據庫; oracle 12c 可以創建 CDB 數據庫,也可以創建 non-CDB 數據庫。 non-CDB 數據庫不用多說,即可以像之前的 11g , 10g 數據庫一樣使用。 CDB 數據庫多了容器的概念,可以理解為 CDB 中的所有數據庫都是容器, CDB$ROOT 、 PDB$SEED 、 PDB ( hrpdb 、 salespdb )都是容器;
l CDB$ROOT 根容器比較特殊,有且僅有一個,存儲的是整個 CDB 的元數據和 common users ,系統包的源代碼;例如,系統性能視圖的定義和數據都統一存儲在這個容器中,其他 PDB 通過 metadata link 和 object link 機制進行調用;
l PDB$SEED 是系統內置創建用戶 PDB 的模板。由系統創建并維護,用戶不能增加、修改其中對象;
l PDB 則是用戶創建和遷移過來的 non-cdb 數據庫,可以由 PDB$SEED 新建,通過其他 PDB 創建,或者從 non-cdb 創建而來;單獨存儲用戶數據,可以單獨啟停,可以單獨插拔的數據庫;
另外, CDB 中數據庫管理與之前會有不少的差別,主要體現在數據字典、用戶( common 、 local )、角色( common 、 local )、權限和角色的授予、審計配置、服務( service , connect )等等方面。不理解、不熟悉這些差別會對日常運維產生不少的困擾;上面簡單介紹了邏輯層的一些概念,下面再看一下物理層的數據文件、表空間的差別;
Figure 18-8 Architecture of a CDB
圖中可以看到, CDB 實例可管理多個容器,每個容器( PDB 、 CDB$ROOT )都有自己的 system 、 sysaux 、 temp 等表空間; undo 表空間和 online redo log 通過 CDB$ROOT 統一管理;每個 PDB 有各自用戶表空間;所有容器的表空間對應的數據文件,臨時文件分別獨立存放和管理;控制文件和參數文件有 CDB 實例管理;
? 降低成本
通過將硬件和數據庫基礎設施整合到一組后臺進程,并有效地共享計算和內存資源,可以降低硬件和維護成本。
== 》
? 更容易、更快速地移動數據和代碼
根據設計,可以將 PDB 插入 CDB ,將 PDB 從 CDB 中拔出來,然后將這個 PDB 插入另一個 CDB 。因此,您可以輕松地將應用程序的數據庫后端從一臺服務器移動到另一臺服務器。
? 更容易管理和監控物理數據庫
CDB 管理員可以通過對用戶和 CDB root 執行單個操作 ( 例如打補丁或者執行 RMAN 備份 ) ,將環境作為一個集合來管理。
? 數據和代碼的分離
盡管被整合成一個單一的實體 CDB ,但 PDBs 模仿了傳統非 cdbs 的行為。例如, PDB 管理員可以在 PDB 上下文中刷新共享池或緩沖區緩存,而不會影響 CDB 中的其他 PDBs 。
? 易于性能調優
與多個非 cdbs 相比, CDB 更容易收集性能指標。確定一個 SGA 的大小比確定幾個 SGA 的大小更容易。
? 支持 Oracle 數據庫資源管理器
在任何共享資源環境中,管理員必須管理系統資源,以便為用戶提供可預測的環境,并處理意外或短暫的資源爭用。要解決這些問題并提供資源使用監視,您可以使用 Oracle 數據庫資源管理器。
? 減少補丁和升級
將一個補丁應用于一個 CDB 比應用于多個非 cdbs 要容易,升級一個 CDB 比升級多個非 cdbs 要容易。
當您在多個 Oracle 數據庫安裝的不同硬件上部署了許多非 cdbs 時,多租戶環境尤其有用。這些非 cdbs 可能只使用硬件資源的一小部分,而且每個都可能不需要全職數據庫管理員來管理。
通過將這些非 cdbs 組合到 CDB 中,可以更好地利用硬件資源和數據庫管理員資源。此外,您可以將 PDB 從一個 CDB 移動到另一個 CDB ,而不需要更改依賴于 PDB 的應用程序。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。