溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

oracle 12c 多租戶體系結(jié)構(gòu)概念

發(fā)布時間:2020-08-10 21:54:56 來源:ITPUB博客 閱讀:167 作者:panpong 欄目:關(guān)系型數(shù)據(jù)庫

oracle 12c 多租戶體系結(jié)構(gòu)概念

1)      容器、 CDB 、 PDB

多租戶體系結(jié)構(gòu)允許 Oracle 數(shù)據(jù)庫作為多租戶容器數(shù)據(jù)庫 (CDB) 運(yùn)行。

CDB 包括零個、一個或多個客戶創(chuàng)建的可插拔數(shù)據(jù)庫 (PDBs) 。 PDB 是模式、模式對象和非模式對象的便攜式集合,在 Oracle Net 客戶端看來,這些對象是 non-cdb Oracle 數(shù)據(jù)庫 12c 之前的所有 Oracle 數(shù)據(jù)庫都是 non-cdbs 數(shù)據(jù)庫。

容器既可以是 PDB 也可以是 root 。 root 容器是 schemas schema objects 和屬于 PDBs non-schema objects 對象的集合;每個 CDB 有如下幾個容器:

l   有且僅有一個 root 容器,即 CDB$ROOT

l   有且僅有一個 seed PDB ,即 PDB$SEED ,它是創(chuàng)建 PDB 的模板。由系統(tǒng)創(chuàng)建并維護(hù),用戶不能增加、修改其中對象;

l   0  或者多個用戶創(chuàng)建的 PDB

Figure 17-1 CDB with Two PDBs

  oracle 12c 多租戶體系結(jié)構(gòu)概念

通過這幅圖來簡單說明一下多租戶容器數(shù)據(jù)庫; oracle 12c 可以創(chuàng)建 CDB 數(shù)據(jù)庫,也可以創(chuàng)建 non-CDB 數(shù)據(jù)庫。 non-CDB 數(shù)據(jù)庫不用多說,即可以像之前的 11g , 10g 數(shù)據(jù)庫一樣使用。 CDB 數(shù)據(jù)庫多了容器的概念,可以理解為 CDB 中的所有數(shù)據(jù)庫都是容器, CDB$ROOT 、 PDB$SEED PDB hrpdb 、 salespdb )都是容器;

l   CDB$ROOT 根容器比較特殊,有且僅有一個,存儲的是整個 CDB 的元數(shù)據(jù)和 common users ,系統(tǒng)包的源代碼;例如,系統(tǒng)性能視圖的定義和數(shù)據(jù)都統(tǒng)一存儲在這個容器中,其他 PDB 通過 metadata link object link 機(jī)制進(jìn)行調(diào)用;

l   PDB$SEED 是系統(tǒng)內(nèi)置創(chuàng)建用戶 PDB 的模板。由系統(tǒng)創(chuàng)建并維護(hù),用戶不能增加、修改其中對象;

l   PDB 則是用戶創(chuàng)建和遷移過來的 non-cdb 數(shù)據(jù)庫,可以由 PDB$SEED 新建,通過其他 PDB 創(chuàng)建,或者從 non-cdb 創(chuàng)建而來;單獨(dú)存儲用戶數(shù)據(jù),可以單獨(dú)啟停,可以單獨(dú)插拔的數(shù)據(jù)庫;

另外, CDB 中數(shù)據(jù)庫管理與之前會有不少的差別,主要體現(xiàn)在數(shù)據(jù)字典、用戶( common 、 local )、角色( common 、 local )、權(quán)限和角色的授予、審計(jì)配置、服務(wù)( service , connect )等等方面。不理解、不熟悉這些差別會對日常運(yùn)維產(chǎn)生不少的困擾;上面簡單介紹了邏輯層的一些概念,下面再看一下物理層的數(shù)據(jù)文件、表空間的差別;

2)      CDB 中的表空間和數(shù)據(jù)文件

Figure 18-8 Architecture of a CDB

oracle 12c 多租戶體系結(jié)構(gòu)概念

         圖中可以看到, CDB 實(shí)例可管理多個容器,每個容器( PDB 、 CDB$ROOT )都有自己的 system sysaux 、 temp 等表空間; undo 表空間和 online redo log 通過 CDB$ROOT 統(tǒng)一管理;每個 PDB 有各自用戶表空間;所有容器的表空間對應(yīng)的數(shù)據(jù)文件,臨時文件分別獨(dú)立存放和管理;控制文件和參數(shù)文件有 CDB 實(shí)例管理;


3)       CDB 的優(yōu)點(diǎn)

? 降低成本

通過將硬件和數(shù)據(jù)庫基礎(chǔ)設(shè)施整合到一組后臺進(jìn)程,并有效地共享計(jì)算和內(nèi)存資源,可以降低硬件和維護(hù)成本。

  oracle 12c 多租戶體系結(jié)構(gòu)概念 == oracle 12c 多租戶體系結(jié)構(gòu)概念

? 更容易、更快速地移動數(shù)據(jù)和代碼

根據(jù)設(shè)計(jì),可以將 PDB 插入 CDB ,將 PDB CDB 中拔出來,然后將這個 PDB 插入另一個 CDB 。因此,您可以輕松地將應(yīng)用程序的數(shù)據(jù)庫后端從一臺服務(wù)器移動到另一臺服務(wù)器。

? 更容易管理和監(jiān)控物理數(shù)據(jù)庫

CDB 管理員可以通過對用戶和 CDB root 執(zhí)行單個操作 ( 例如打補(bǔ)丁或者執(zhí)行 RMAN 備份 ) ,將環(huán)境作為一個集合來管理。

? 數(shù)據(jù)和代碼的分離

盡管被整合成一個單一的實(shí)體 CDB ,但 PDBs 模仿了傳統(tǒng)非 cdbs 的行為。例如, PDB 管理員可以在 PDB 上下文中刷新共享池或緩沖區(qū)緩存,而不會影響 CDB 中的其他 PDBs 。

? 易于性能調(diào)優(yōu)

與多個非 cdbs 相比, CDB 更容易收集性能指標(biāo)。確定一個 SGA 的大小比確定幾個 SGA 的大小更容易。

? 支持 Oracle 數(shù)據(jù)庫資源管理器

在任何共享資源環(huán)境中,管理員必須管理系統(tǒng)資源,以便為用戶提供可預(yù)測的環(huán)境,并處理意外或短暫的資源爭用。要解決這些問題并提供資源使用監(jiān)視,您可以使用 Oracle 數(shù)據(jù)庫資源管理器。

? 減少補(bǔ)丁和升級

將一個補(bǔ)丁應(yīng)用于一個 CDB 比應(yīng)用于多個非 cdbs 要容易,升級一個 CDB 比升級多個非 cdbs 要容易。

當(dāng)您在多個 Oracle 數(shù)據(jù)庫安裝的不同硬件上部署了許多非 cdbs 時,多租戶環(huán)境尤其有用。這些非 cdbs 可能只使用硬件資源的一小部分,而且每個都可能不需要全職數(shù)據(jù)庫管理員來管理。

通過將這些非 cdbs 組合到 CDB 中,可以更好地利用硬件資源和數(shù)據(jù)庫管理員資源。此外,您可以將 PDB 從一個 CDB 移動到另一個 CDB ,而不需要更改依賴于 PDB 的應(yīng)用程序。




向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI