国产一级一区二区_segui88久久综合9999_97久久夜色精品国产_欧美色网一区二区

掃一掃
關(guān)注微信公眾號

學(xué)會在硬盤之間分布關(guān)鍵數(shù)據(jù)文件
2009-05-04   IT專家網(wǎng)

隨著數(shù)據(jù)庫應(yīng)用范圍的擴(kuò)大與硬盤價格的直線下降,現(xiàn)在在一臺數(shù)據(jù)庫服務(wù)器上放置多個硬盤對于企業(yè)來說已經(jīng)不是很奢侈的事情。不過這對數(shù)據(jù)庫管理員來說又提出了一個新的挑戰(zhàn)。因為數(shù)據(jù)庫管理員出于性能與安全的考慮,需要學(xué)會在硬盤之間分布關(guān)鍵數(shù)據(jù)文件。如需要把數(shù)據(jù)庫系統(tǒng)的重做日志、歸檔日志與用來恢復(fù)的數(shù)據(jù)文件分開存放等等。筆者現(xiàn)在在維護(hù)一臺數(shù)據(jù)庫服務(wù)器,硬盤數(shù)量就達(dá)到4塊。筆者就以這臺數(shù)據(jù)庫為例,跟各位分享一下如何在硬盤之間分布關(guān)鍵數(shù)據(jù)文件。

  一、重做日志、歸檔日志與用來恢復(fù)的備份文件分開存放。

  在Oracle數(shù)據(jù)庫中有幾個比較重要的文件,包括重做日志文件、歸檔日志文件、數(shù)據(jù)文件與用來恢復(fù)數(shù)據(jù)的備份文件等等。如果當(dāng)數(shù)據(jù)庫發(fā)生故障需要恢復(fù)數(shù)據(jù)的話,則需要用到備份文件與重做日志文件,有時候還需要用到歸檔日志文件。為此需要把這些文件跟數(shù)據(jù)庫系統(tǒng)的數(shù)據(jù)文件分開來存放,如可以把它們存放在不同的硬盤上。如此的話,當(dāng)存放數(shù)據(jù)文件的硬盤發(fā)生物理損壞時,也可以馬上通過備份文件與重做日志文件進(jìn)行恢復(fù)。

  另外需要注意的是,用來存放備份文件的硬盤如果出現(xiàn)損壞的話,由于基本上不會影響數(shù)據(jù)庫的正常運行,所以比較難以發(fā)現(xiàn)。但是此時數(shù)據(jù)庫的備份就可能會發(fā)生錯誤,這對于后續(xù)數(shù)據(jù)庫恢復(fù)具有致命的影響。為此數(shù)據(jù)庫管理員還需要采取一定的策略,當(dāng)備份作業(yè)失敗時能夠讓數(shù)據(jù)庫自動告知管理員。這可以最大限度的避免存儲備份文件的硬盤損壞對后續(xù)數(shù)據(jù)還原造成的致命打擊。

  二、分開存儲數(shù)據(jù)表文件與索引文件。

  為了提升數(shù)據(jù)庫性能,在硬件條件允許的情況下最好能夠把存儲文件與索引文件分開來存放,特別是某張數(shù)據(jù)表如果比較大,而用戶訪問的頻率又比較高的話,則最好把這這張表與其對應(yīng)的索引文件存放在不同的硬盤上,這對于提高數(shù)據(jù)庫的性能有非常顯著的效果。因為把數(shù)據(jù)和索引文件分別放置在不同的硬盤上,如此當(dāng)表和索引被同時訪問時(在Where條件中引用了索引列),數(shù)據(jù)庫系統(tǒng)就不會訪問同一個硬盤,而會同時訪問兩個硬盤。這就可以避免硬盤之間的爭用。所以把經(jīng)常需要訪問的數(shù)據(jù)表與索引文件分開來存放,會給我們帶來不少的驚喜。

  另外,也可以把數(shù)據(jù)庫系統(tǒng)中的一些關(guān)鍵數(shù)據(jù)文件分開來存放,可以有效避免硬盤爭用給數(shù)據(jù)庫性能帶來的一個負(fù)面影響,可以解決硬盤瓶頸問題。一般來說表的連接方式會影響到數(shù)據(jù)庫的性能,會增加硬盤爭用的幾率。但是若能夠把經(jīng)常需要的表與索引分開放置的話,即使表與表之間的連接方式不怎么合理,那么其負(fù)面影響也會大大的降低。因為此時不怎么會導(dǎo)致硬盤爭用的現(xiàn)象。

  三、增加硬盤以避免硬盤爭用。

  有時候在剛開始部署數(shù)據(jù)庫系統(tǒng)的時候,可能沒有想到利用多塊硬盤來避免硬盤爭用的現(xiàn)象。在數(shù)據(jù)庫系統(tǒng)已經(jīng)部署完畢的情況下,若需要增加硬盤的話,那該如何處理呢?是否需要重新部署數(shù)據(jù)庫系統(tǒng),還是只要簡單的把需要分開存放的文件復(fù)制過去就可以了?

  筆者認(rèn)為,通常情況下如果數(shù)據(jù)庫系統(tǒng)還是出于測試階段,那么最好通過重新安裝數(shù)據(jù)庫系統(tǒng),并在安裝的過程中制定數(shù)據(jù)文件的存放位置來實現(xiàn)在不同的硬盤上存儲關(guān)鍵數(shù)據(jù)文件。但是如果數(shù)據(jù)庫現(xiàn)在已經(jīng)在用了,那么通過這種方式的話就不怎么合理了。但是也不能夠簡單的把數(shù)據(jù)文件復(fù)制到其他硬盤上。在數(shù)據(jù)文件的遷移上,沒有這么簡單的事情。要在最短的時間內(nèi)實現(xiàn)關(guān)鍵數(shù)據(jù)文件的遷移,最好能夠按照以下的幾個步驟來操作。

  第一步首先于數(shù)據(jù)文件有關(guān)的表空間處于脫機狀態(tài)。記得筆者以前在表空間的管理上,談到過最好能夠把不同用途的表放置在不同的表空間上。因為Oracle數(shù)據(jù)庫中可以針對某個表空間進(jìn)行只讀、脫機等操作,而不影響其他表空間上的數(shù)據(jù)文件的應(yīng)用。從而使得數(shù)據(jù)庫的維護(hù)作業(yè)對于用戶的正常數(shù)據(jù)訪問的影響降低到最低。數(shù)據(jù)庫管理員要在數(shù)據(jù)庫正常聯(lián)機的情況下遷移數(shù)據(jù)文件的話,就需要把設(shè)置跟需要遷移的數(shù)據(jù)文件有關(guān)的表空間脫機。

把數(shù)據(jù)文件復(fù)制到新的硬盤上,并且用新數(shù)據(jù)文件位置為表空間重命名數(shù)據(jù)文件。如果新上的硬盤跟原有的硬盤在性能上有差異的話,此時就有一個細(xì)節(jié)需要注意。即把什么文件保留在原來的硬盤上,而把什么文件移植到性能比較高的新硬盤中。把合適的文件遷移出去,這可以讓移植后的數(shù)據(jù)庫性能有更大的提升。如原先在硬盤中有重做日志文件與數(shù)據(jù)文件。現(xiàn)在需要出于安全與性能的考慮,需要把某個文件遷移到新的硬盤中。而新采用的硬盤性能比較好的情況下,那么最好把重做日志文件遷移出去。這會取得比較好的效果。

  第三步把原先脫機的表空間重新啟用即可。可見如果表空間設(shè)置的比較合理的話,那么在關(guān)鍵數(shù)據(jù)文件遷移的時候基本上不會對用戶的訪問造成負(fù)面影響。所以說表空間的規(guī)劃與建立對于數(shù)據(jù)庫的維護(hù)是非常重要的。因為在Oracle數(shù)據(jù)庫中可以專門針對表空間來進(jìn)行管理,如備份、聯(lián)機脫機管理等等。其實一個表空間就好像是一個小的數(shù)據(jù)庫一樣,可以進(jìn)行大部分的日常數(shù)據(jù)庫維護(hù)工作。

  一、確定工作繁忙的數(shù)據(jù)文件。

  關(guān)鍵數(shù)據(jù)文件在不同的硬盤上分開放置到底能夠取得數(shù)據(jù)庫性能的多少提升,這主要是跟數(shù)據(jù)文件訪問的繁忙程度有關(guān)。如在Oracle數(shù)據(jù)庫中,總共部署由六個數(shù)據(jù)文件。其中四個數(shù)據(jù)文件比較繁忙,另外兩個數(shù)據(jù)文件用戶不怎么訪問。此時數(shù)據(jù)庫管理員如果把不怎么訪問的數(shù)據(jù)文件遷移到其他硬盤上,那么對數(shù)據(jù)庫性能的提升沒有多少幫助。為此要提升這個效果,就需要評估一下,哪些數(shù)據(jù)文件用戶訪問的比較頻繁,然后再有針對性的進(jìn)行遷移。利用專業(yè)的術(shù)語來說,就是要確定數(shù)據(jù)文件上的I/O,將大量使用的數(shù)據(jù)文件移動到單獨的硬盤上以分布I/O。

  不過要確定哪個數(shù)據(jù)文件的使用頻率比較高,有比較大的I/O,不是一件簡單的事情。通常來說,可以從兩個方面來評估數(shù)據(jù)文件的使用頻率以及對應(yīng)的I/O。

  一是要靠數(shù)據(jù)庫管理員的經(jīng)驗。往往所設(shè)計的數(shù)據(jù)庫用途不同,其數(shù)據(jù)文件的使用頻率以及對應(yīng)的I/O有一個規(guī)律。如這個數(shù)據(jù)庫系統(tǒng)對應(yīng)的應(yīng)用系統(tǒng)是一個決策管理系統(tǒng),則其數(shù)據(jù)文件中數(shù)據(jù)表的更改不會很多,大部分是對視圖文件的訪問。但是如果數(shù)據(jù)庫用于一些事務(wù)型管理系統(tǒng)的話,則剛好相反。如一個ERP系統(tǒng)需要用到Oracle數(shù)據(jù)庫系統(tǒng),則其相關(guān)的基礎(chǔ)表插入、修改動作會比較頻繁,如采購訂單、銷售訂單等等都需要對這些基礎(chǔ)表進(jìn)行大量的訪問。故與此對應(yīng)的數(shù)據(jù)庫文件訪問的頻率就會比較高。此時把這些文件與其它訪問的比較少的文件分開來放置就能夠起到不錯的效果。另外即使在同一應(yīng)用系統(tǒng)中,其模塊不同,使用的頻率也不同。如在一個ERP系統(tǒng)中,基本管理模塊基本上不怎么使用,只有在系統(tǒng)初始化的時候需要用到。而對于庫存管理、財務(wù)管理模塊所對應(yīng)的數(shù)據(jù)表訪問頻率就比較高了。為此在數(shù)據(jù)庫規(guī)劃的時候,可以考慮根據(jù)模塊使用頻率的不同,來規(guī)劃數(shù)據(jù)表與表空間。可以把使用模塊高的數(shù)據(jù)表與索引放置在不同的硬盤上;而把使用頻率低的數(shù)據(jù)表與其對應(yīng)的索引放置在相同的硬盤上。這主要是靠數(shù)據(jù)庫管理員的經(jīng)驗。其設(shè)置的數(shù)據(jù)庫案例越多,往往對這方面就會有比較深刻的直觀印象。這對于其規(guī)劃數(shù)據(jù)表與表空間的位置,具有很大的幫助。#p#分頁標(biāo)題#e#

  二是通過數(shù)據(jù)庫提供的工具。

      如在數(shù)據(jù)庫企業(yè)管理器中提供了一個數(shù)據(jù)庫文件度量的工具。利用這個工具可以確定發(fā)生在每個數(shù)據(jù)庫文件上的I/O。但是使用這個工具有一個缺陷,即其只有在數(shù)據(jù)庫系統(tǒng)投入使用后才能夠進(jìn)行測量與評估。也就是說,不能夠在數(shù)據(jù)庫設(shè)計與部署的時候,就做好相關(guān)的規(guī)劃工作。也就是說,在生產(chǎn)服務(wù)器上進(jìn)行關(guān)鍵數(shù)據(jù)文件存放位置的調(diào)整,或多或少會對用戶的數(shù)據(jù)庫庫訪問產(chǎn)生不利的影響。而當(dāng)數(shù)據(jù)庫在正常使用過程中來進(jìn)行調(diào)整的話,這對于數(shù)據(jù)庫管理員的水平也提出了比較高的要求。因為此時不允許數(shù)據(jù)庫管理員出現(xiàn)一點紕漏,否則的話很可能會對數(shù)據(jù)庫中存儲的數(shù)據(jù)造成破壞。所以雖然這種方式是可行的,但是筆者并不推薦這么做。

 

熱詞搜索:

上一篇:安普布線成立徐州科技中心
下一篇:巧用SET選項設(shè)置SQL Server客戶端配置

分享到: 收藏
主站蜘蛛池模板: 石城县| 金溪县| 石首市| 丰台区| 苏尼特左旗| 留坝县| 商丘市| 如东县| 磐安县| 莆田市| 元朗区| 长宁县| 平度市| 乌兰浩特市| 楚雄市| 临西县| 嘉荫县| 霍州市| 长阳| 尚义县| 姚安县| 曲靖市| 高平市| 江永县| 青铜峡市| 安仁县| 元朗区| 岳池县| 屏山县| 开江县| 沾化县| 蒙阴县| 胶州市| 封开县| 汉阴县| 息烽县| 衡南县| 赤城县| 武定县| 手游| 台北市|