典型應(yīng)用一:控制用戶所占用的表空間配額。
在一些大型的數(shù)據(jù)庫應(yīng)用中,我們需要控制某個用戶或者某一組用戶其所占用的磁盤空間。這就好像在文件服務(wù)器中,需要為每個用戶設(shè)置磁盤配額一樣,以防止硬盤空間耗竭。所以,在數(shù)據(jù)庫中,我們也需要限制用戶所可以使用的磁盤空間大小。為了達(dá)到這個目的,我們就可以通過表空間來實(shí)現(xiàn)。
我們可以在Oracle數(shù)據(jù)庫中,建立不同的表空間,為其設(shè)置最大的存儲容量,然后把用戶歸屬于這個表空間。如此的話,這個用戶的存儲容量,就受到這個表空間大小的限制。
典型應(yīng)用二:控制數(shù)據(jù)庫所占用的磁盤空間。
有時候,在Oracle數(shù)據(jù)庫服務(wù)器中,可能運(yùn)行的不止一個服務(wù)。除了數(shù)據(jù)庫服務(wù)器外,可能還有郵件服務(wù)器等應(yīng)用系統(tǒng)服務(wù)器。為此,就需要先對Oracle數(shù)據(jù)庫的磁盤空間作個規(guī)劃,否則,當(dāng)多個應(yīng)用程序服務(wù)所占用的磁盤空間都無限增加時,最后可能導(dǎo)致各個服務(wù)都因?yàn)橛脖P空間的耗竭而停止。所以,在同一臺服務(wù)器上使用多個應(yīng)用程序服務(wù),我們往往需要先給他們進(jìn)行磁盤空間的規(guī)劃和分配。各個服務(wù)都不能夠超過我們分配給他的最大限額,或者超過后及時的提醒我們。只有這樣,才能夠避免因?yàn)榇疟P空間的耗竭而導(dǎo)致各種應(yīng)用服務(wù)的崩潰。
典型應(yīng)用三:靈活放置表空間,提高數(shù)據(jù)庫的輸入輸出性能。
數(shù)據(jù)庫管理員還可以將不同類型的數(shù)據(jù)放置到不同的表空間中,這樣可以明顯提高數(shù)據(jù)庫輸入輸出性能,有利于數(shù)據(jù)的備份與恢復(fù)等管理工作。因?yàn)槲覀償?shù)據(jù)庫管理員在備份或者恢復(fù)數(shù)據(jù)的時候,可以按表空間來備份數(shù)據(jù)。如在設(shè)計一個大型的分銷系統(tǒng)后臺數(shù)據(jù)庫的時候,我們可以按省份建立表空間。與浙江省相關(guān)的數(shù)據(jù)文件放置在浙江省的表空間中,北京發(fā)生業(yè)務(wù)記錄,則記錄在北京這個表空間中。如此,當(dāng)浙江省的業(yè)務(wù)數(shù)據(jù)出現(xiàn)錯誤的時候,則直接還原浙江省的表空間即可。很明顯,這樣設(shè)計,當(dāng)某個表空間中的數(shù)據(jù)出現(xiàn)錯誤需要恢復(fù)的時候,可以避免對其他表空間的影響。
另外,還可以對表空間進(jìn)行獨(dú)立備份。當(dāng)數(shù)據(jù)庫容量比較大的時候,若一下子對整個數(shù)據(jù)庫進(jìn)行備份,顯然會占用比較多的時間。雖然說Oracle數(shù)據(jù)庫支持熱備份,但是在備份期間,會占用比較多的系統(tǒng)資源,從而造成數(shù)據(jù)庫性能的下降。為此,當(dāng)數(shù)據(jù)庫容量比較大的時候,我們就需要進(jìn)行設(shè)置多個表空間,然后規(guī)劃各個表空間的備份時間,從而可以提高整個數(shù)據(jù)庫的備份效率,降低備份對于數(shù)據(jù)庫正常運(yùn)行的影響。
典型應(yīng)用四:大表的排序操作。
我們都知道,當(dāng)表中的記錄比較多的時候,對他們進(jìn)行查詢,速度會比較慢。第一次查詢成功后,若再對其進(jìn)行第二次重新排序,仍然需要這么多的時間。為此,我們在數(shù)據(jù)庫設(shè)計的時候,針對這種容量比較大的表對象,往往把它放在一個獨(dú)立的表空間,以提高數(shù)據(jù)庫的性能。
典型應(yīng)用五:日志文件與數(shù)據(jù)文件分開放,提高數(shù)據(jù)庫安全性。