1. 程式人生 > >Oracle12c學習——使用者管理(一)

Oracle12c學習——使用者管理(一)

PDB與CDB的區別

CDB全稱為Container Database,中文翻譯為資料庫容器,PDB全稱為Pluggable Database,即可插拔資料庫。

Oracle 12C引入了CDB與PDB的新特性,在ORACLE 12C資料庫引入的多租使用者環境(Multitenant Environment)中,允許一個數據庫容器(CDB)承載多個可插拔資料庫(PDB)。

在ORACLE 12C之前,例項與資料庫是一對一或多對一關係(RAC):即一個例項只能與一個數據庫相關聯,資料庫可以被多個例項所載入。而例項與資料庫不可能是一對多的關係。當進入ORACLE 12C後,例項與資料庫可以是一對多的關係。下面是官方文件關於CDB與PDB的關係圖。

oracle 12c 建立公用使用者和本地使用者

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. 這個感念,個人感覺非常類似SQL SERVER中的model資料庫。

PDBS

    CDB中可以有一個或多個PDBS,PDBS向後相容,可以像以前在資料庫中那樣操作PDBS,這裡指大多數常規操作。

這些元件中的每一個都可以被稱為一個容器。因此,ROOT(根)是一個容器,Seed(種子)是一個容器,每個PDB是一個容器。每個容器在CDB中都有一個獨一無二的的ID和名稱。

在12c資料庫建立完成後,預設情況下sqlplus / as sysdba,連線的是CDB
1.檢視資料庫是否為CDB,YES表示該資料庫是CDB,如果是NO表示是NO-CDB(普通資料庫)


2.檢視當前容器(Container)


3.檢視CDB容器中的PDBS資訊,檢視當前資料庫中有多少個pluggable database


上面顯示混亂,可以檢視linesize的大小,並擴大其值,再次檢視,便清楚很多了。


4.啟動PDB資料庫

方式1:



方式2:


5.關閉PDB資料庫


6.在容器間切換