對初學(xué)者和學(xué)習(xí)能力相對較差的人而言,深刻理解和熟練使用 Oracle 數(shù)據(jù)庫是非常困難的一件事,因為 Oracle 從理論到實際都非常復(fù)雜。本人見過許多開發(fā)人員裝 Oracle 裝的垂頭喪氣,其中不乏已經(jīng)工作了四五年的人,但從未見過工作了好多年還裝不好 SQL Server 的情況。在我剛開始接觸 Oracle 的時候,也曾被它的實例和表空間搞蒙蔽了好一陣子。
概念說明
本文將要講述的概念不包括 Oracle 體系結(jié)構(gòu)里的概念。首先 Oracle 體系結(jié)構(gòu)里的 SGA、PGA 等概念本人也不太理解,其次普通開發(fā)人員完全沒必要搞懂 Oracle 的體系結(jié)構(gòu)。本文主要講述表空間、SCHEMA、用戶、權(quán)限,這四個開發(fā)人員最常用,也最容易蒙蔽的概念。
表空間
表空間是 Oracle 數(shù)據(jù)庫的邏輯劃分,據(jù)庫表、索引等所有的數(shù)據(jù)庫對象都存放在指定的表空間中,但主要存放的是表,所以稱作表空間。在物理上表空間由 1 個或者多個數(shù)據(jù)文件組成,而數(shù)據(jù)庫在邏輯上由 1 個或者多個表空間組成,一個表空間只能屬于一個數(shù)據(jù)庫。Oracle 數(shù)據(jù)庫中至少存在一個表空間,即 SYSTEM 表空間。建立 SYSTEM 表空間的目的是盡量將目的相同的表存放在一起,以提高使用效率,只應(yīng)存放數(shù)據(jù)字典。
表空間分為 3 類: