SQL Server資料庫與Oracle資料庫之間最大的區別要屬資料表空間設計。Oracle資料庫開創性地提出了資料表空間的設計理念,這為Oracle資料庫的高效能做出了不可磨滅的貢獻。可以這麼說,Oracle中很多最佳化都是基於資料表空間的設計理念而實現的。
Oracle資料表空間之基本概念
ORACLE資料庫被劃分成稱作為資料表空間的邏輯地區——形成ORACLE資料庫的邏輯結構。一個ORACLE資料庫能夠有一個或多個資料表空間,而一個資料表空間則對應著一個或多個物理的資料庫檔案。資料表空間是ORACLE資料庫恢複的最小單位,容納著許多資料庫實體,如表、視圖、索引、聚簇、回退段和臨時段等。
每個ORACLE資料庫均有SYSTEM資料表空間,這是資料庫建立時自動建立的。SYSTEM資料表空間必須總要保持聯機,因為其包含著資料庫運行所要求的基本資料(關於整個資料庫的資料字典、聯機求助機制、所有回退段、臨時段和自舉段、所有的使用者資料庫實體、其它ORACLE軟體產品要求的表)。
一個小型應用的ORACLE資料庫通常僅包括SYSTEM資料表空間,然而一個稍大型應用的ORACLE資料庫採用多個資料表空間會對資料庫的使用帶來更大的方便。
Oracle資料表空間之作用
資料表空間的作用能協助DBA使用者完成以下工作:
1.決定資料庫實體的空間分配;
2.設定資料庫使用者的空間份額;
3.控制資料庫部分資料的可用性;
4.分布資料於不同的裝置之間以改善效能;
5.備份和恢複資料。
使用者建立其資料庫實體時其必須於給定的資料表空間中具有相應的權力,所以對一個使用者來說,其要操縱一個ORACLE資料庫中的資料,應該:
使用者建立其資料庫實體時其必須於給定的資料表空間中具有相應的權力,所以對一個使用者來說,其要操縱一個ORACLE資料庫中的資料,應該:
1.被授予關於一個或多個資料表空間中的RESOURCE特權;
2.被指定預設資料表空間;
3.被分配指定資料表空間的儲存空間使用份額;
4.被指定預設臨時段資料表空間。
編輯本段
控制Oracle使用者資料表空間配額
在一些大型的資料庫應用中,我們需要控制某個使用者或者某一組使用者其所佔用的磁碟空間。這就好像在檔案伺服器中,需要為每個使用者佈建磁碟配額一樣,以防止硬碟空間耗竭。所以,在資料庫中,我們也需要限制使用者所可以使用的磁碟空間大小。為了達到這個目的,我們就可以通過資料表空間來實現。
我們可以在Oracle資料庫中,建立不同的資料表空間,為其設定最大的儲存容量,然後把使用者歸屬於這個資料表空間。如此的話,這個使用者的儲存容量,就受到這個資料表空間大小的限制。當然,資料表空間的優勢還不僅僅這些,企業對於資料庫的效能要求越高,或者資料庫容量越大,則資料表空間的優勢就會越大。
下面,我們就具體來看看Oracle資料庫中資料表空間的處理方式,看其在效能與安全性方面是否有足夠的優勢與SQL Server資料庫抗衡。
編輯本段
Oracle資料庫中資料表空間的處理方式
查看本欄目更多精彩內容:http://www.bianceng.cnhttp://www.bianceng.cn/database/Oracle/