Oracle 18c新特性:多租戶艦隊 CDB Fleet (含PPT)
在 Oracle 18c 中,多租戶的一個新特性 CDB Fleet 被引入進來,我們可以把這個特性稱為: 多租戶艦隊 。
我們知道,在 Oracle 12.2 中,每個多租戶可以最多支援 4096 個 PDB,這是從12.1 的 252個 PDB 支援升級而來的,主要特性如下圖所示:
Oracle Database 18c 引入了CDB Fleet功能,可以幫助我們 將多個 CDB 的 PDB 聚合管理,彷彿是一個邏輯的 CDB 一樣 。
CDB Fleet旨在提供更高的可擴充套件性和為多CDB的集中管理提供底層基礎架構, 主要的特性如下:
● 單個 CDB 中的最大PDB數是4096個,CDB艦隊則可以邏輯上容納超過4096個PDB。
● 單個配置中的不同PDB需要不同的服務型別才能以最佳方式執行,例如,一些PDB可能用於處理大的事務負載,而其他PDB主要用於監控。 通常需要區別配置適用於這些PDB的伺服器資源,例如CPU,記憶體,I / O速率和儲存系統。
● 每個CDB都可以使用所有常用的資料庫功能來實現 CDB 中 PDB 的高可用性,可伸縮性和恢復,例如Real Application Clusters(RAC),Data Guard,RMAN,PITR和Flashback。
● PDB名稱在艦隊中的所有CDB中必須是唯一的。 PDB可以在艦隊中的任何CDB中建立,但只能在物理存在的CDB中開啟。
CDB艦隊包含兩個角色: CDB領隊(CDB Lead) 和 CDB成員(CDB Member) 。來自各個CDB的PDB資訊與CDB Lead同步。
配置 CDB Lead 需要從CDB root 開始,CDB Lead 能夠:
● 監控艦隊中所有CDB的所有PDB;
● 通過跨容器查詢報告資訊,並從艦隊中所有CDB的所有PDB收集診斷資訊
● 從 Fleet 中所有CDB的所有PDB查詢Oracle物件
要配置CDB艦隊,需要首先定義 Lead 然後定義 Member:
● 要將CDB定義為CDB Fleet 中的CDB Lead,需要從CDB root將LEAD_CDB資料庫屬性設定為TRUE。
● 在CDB Lead的CDB root 中,使用一個 common 使用者並授予適當的許可權。
● 假定網路已配置正常,當前CDB可以使用DB Link中定義的連線描述符連線到CDB Lead,以下步驟將其他CDB定義為CDB Fleet的成員:
● 連線到另一個 CDB 的 CDB Root;
● 使用與 CDB Lead 中使用的常規使用者相同的常規使用者,因為我們必須使用固定使用者建立公共資料庫連結;
● 將LEAD_CDB_URI資料庫屬性設定為指向CDB Lead 的資料庫連結的名稱;
● CDB艦隊中的CDB Lead可以監控CDB Fleet中CDB的PDB。你可以在一個容器中安裝監視應用程式,並使用CDB檢視和GV $檢視來監視和處理整個CDB Fleet 的診斷資料。在 CDB Lead 中發出的跨容器查詢可以通過Oracle提供的物件在CDB Fleet 中的所有PDB中自動執行。
● 在CDB Fleet中的不同PDB(或應用程式PDB)中使用Oracle提供的甚至是通用應用程式模式物件,您可以使用CONTAINERS子句或CONTAINER_MAP在Fleet中的多個CDB的所有PDB上執行查詢。這使得來自Fleet中不同CDB中的PDB的資料聚合成為可能。應用程式可以安裝在 Application root 中,並且 Fleet 中的每個CDB都可以具有 Application root 克隆,以啟用跨CDB的通用應用程式架構。
● CDB Lead 可以作為一箇中心位置,您可以在其中檢視有關多個CDB的所有PDB的資訊和狀態。
原文釋出時間為:2018-10-30
本文作者:蓋國強