共計 3354 個字符,預(yù)計需要花費 9 分鐘才能閱讀完成。
行業(yè)資訊
數(shù)據(jù)庫
如何分析 Oracle 數(shù)據(jù)庫表空間設(shè)計中 ASM/BFT/OMF 的綜合使用
這篇文章給大家介紹如何分析 Oracle 數(shù)據(jù)庫表空間設(shè)計中 ASM/BFT/OMF 的綜合使用,內(nèi)容非常詳細(xì),感興趣的小伙伴們可以參考借鑒,希望對大家能有所幫助。
為滿足海量數(shù)據(jù)的高性能、易管理性等綜合需求,很多項目在表空間設(shè)計方面,基本都會綜合采用 ASM、OMF 和大表空間技術(shù),下面分別介紹一下這幾個概念。
1. ASM
ASM 是 Oracle 10g R2 中為了簡化 Oracle 數(shù)據(jù)庫的管理而推出來的一項新功能,這是 Oracle 自己提供的卷管理器,主要用于替代操作系統(tǒng)所提供的 LVM,它不僅支持單實例,同時對 RAC 的支持也是非常好。ASM 可以自動管理磁盤組并提供有效的數(shù)據(jù)冗余功能。
ASM 它提供了以平臺無關(guān)的文件系統(tǒng)、邏輯卷管理以及軟 RAID 服務(wù)。ASM 可以支持條帶化和磁盤鏡像,從而實現(xiàn)了在數(shù)據(jù)庫被加載的情況下添加或移除磁盤以及自動平衡 I / O 以刪除“熱點”。它還支持直接和異步的 I / O 并使用 Oracle9i 中引入的 Oracle 數(shù)據(jù)管理器 API(簡化的 I / O 系統(tǒng)調(diào)用接口)。
RAC 環(huán)境下的 ASM 結(jié)構(gòu)
ASM 對 DBA 有許多好處,使用 ASM 可以避免:
I/ O 性能優(yōu)化
數(shù)據(jù)文件移動和重新組織
文件名管理
邏輯卷管理
文件系統(tǒng)管理
集群文件系統(tǒng)管理
裸設(shè)備管理
數(shù)據(jù)庫實例與 ASM 實例的交互
使用 ASM 可以顯著減少:
邏輯單元號 (LUN) 管理,邏輯單元數(shù)量較少,大小較大
數(shù)據(jù)庫管理員對系統(tǒng)管理員的依賴性
手動執(zhí)行任務(wù)時可能發(fā)生的錯誤
2. BFT
在 Oracle 中用戶可以創(chuàng)建大文件表空間。這樣 Oracle 數(shù)據(jù)庫使用的表空間可以由一個單一的大文件構(gòu)成,而不是若干個小數(shù)據(jù)文件。這使 Oracle 可以發(fā)揮 64 位系統(tǒng)的能力,創(chuàng)建、管理超大的文件。在 64 位系統(tǒng)中,Oracle 數(shù)據(jù)庫的存儲能力被擴(kuò)展到了 8 EB(1EB =1024PB,1PB = 1024TB,1TB=1024GB)。
當(dāng) 數(shù)據(jù)庫文件由 Oracle 管理,且使用大文件表空間時,數(shù)據(jù)文件對用戶完全透明。換句話說,用戶只須針對表空間執(zhí)行管理操作,而無須關(guān)心處于底層的數(shù)據(jù)文件。使用大文件表空間,使表空間成為磁盤空間管理,備份,和恢復(fù)等操作的主要對象。使用大文件表空間,并與由 Oracle 管理數(shù)據(jù)庫文件技術(shù)以及自動存儲管理技術(shù)相結(jié)合,就不再需要管理員手工創(chuàng)建新的數(shù)據(jù)文件并維護(hù)眾多數(shù)據(jù)庫文件,因此簡化了數(shù)據(jù)庫文件管理工作。
數(shù) 據(jù)庫默認(rèn)創(chuàng)建的是小文件表空間,即 Oracle 中傳統(tǒng)的表空間類型。數(shù)據(jù)庫中 SYSTEM 和 SYSAUX 表空間在創(chuàng)建時總是使用傳統(tǒng)類型只有本地管理的,且段空間自動管理的表空間才能使用大文件表空間。 但是有兩個例外:本地管理的撤銷表空間和臨時表空間,即使其段為手工管理,也可以使用大文件表空間。一個 Oracle 數(shù)據(jù)庫可以同時包含大文件 / 小文件表空間。SQL 語句執(zhí)行時無需考慮表空間的類型,除非語句中顯式地引用了數(shù)據(jù)文件名。
管理員可以創(chuàng)建一組臨時表空間,用戶在需要時可以利用組內(nèi)各個表空間提供的臨時空間。管理員還可以指定表空間組為數(shù)據(jù)庫默認(rèn)的臨時表空間。當(dāng)用戶需要大量臨時空間進(jìn)行排序操作時,就可以利用大文件表空間及表空間組。
使用大文件表空間的優(yōu)勢:
使用大文件表空間 (bigfile tablespace) 可以顯著地增強 Oracle 數(shù)據(jù)庫的存儲能力。一個小文件表空間 (smallfile tablespace) 最多可以包含 1024 個數(shù)據(jù)文件,而 一個大文件表空間中只包含一個文件,這個數(shù)據(jù)文件的最大容量是小數(shù)據(jù)文件的 1024 倍。這樣看來,大文件表空間和小文件表空間的最大容量是相同的。但是由 于每個數(shù)據(jù)庫最多使用 64K 個數(shù)據(jù)文件,因此使用大文件表空間時數(shù)據(jù)庫中表空間的極限個數(shù)是使用小文件表空間時的 1024 倍,使用大文件表空間時的總數(shù)據(jù) 庫容量比使用小文件表空間時高出三個數(shù)量級。換言之,當(dāng)一個 Oracle 數(shù)據(jù)庫使用大文件表空間,且使用最大的數(shù)據(jù)塊容量時(32K),其總?cè)萘靠梢赃_(dá)到 8EB。
在超大型數(shù)據(jù)庫中使用大文件表空間減少了數(shù)據(jù)文件的數(shù)量,因此也簡化了對數(shù)據(jù)文件的管理工作。由于數(shù)據(jù)文件的減少,SGA 中關(guān)于數(shù)據(jù)文件的信息,以及控制文件 (control file) 的容量也得以減小。
由于數(shù)據(jù)文件對用戶透明,由此簡化了數(shù)據(jù)庫管理工作。
使用大文件表空間時需要考慮的因素:
大文件表空間 (bigfile tablespace) 應(yīng)該和自動存儲管理 (Automatic Storage Management) 或其他邏輯卷管理工具 (logical volume manager) 配合使用,這些工具應(yīng)該能夠支持動態(tài)擴(kuò)展邏輯卷,也能支持 striping(數(shù)據(jù)跨磁盤分布)或 RAID。
應(yīng)該避免在不支持 striping 的系統(tǒng)上使用大文件表空間,因為這將不利于并行執(zhí)行 (parallel execution) 及 RMAN 的并行備份(backup parallelization)。
當(dāng)表空間正在使用的磁盤組 (disk group) 可能沒有足夠的空間,且擴(kuò)展表空間的唯一辦法是向另一個磁盤組加入數(shù)據(jù)文件時,應(yīng)避免使用大文件表空間。
不建議在不支持大文件的平臺上使用大文件表空間,這會限制表空間 (tablespace) 的容量。參考相關(guān)的操作系統(tǒng)文檔了解其支持的最大文件容量。
如果使用大文件表空間替代傳統(tǒng)的表空間,數(shù)據(jù)庫開啟 (open),checkpoints,以及 DBWR 進(jìn)程的性能會得到提高。但是增大數(shù)據(jù)文件(datafile) 容量可能會增加備份與恢復(fù)的時間。
大文件表空間從某種角度來說提高了 Oracle 在 VLDB 上的管理能力。只有自動段空間管理的 LMT (Locally Managed Tablespaces) 支持 BIGFILE 表空間。大文件表空間只能包含一個文件,但是文件可以達(dá)到 4G 個數(shù)據(jù)塊大小。
3. OMF
OMF, 全稱是 Oracle_Managed Files, 即 Oracle 文件管理,使用 OMF 可以簡化管理員的管理工作,不用指定文件的名字、大小、路徑,其名字,大小,路徑由 oracle 自動分配。在刪除不再使用的日志、數(shù)據(jù)、控制文件時,OMF 也可以自動刪除其對應(yīng)的 OS 文件。
OMF 支持下列文件的自動管理:
表空間
日志文件(聯(lián)機)
控制文件
前提條件:需要為這些類型文件設(shè)定相關(guān)參數(shù)。
OMF 優(yōu)缺點:
優(yōu)點:可以自動化管理條件數(shù)據(jù)文件,操作簡潔,節(jié)約空間
缺點:減少了數(shù)據(jù)文件的可控性,作為一個 DBA 在維護(hù) DB 時就應(yīng)該規(guī)劃好數(shù)據(jù)文件存放的位置,命名規(guī)則和初始大小。
OMF 并非 10g/11g 新技術(shù),但通過與 ASM、大表空間技術(shù)的結(jié)合,將極大的簡化了數(shù)據(jù)庫管理工作。
4. ASM\BFT\OMF 綜合建議
傳統(tǒng)數(shù)據(jù)系統(tǒng),尤其是在 ORACLE RAC 上部署的數(shù)據(jù)庫系統(tǒng),采用的是經(jīng)典的卷組和裸設(shè)備技術(shù)方案,這種方案將導(dǎo)致大量存儲空間的設(shè)計工作,例如各個表空間、數(shù)據(jù)文件大小、名稱以及相對應(yīng)的卷組和裸設(shè)備的設(shè)計工作。在投入運行后,由于裸設(shè)備不能自動擴(kuò)展,而數(shù)據(jù)規(guī)模不斷增長,會給后期運行維護(hù)帶來很大負(fù)擔(dān)。
(1) 建議
針對那些數(shù)據(jù)量龐大、表空間多的海量系統(tǒng)特點,為簡化管理,建議將 ASM、OMF、BFT 技術(shù)綜合使用。為使用 OMF,建議對數(shù)據(jù)庫實例設(shè)置以下參數(shù):
DB_CREATE_FILE_DEST= +DATA
(2) 使用過程及效果評估
ASM、OMF、BFT 技術(shù)綜合使用,有以下優(yōu)點:
使表空間的創(chuàng)建和刪除腳本簡化,不需要指定具體的數(shù)據(jù)文件,如:
create bigfile tablespace TS_TAB_TRANSACTIONS datafile size 20G;
在刪除表空間時,對應(yīng)的 ASM 數(shù)據(jù)文件會自動刪除,如:
drop tablespace TS_TAB_TRANSACTIONS including contents;
可直接對表空間自動擴(kuò)容,不需要指定數(shù)據(jù)文件:
alter tablespace TS_TAB_TRANSACTIONS resize 30G;
關(guān)于如何分析 Oracle 數(shù)據(jù)庫表空間設(shè)計中 ASM/BFT/OMF 的綜合使用就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,可以學(xué)到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。