成都創(chuàng)新互聯(lián)是一家集成都做網(wǎng)站、成都網(wǎng)站設(shè)計、網(wǎng)站頁面設(shè)計、網(wǎng)站優(yōu)化SEO優(yōu)化為一體的專業(yè)網(wǎng)站設(shè)計公司,已為成都等多地近百家企業(yè)提供網(wǎng)站建設(shè)服務(wù)。追求良好的瀏覽體驗,以探求精品塑造與理念升華,設(shè)計最適合用戶的網(wǎng)站頁面。 合作只是第一步,服務(wù)才是根本,我們始終堅持講誠信,負責(zé)任的原則,為您進行細心、貼心、認真的服務(wù),與眾多客戶在蓬勃發(fā)展的市場環(huán)境中,互促共生。
多租戶體系結(jié)構(gòu)允許 Oracle 數(shù)據(jù)庫作為多租戶容器數(shù)據(jù)庫 (CDB) 運行。
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)建并維護,用戶不能增加、修改其中對象;
l 0 或者多個用戶創(chuàng)建的 PDB
Figure 17-1 CDB with Two PDBs
通過這幅圖來簡單說明一下多租戶容器數(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 機制進行調(diào)用;
l PDB$SEED 是系統(tǒng)內(nèi)置創(chuàng)建用戶 PDB 的模板。由系統(tǒng)創(chuàng)建并維護,用戶不能增加、修改其中對象;
l PDB 則是用戶創(chuàng)建和遷移過來的 non-cdb 數(shù)據(jù)庫,可以由 PDB$SEED 新建,通過其他 PDB 創(chuàng)建,或者從 non-cdb 創(chuàng)建而來;單獨存儲用戶數(shù)據(jù),可以單獨啟停,可以單獨插拔的數(shù)據(jù)庫;
另外, CDB 中數(shù)據(jù)庫管理與之前會有不少的差別,主要體現(xiàn)在數(shù)據(jù)字典、用戶( common 、 local )、角色( common 、 local )、權(quán)限和角色的授予、審計配置、服務(wù)( service , connect )等等方面。不理解、不熟悉這些差別會對日常運維產(chǎn)生不少的困擾;上面簡單介紹了邏輯層的一些概念,下面再看一下物理層的數(shù)據(jù)文件、表空間的差別;
Figure 18-8 Architecture of a CDB
圖中可以看到, CDB 實例可管理多個容器,每個容器( PDB 、 CDB$ROOT )都有自己的 system 、 sysaux 、 temp 等表空間; undo 表空間和 online redo log 通過 CDB$ROOT 統(tǒng)一管理;每個 PDB 有各自用戶表空間;所有容器的表空間對應(yīng)的數(shù)據(jù)文件,臨時文件分別獨立存放和管理;控制文件和參數(shù)文件有 CDB 實例管理;
? 降低成本
通過將硬件和數(shù)據(jù)庫基礎(chǔ)設(shè)施整合到一組后臺進程,并有效地共享計算和內(nèi)存資源,可以降低硬件和維護成本。
== 》
? 更容易、更快速地移動數(shù)據(jù)和代碼
根據(jù)設(shè)計,可以將 PDB 插入 CDB ,將 PDB 從 CDB 中拔出來,然后將這個 PDB 插入另一個 CDB 。因此,您可以輕松地將應(yīng)用程序的數(shù)據(jù)庫后端從一臺服務(wù)器移動到另一臺服務(wù)器。
? 更容易管理和監(jiān)控物理數(shù)據(jù)庫
CDB 管理員可以通過對用戶和 CDB root 執(zhí)行單個操作 ( 例如打補丁或者執(zhí)行 RMAN 備份 ) ,將環(huán)境作為一個集合來管理。
? 數(shù)據(jù)和代碼的分離
盡管被整合成一個單一的實體 CDB ,但 PDBs 模仿了傳統(tǒng)非 cdbs 的行為。例如, PDB 管理員可以在 PDB 上下文中刷新共享池或緩沖區(qū)緩存,而不會影響 CDB 中的其他 PDBs 。
? 易于性能調(diào)優(yōu)
與多個非 cdbs 相比, CDB 更容易收集性能指標。確定一個 SGA 的大小比確定幾個 SGA 的大小更容易。
? 支持 Oracle 數(shù)據(jù)庫資源管理器
在任何共享資源環(huán)境中,管理員必須管理系統(tǒng)資源,以便為用戶提供可預(yù)測的環(huán)境,并處理意外或短暫的資源爭用。要解決這些問題并提供資源使用監(jiān)視,您可以使用 Oracle 數(shù)據(jù)庫資源管理器。
? 減少補丁和升級
將一個補丁應(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)用程序。