Oracle:容器資料庫簡介
Oracle 12C 引入了 CDB 與 PDB 的新特性,在 ORACLE 12C 資料庫引入的多租使用者環境(Multitenant Environment)中,允許一個資料庫容器(CDB)承載多個可插拔資料庫(PDB)。CDB 全稱為 Container Database,中文翻譯為資料庫容器,PDB 全稱為 Pluggable Database,即可插拔資料庫。在 ORACLE 12C 之前,例項與資料庫是一對一或多對一關係(RAC):即一個例項只能與一個資料庫相關聯,資料庫可以被多個例項所載入。而例項與資料庫不可能是一對多的關係。當進入 ORACLE 12C 後,例項與資料庫可以是一對多的關係。下面是官方文件關於CDB與PDB的關係圖。
CDB 元件(Components of a CDB)
一個 CDB 資料庫容器包含了下面一些元件:
-
ROOT 元件
ROOT 又叫 CDB$ROOT,儲存著 ORACLE 提供的後設資料和 Common User,後設資料的一個例子是 ORACLE 提供的 PL/SQL 包的原始碼,Common User 是指在每個容器中都存在的使用者。 -
SEED 元件
SEED 又叫 PDB$SEED,這個是你建立 PDBS 資料庫的模板,你不能在 SEED 中新增或修改一個物件。一個 CDB 中有且只能有一個 SEED。 -
PDBS
CDB 中可以有一個或多個 PDBS,PDBS 向後相容,可以像以前在資料庫中那樣操作 PDBS,這裡指大多數常規操作。
這些元件中的每一個都可以被稱為一個容器。因此,ROOT(根)是一個容器,Seed(種子)是一個容器,每個 PDB 是一個容器。每個容器在 CDB 中都有一個獨一無二的的 ID和名稱。
注意:
-
一個 CDB 可以包含 253 個 PDB(去掉一個是 seed 還能建立 252 個 PDB)。
-
檔案
-
資料檔案:ROOT,SEED 以及每一個 PDB 的資料檔案是獨立的。
-
REDO:一個單例項的 CDB 有一個 redo log;RAC 環境中每個例項有一個 redo log。
-
control file: 一個 CDB 也僅有一個控制檔案(可以多路複用)。
-
引數檔案:一個 CDB 使用一個 SPFILE 或者一個 PFILE,其中為 ROOT 設定的引數的值可以被 PDB 繼承。另外,也可以使用 ALTER SYSTEM 語句來設定 PDB 的引數。對引數檔案執行操作時,必須使用 common user 並且使用 AS SYSDBA、ASSYSOPER、AS SYSBACKUP來連線資料庫。要建立 CDB,必須要將初始化引數 ENABLE_PLUGGABLE_DATABASE 的值設定為 TRUE。
-
程式:只有一組後臺程式,它們被 ROOT 和所有 PDB 共享。
-
資料庫設定
-
字符集:所有 PDB 的字符集都使用 CDB 的字符集。
-
時區:可以設定所有 PDB 的時區與 CDB 相同,也可以單獨為 PDB 設定時區。
-
db_size:塊大小被應用於整個 CDB。
-
db_name:ROOT 的全域性資料庫名就是 CDB 的全域性資料庫名;PDB 的全域性資料庫名是由 PDB name 和 DB_DOMAIN 引數共同定義的。
-
表空間:
-
ROOT 與每一個 PDB 都有自己的 SYSAUX 表空間和 SYSTEM 表空間。可以為 ROOT 和每一個 PDB 設定預設表空間。而預設的臨時表空間對於整個 CDB 只有一個,但是可以為每個 PDB 建立臨時表空間。
-
UNDO 表空間對於 CDB 是唯一的。在 CDB 中,初始化引數UNDO_MANAGEMENT 必須被設定為 AUTO。當前容器為 PDB 時,無法透過資料字典檢視檢視 UNDO 表空間,只能透過動態效能檢視。
PDB 簡介
PDB新特點的優勢
-
可以把多個 PDB 整合進一個平臺。
-
可以快速提供一個新的 PDB 或一個已有 PDB 的克隆。
-
透過拔插技術,可以快速把存在的資料庫重新部署到一個新平臺上。
-
多個 PDB 資料庫補丁或升級一次完成。
-
透過把單個 PDB 拔插到較高版本的不同 CDB,可以補丁或升級一個PDB。
-
從同一個 CDB 中眾多 PDB 中分離出某個 PDB 的內容。
-
分離這些 PDB 應用管理員的責任。
PDB新特點的功能
-
在一個 CDB 中,你可以擁有很多 PDB。
-
PDB 和 12.1 之前版本的普通資料庫是向後相容的。
-
PDB 對應用是透明的——你不需要改變客戶端程式碼或資料庫物件。
-
RAC 中每個例項作為一個整體開啟 CDB(因此 CDB 和其中的 PDB 資料庫版本都是相同的)。
-
會話僅僅看到它自己連線的那個 PDB。
-
你可以從一個 CDB 拔出一個 PDB,然後插入另一個 CDB。
-
你可以在同一個 CDB 或不同 CDB 間克隆 PDB。
-
資源管理器隨著 PDB 的功能得以擴充套件。
-
透過 SQL 語句實現了實體 PDB 的操作(建立,拔出,插入,克隆,清除,設定開啟模式)。
-
當連線到所謂的“根”(ROOT)時,CDB 管理員來執行這些操作。
-
所有的 PDB 能被一次備份,但可以分別單獨恢復。
PDB的詳解
-
每個 PDB 有自己的私有資料字典用於使用者建立的資料庫物件;另一方面,CDB 作為一個整體也包含 Oracle 提供系統的資料字典,其中,每個資料字典定義自己的名稱空間。換句話說,有全域性資料字典(CDB級)和本地資料字典(PDB級)。
-
有新的分開的資料字典架構,該架構允許一個 PDB 被快速從一個 CDB 拔出並插入一個不同的 CDB。
-
每個 PDB 只能看到 Oracle 提供系統的只讀定義。
-
有全域性資料庫引數,也有本地資料庫引數。PDB 引數僅僅屬於特定的 PDB,並且拔出後,PDB 引數也將保持不變。
-
資料庫使用者可以是全域性的(CDB)或本地的(PDB)。SYS 和 SYSTEM 使用者一開始就在兩級 DB 中存在。如果你在 CDB 中建立了一個新使用者,那麼你在 PDB 中也能看到這個使用者。在 PDB 中建立的使用者只能在該 PDB 中使用。
-
臨時表空間可以是全域性或本地的。
-
Redo 日誌和 Undo 表空間都是全域性的(CDB級)。
-
Data Guard 在 CDB 級作為一個整體發揮作用;RMAN 排程的備份也作為一個整體在 CDB 級完成;任何時候,你可以只備份一個 PDB。
-
應用連線 PDB 時,不需做程式碼修改;系統管理員可以連線 CDB;連線串中的服務名確定目標 PDB。
-
PDB 允許更加清晰的宣告定義一個應用;一個 PDB 對同一個 CDB 裡的其他 PDB一無所知;每個 PDB 是個密閉的容器。這保證了新層面 DB 的獨立和安全。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/31490526/viewspace-2780850/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- ORACLE資料庫簡介(轉)Oracle資料庫
- Oracle - 資料庫的組成簡介Oracle資料庫
- 第1章 Oracle資料庫簡介-DBMSOracle資料庫
- 第1章 Oracle資料庫簡介-RMOracle資料庫
- MongoDB資料庫簡介MongoDB資料庫
- NewSQL資料庫簡介SQL資料庫
- WIOD資料庫簡介資料庫
- oracle資料字典簡介Oracle
- Oracle資料庫的閃回查詢功能簡介Oracle資料庫
- HSQL 資料庫介紹(1)--簡介SQL資料庫
- oceanbase資料庫簡介資料庫
- MySQL資料庫索引簡介MySql資料庫索引
- Oracle資料型別簡介Oracle資料型別
- [轉]Oracle資料庫ASH和AWR的簡單介紹Oracle資料庫
- linux系統和oracle資料庫安裝簡介LinuxOracle資料庫
- 國產資料庫OushuDB(Database)簡介資料庫Database
- redis(1)NoSQL資料庫簡介RedisSQL資料庫
- Sybase資料庫簡介 (轉載)資料庫
- 資料倉儲—資料庫—Oracle 介紹資料庫Oracle
- Oracle資料庫全文索引設定步驟簡介(轉)Oracle資料庫索引
- H2 資料庫介紹(1)--簡介資料庫
- MySQL資料庫儲存引擎簡介MySql資料庫儲存引擎
- kylix 資料庫應用簡介 (轉)資料庫
- mysql 資料庫效能分析工具簡介MySql資料庫
- Oracle大物件資料儲存簡介Oracle物件
- Oracle 12c - 普通資料庫與容器資料庫不能相互轉化Oracle資料庫
- 簡述oracle資料庫結構Oracle資料庫
- Oracle資料庫審計功能介紹Oracle資料庫
- Oracle資料庫字符集介紹Oracle資料庫
- 圖資料庫基礎簡介 -KDnuggets資料庫
- 資料庫 Mysql 邏輯架構簡介資料庫MySql架構
- 達夢資料庫全文索引簡介資料庫索引
- ASP.NET MVC – SQL 資料庫簡介ASP.NETMVCSQL資料庫
- HTML5 Web SQL 資料庫簡介HTMLWebSQL資料庫
- Oracle體系結構之-資料庫、表空間、例項簡介Oracle資料庫
- Oracle實時資料整合工具簡介SBOracle
- DOCKER簡明教程 : 透過容器連線REDIS資料庫DockerRedis資料庫
- 對GaussDB資料庫和資料管理的簡單介紹資料庫