posts - 167,  comments - 30,  trackbacks - 0
          2010-07-13

           

          文章分類:數(shù)據(jù)庫

          SQL Server數(shù)據(jù)庫與Oracle數(shù)據(jù)庫之間最大的區(qū)別要屬表空間設(shè)計。Oracle數(shù)據(jù)庫開創(chuàng)性地提出了表空間的設(shè)計理念,這為Oracle數(shù)據(jù)庫的高性能做出了不可磨滅的貢獻。可以這么說,Oracle中很多優(yōu)化都是基于表空間的設(shè)計理念而實現(xiàn)的。

            典型應(yīng)用一:控制用戶所占用的表空間配額。

            在一些大型的數(shù)據(jù)庫應(yīng)用中,我們需要控制某個用戶或者某一組用戶其所占用的磁盤空間。這就好像在文件服務(wù)器中,需要為每個用戶設(shè)置磁盤配額一樣,以防止硬盤空間耗竭。所以,在數(shù)據(jù)庫中,我們也需要限制用戶所可以使用的磁盤空間大小。為了達到這個目的,我們就可以通過表空間來實現(xiàn)。

            我們可以在Oracle數(shù)據(jù)庫中,建立不同的表空間,為其設(shè)置最大的存儲容量,然后把用戶歸屬于這個表空間。如此的話,這個用戶的存儲容量,就受到這個表空間大小的限制。

            典型應(yīng)用二:控制數(shù)據(jù)庫所占用的磁盤空間。

            有時候,在Oracle數(shù)據(jù)庫服務(wù)器中,可能運行的不止一個服務(wù)。除了數(shù)據(jù)庫服務(wù)器外,可能還有郵件服務(wù)器等應(yīng)用系統(tǒng)服務(wù)器。為此,就需要先對Oracle數(shù)據(jù)庫的磁盤空間作個規(guī)劃,否則,當(dāng)多個應(yīng)用程序服務(wù)所占用的磁盤空間都無限增加時,最后可能導(dǎo)致各個服務(wù)都因為硬盤空間的耗竭而停止。所以,在同一臺服務(wù)器上使用多個應(yīng)用程序服務(wù),我們往往需要先給他們進行磁盤空間的規(guī)劃和分配。各個服務(wù)都不能夠超過我們分配給他的最大限額,或者超過后及時的提醒我們。只有這樣,才能夠避免因為磁盤空間的耗竭而導(dǎo)致各種應(yīng)用服務(wù)的崩潰。

            典型應(yīng)用三:靈活放置表空間,提高數(shù)據(jù)庫的輸入輸出性能。

            數(shù)據(jù)庫管理員還可以將不同類型的數(shù)據(jù)放置到不同的表空間中,這樣可以明顯提高數(shù)據(jù)庫輸入輸出性能,有利于數(shù)據(jù)的備份與恢復(fù)等管理工作。因為我們數(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ù)的時候,可以避免對其他表空間的影響。

            另外,還可以對表空間進行獨立備份。當(dāng)數(shù)據(jù)庫容量比較大的時候,若一下子對整個數(shù)據(jù)庫進行備份,顯然會占用比較多的時間。雖然說Oracle數(shù)據(jù)庫支持熱備份,但是在備份期間,會占用比較多的系統(tǒng)資源,從而造成數(shù)據(jù)庫性能的下降。為此,當(dāng)數(shù)據(jù)庫容量比較大的時候,我們就需要進行設(shè)置多個表空間,然后規(guī)劃各個表空間的備份時間,從而可以提高整個數(shù)據(jù)庫的備份效率,降低備份對于數(shù)據(jù)庫正常運行的影響。

            典型應(yīng)用四:大表的排序操作。

            我們都知道,當(dāng)表中的記錄比較多的時候,對他們進行查詢,速度會比較慢。第一次查詢成功后,若再對其進行第二次重新排序,仍然需要這么多的時間。為此,我們在數(shù)據(jù)庫設(shè)計的時候,針對這種容量比較大的表對象,往往把它放在一個獨立的表空間,以提高數(shù)據(jù)庫的性能。

            典型應(yīng)用五:日志文件與數(shù)據(jù)文件分開放,提高數(shù)據(jù)庫安全性。

            默認情況下,日志文件與數(shù)據(jù)文件存放在同一表空間。但是,這對于數(shù)據(jù)庫安全方面來說,不是很好。所以,我們在數(shù)據(jù)庫設(shè)計的過程中,往往喜歡把日志文件,特別是重做日志文件,放在一個獨立的表空間中,然后把它存放在另外一塊硬盤上。如此的話,當(dāng)存放數(shù)據(jù)文件的硬盤出現(xiàn)故障時,能夠馬上通過存放在另一個表空間的重做日志文件,對數(shù)據(jù)庫進行修復(fù),以減少企業(yè)因為數(shù)據(jù)丟失所帶來的損失。

            當(dāng)然,表空間的優(yōu)勢還不僅僅這些,企業(yè)對于數(shù)據(jù)庫的性能要求越高,或者數(shù)據(jù)庫容量越大,則表空間的優(yōu)勢就會越大。

            下面,我們就具體來看看Oracle數(shù)據(jù)庫中表空間的處理方式,看其在性能與安全性方面是否有足夠的優(yōu)勢與SQL Server數(shù)據(jù)庫抗衡。

            在數(shù)據(jù)庫設(shè)計的時候,我們建議數(shù)據(jù)庫管理員按如下順序設(shè)置表空間。

          第一步:建立表空間。

            在設(shè)計數(shù)據(jù)庫的時候,首先需要設(shè)計表空間。我們需要考慮,是只建立一個表空間呢,還是需要建立多個表空間,以及各個表空間的存放位置、磁盤限額等等。

            到底設(shè)計多少個表空間合理,沒有統(tǒng)一的說法,這主要根據(jù)企業(yè)的實際需求去判斷。如企業(yè)需要對用戶進行磁盤限額控制的,則就需要根據(jù)用戶的數(shù)量來設(shè)置表空間。當(dāng)企業(yè)的數(shù)據(jù)容量比較大,而其又對數(shù)據(jù)庫的性能有比較高的要求時,就需要根據(jù)不同類型的數(shù)據(jù),設(shè)置不同的表空間,以提高其輸入輸出性能。

            第二步:建立用戶,并制定用戶的默認表空間。

            在建立用戶的時候,我們建議數(shù)據(jù)庫管理員要指定用戶的默認表空間。因為我們在利用CREATE語句創(chuàng)建數(shù)據(jù)庫對象,如數(shù)據(jù)庫表的時候,其默認是存儲在數(shù)據(jù)庫的當(dāng)前默認空間。若不指定用戶默認表空間的話,則用戶每次創(chuàng)建數(shù)據(jù)庫對象的時候,都要指定表空間,顯然,這并不是很合理。

            另外要注意,不同的表空間有不同的權(quán)限控制。用戶對于表空間A具有完全控制權(quán)限,可能對于表空間B就只有查詢權(quán)限,甚至連連接的權(quán)限的都沒有。所以,合理為用戶配置表空間的訪問權(quán)限,也是提高數(shù)據(jù)庫安全性的一個方法。

          posted on 2010-09-13 21:49 David1228 閱讀(1288) 評論(0)  編輯  收藏 所屬分類: 數(shù)據(jù)庫

          <2010年9月>
          2930311234
          567891011
          12131415161718
          19202122232425
          262728293012
          3456789

          常用鏈接

          留言簿(4)

          隨筆分類

          隨筆檔案

          文章檔案

          新聞分類

          新聞檔案

          相冊

          收藏夾

          Java

          Linux知識相關(guān)

          Spring相關(guān)

          云計算/Linux/虛擬化技術(shù)/

          友情博客

          多線程并發(fā)編程

          開源技術(shù)

          持久層技術(shù)相關(guān)

          搜索

          •  

          積分與排名

          • 積分 - 359328
          • 排名 - 154

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 大厂| 措勤县| 房山区| 建水县| 财经| 莱西市| 景泰县| 颍上县| 密山市| 宁晋县| 镇巴县| 兖州市| 乌海市| 双牌县| 理塘县| 乌拉特前旗| 安塞县| 远安县| 恭城| 五莲县| 施甸县| 鄂尔多斯市| 楚雄市| 龙岩市| 泰和县| 招远市| 东乌珠穆沁旗| 怀远县| 延安市| 铜陵市| 富蕴县| 定州市| 合肥市| 项城市| 沂水县| 从江县| 青冈县| 曲沃县| 怀安县| 庄河市| 丰镇市|