- 環境:
操作系統:Windows Server2008 R2 X64
Oracle版本:12c
如何安裝?
-- oracle 12c在oracle linux 6.6 x64上的安裝
-- Windows x64位下完美安裝winx64_oracle_12c_database
如何使用DataBase Cofiguration Assistant 創建數據庫?
-- oracle12c dbca方式創建數據庫實例(多圖)
如何使用PL/SQL Developer連接?
-- PL/SQL Developer連接到Oracle 12c
備注:上邊PL/SQL Developer連接oracl 12c方式,我并沒有成功。
初次安裝上oracle12c,發現與之前使用的oracle9g版本還是有點區別。
- 從官網上獲取到的信息是,Oracle12c新出的概念:
1、oracle12c中增加了可插拔數據庫的概念,即PDB的概念,允許一個數據庫容器(CDB)承載多個可插拔數據庫(PDB)。
CDB全稱Container Database,中文翻譯為數據庫容器;
PDB全稱Pluggable Database,中文翻譯為可插拔數據庫。
2、在Oracle12c之前,實例與數據是一對一或者多對一的關系(RAC):即一個數據實例只能與一個數據庫相關聯,數據庫可以被多個實例所加載。
但是,實例與數據庫不可能是一對多的關系。
3、進入Oracle12c后,實例與數據庫可以是一對多的關系。
下圖是官網提供的CDB與PDB的關系圖:
上邊新的概念帶來了什么好處?
對于pdb確實給程序員帶來了不少好處:不過這也給管理員帶來了一些不同。
首先,容器數據庫創建新用戶并分配表空間時,可以在以下兩種情況下進行:
1、必須在沒有PDB的情況下;
2、PDB與CDB有相同的表空間的情況下。
否則,會失敗。
如果是PDB與CDB有相同表空間的情況下給CDB用戶分配表空間,則會分配CDB的表空間給用戶,PDB的表空間并不受影響;
而且,CDB用戶必須以‘c##’為開頭,否則創建用戶失敗。
參考:
Oracle 12c 數據庫CDB用戶創建與表空間分配的問題
oracle官網文檔:http://docs.oracle.com/database/121/index.htm
CDB、PDB、PDB$SEED與SqlServer中對象對應:
- 1、CDB與PDB可以實現一個CDB對應多個PDB,這和sqlserver中的單個實例對應多個數據庫架構是有點相似的思路。
- 2、PDB$SEED可以看成是master、msdb等系統數據庫;
- 3、PDBS可以看成用戶創建的數據庫。
- 4、可插拔的概念與SqlServer中的用戶數據庫分離、附加有相似的思路。
CDB數據庫組件:
1、ROOT組件
ROOT又叫CDB$ROOT,存儲著Oracle提供的元數據和Common User,元數據的一個例子是ORACLE提供的PL/SQL包的源代碼,Common User是指在每個容器都存在的用戶。
2、SEED組件
SEED又叫PDB$SEED,這個是你創建PDBS數據庫的模板,你不能在SEED中添加或修改一個對象。一個CDB中有且只能有一個SEED。這個類似SQLSERVER中的model數據庫。
3、PDBS
CDB中可以有一個或者多個Pdbs,PDBS向后兼容,可以像以前在數據庫中那樣操作PDBS,這里只大多數操作。
這些組件中的每一個都可以被稱為一個容器。因此,ROOT(根)是一個容器,SEED(種子)是一個容器,每個PDB是一個容器。每個容器在CDB中都有一個獨一無二的ID和名稱。
參考:ORACLE 12C新特性——CDB與PDB
- 創建新用戶,并分配默認表空間,分配權限
?