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