帶您了解Oracle文件系統(tǒng)機(jī)制
Oracle文件系統(tǒng)對(duì)于很多剛接觸Oracle數(shù)據(jù)庫(kù)的新人來(lái)說(shuō),可能還是一個(gè)陌生的概念。下面就為您詳細(xì)介紹Oracle文件系統(tǒng)機(jī)制,希望可以對(duì)您學(xué)習(xí)Oracle有所幫助。
在Oracle中,可以用4種Oracle文件系統(tǒng)機(jī)制存儲(chǔ)你的數(shù)據(jù)。這里強(qiáng)調(diào)了“你的數(shù)據(jù)”,是指你的數(shù)據(jù)字典、redo記錄、undo記錄、表、索引、LOB等,也就是你自己每天關(guān)心的數(shù)據(jù)。簡(jiǎn)單地講,這包括:
“Cooked”操作系統(tǒng)(OS)文件系統(tǒng)
這些文件就像字處理文檔一樣放在文件系統(tǒng)中。在Windows 資源管理器中可以看到這些文件,在UNIX上,可以通過(guò)ls命令看到這些文件??梢允褂煤?jiǎn)單的OS工具(如Windows上的xcopy或UNIX上的cp)來(lái)移動(dòng)文件。從歷史上看,Cooked OS文件一直是Oracle中存儲(chǔ)數(shù)據(jù)的“最流行”的方法,不過(guò)我個(gè)人認(rèn)為,隨著ASM(稍后再詳細(xì)說(shuō)明)的引入,這種情況會(huì)有所改觀。Cooked文件系統(tǒng)(“加工”文件系統(tǒng)或“熟”文件系統(tǒng))通常也會(huì)緩存,這說(shuō)明在你讀寫(xiě)磁盤(pán)時(shí),OS會(huì)為你緩存信息。
原始分區(qū)(raw partitions,也稱裸分區(qū))
這不是文件,而是原始磁盤(pán)。不能用ls來(lái)查看;不能在Windows資源管理器中查看其內(nèi)容。它們就是磁盤(pán)上的一些大扇區(qū),上面沒(méi)有任何文件系統(tǒng)。對(duì)Oracle來(lái)說(shuō),整個(gè)原始分區(qū)就是一個(gè)大文件。這與cooked文件系統(tǒng)不同,cooked文件系統(tǒng)上可能有幾十個(gè)甚至數(shù)百個(gè)數(shù)據(jù)庫(kù)數(shù)據(jù)文件。目前,只有極少數(shù)Oracle安裝使用原始分區(qū),因?yàn)樵挤謪^(qū)的管理開(kāi)銷很大。原始分區(qū)不是緩沖設(shè)備,所完成的所有I/O都是直接I/O,對(duì)數(shù)據(jù)沒(méi)有任何OS緩沖(不過(guò),對(duì)于數(shù)據(jù)庫(kù)來(lái)說(shuō),這通常是一個(gè)優(yōu)點(diǎn))。
自動(dòng)存儲(chǔ)管理(Automatic Storage Management,ASM)
這是 Oracle 10gRelease 1 的一個(gè)新特性(標(biāo)準(zhǔn)版和企業(yè)版都提供了這個(gè)特性)。ASM是專門為數(shù)據(jù)庫(kù)設(shè)計(jì)的文件系統(tǒng)。可以簡(jiǎn)單地把它看作一個(gè)數(shù)據(jù)庫(kù)文件系統(tǒng)。在這個(gè)文件系統(tǒng)上,不是把購(gòu)物清單存儲(chǔ)在文本文件中;這里只能存儲(chǔ)與數(shù)據(jù)庫(kù)相關(guān)的信息:你的表、索引、備份、控制文件、參數(shù)文件、重做日志、歸檔文件等。不過(guò),即使是ASM,也同樣存在著相應(yīng)的數(shù)據(jù)文件;從概念上講,數(shù)據(jù)庫(kù)仍存儲(chǔ)在文件中,不過(guò)現(xiàn)在的文件系統(tǒng)是ASM。ASM設(shè)計(jì)成可以在單機(jī)環(huán)境或者集群環(huán)境中工作。
集群文件系統(tǒng)
這個(gè)文件系統(tǒng)專用于RAC(集群)環(huán)境,看上去有些像由集群環(huán)境中多個(gè)節(jié)點(diǎn)(計(jì)算機(jī))共享的cooked文件系統(tǒng)。傳統(tǒng)的cooked文件系統(tǒng)只能由集群環(huán)境中的一臺(tái)計(jì)算機(jī)使用。所以,盡管可以在集群中的多個(gè)節(jié)點(diǎn)之間使用NFS裝載或Samba共享一個(gè)cooked文件系統(tǒng)(Samba與NFS類似,可以在Windows/UNIX環(huán)境之間共享磁盤(pán)),但這會(huì)導(dǎo)致一損俱損。如果安裝有文件系統(tǒng)并提供共享的節(jié)點(diǎn)失敗,這個(gè)文件系統(tǒng)都將不可用。Oracle集群文件系統(tǒng)(Oracle Cluster File System,OCFS)是Oracle在這個(gè)領(lǐng)域推出的一個(gè)新的文件系統(tǒng),目前只能在Windows和Linux上使用。其他第三方開(kāi)發(fā)商也提供了一些經(jīng)認(rèn)證的集群文件系統(tǒng),也可以用于Oracle。集群文件系統(tǒng)讓cooked文件系統(tǒng)的優(yōu)點(diǎn)延伸到了集群環(huán)境中。
數(shù)據(jù)庫(kù)可能包含來(lái)自上述所有文件系統(tǒng)中的文件,你不必只選其中的一個(gè)。在你的數(shù)據(jù)庫(kù)中,可能部分?jǐn)?shù)據(jù)存儲(chǔ)在一個(gè)傳統(tǒng)的cooked文件系統(tǒng)中,有些在原始分區(qū)上,有一些在ASM中,還有一些在集群文件系統(tǒng)中。這樣就能很容易地切換技術(shù),或者只是涉及一個(gè)新的文件系統(tǒng),而不必把整個(gè)數(shù)據(jù)庫(kù)都搬到這個(gè)文件系統(tǒng)中。
【編輯推薦】