Oracle 12c 容器講解


 

Oracle 12c一個重要新特性是插接式數據庫。

插接式數據庫由一個使用 CDB(Container Database)選項創建的容器數據庫和一個或多個 PDB(Pluggable Database)組成,CDB 作為容器容納 PDB,而 PDB 彼此隔離,就像一個獨立的數據庫般在 CDB 中存在。PDB 是一組 Schema 的集合,在 CDB 中作為一個獨立的組件容器而存在。從這個意義上說,PDB 也是一種容器(Container), 而 CDB 中可以存在多種不同類型的容器。

CDB 的組成

① ROOT

Root 是一個系統提供的容器,用於存儲公用用戶,公用用戶可以連接到其他容器,可以查看系統級元數據,這個 Root 容器被命名為 CDB$ROOT.

② Seed PDB

種子 PDB 是一個系統級模版,CDB 可以用這個模版創建其他 PDB,種子 PDB 的名稱是 PDB$SEED,其中的對象不能被修改。這其中最為主要的是 SYSTEM 和 SYSAUX 表空間文件,這是一個種子數據庫,已經內置了字典對象,如果使用模板方式建庫,PDB 則由此克隆創建出來。

容器 CDB$ROOT 和 PDB$SEED 對於一個插接式數據庫來說是必須的基本組件,這兩者構成了插接式數據庫的基礎支撐。其關系如下圖所示:

③ PDB

PDB 是用戶基於特定需求建立的對象容器,在創建 CDB 時,可以不同時創建 PDB,PDB 隨后可以根據用戶的需求創立。

 插接式數據庫的主要特性:

 可以通過現有數據庫快速配置和部署新的環境;

通過 unplug 和 plug 可以快速進行數據庫遷移和整合;

集中的部署可以加快升級遷移的過程,縮減維護成本;

方便的整合和拆分方式便於集中部署或在壓力過大時迅速拆分部署;

分離管理員的職責,強化安全管理;

 

在 CDB 的模式下,由於 PDB 具有獨立的 SYSTEM 和 SYSAUX 表空間,其元數據和系統元數據自然分離,用戶數據的字典信息也就無需再記錄到系統的元數據中,這對於核心的元數據是一種更好的隔離和保護,下圖描述了在 CDB、PDB 模式下用戶數據和元數據的分離關系,其中數據字典元數據也就是 Root Container:

 

各個容器都有一個標識(CON_ID),其中CDB實例的ID為0,CDB$ROOT 的ID為1,PDB$SEED的ID為2,pdb從3開始分配。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM