Oracle12c:安裝后新建用戶及其默認表空間,並創建表測試


  • 環境:

操作系統: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

  • 創建新用戶,並分配默認表空間,分配權限

 


免責聲明!

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



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