數據庫的存在一定需要有永久性存儲方式和介質。Oracle自然也不例外,在Oracle10g中,有4種存儲形式,分別是操作系統文件,裸分區,自動存儲管理,集群系統OCFS(RAC)。下面分別說一下這4種存儲形式。
1 操作系統文件。 這種是大家最常用的方式了,也是非商業運行模式(比如開發或者開發階段的測試環境)下最常用的形式。當大家安裝Oracle的時候,如果選用了操作系統文件的存儲形式,那麼就會把Oracle的數據存儲在操作系統中,以文件的形式存在。就好像我們玩某些單機版游戲,你的存檔就是操作系統的文件一樣。用文件形式存儲數據,帶來的優點就是易於數據庫移動。比如你把Oracle的數據文件直接copy到一台電腦上,就可以很快復制出一個一樣的數據庫系統出來。在文件的讀寫的時候,操作系統通常會提供緩存形式進行讀寫,避免過多讀寫硬盤對磁盤造成很大傷害。所以用操作系統文件形式存儲數據,等於先天性獲得了操作系統的緩存功能。 2 裸分區。裸分區就是把數據庫直接寫在磁盤上,不再經過操作系統這一層,Oracle專門來對這個分區進行讀寫。因為沒有了操作系統這一層,所以讀寫起來的速度和性能是質一般的飛躍的,在某些對Oracle讀寫非常頻繁的數據庫應用中,采用裸分區形式存儲數據甚至可以提高30%以上的性能。當然,如果數據存儲是采用的操作系統文件,如果在Unix下采用RAID對於文件讀寫操作頻繁的情況下也是一個可以提高性能的手段。
3 自動存儲管理。 自動存儲管理通常也被稱為ASM,是在Oracle 10g以後才提供的一種新的存儲形式。這種存儲形式貌似是前兩種存儲形式的折中。既不是用的host操作系統的文件系統,也不是裸分區的形式直接由Oracle讀寫。而是可以看作為一種Oracle特有的文件系統形式。在ASM上可以存儲數據文件,控制文件,日志文件等等,在ASM中,這些也是以文件的形式存在的,只不過這個時候的文件格式是Oracle自有的ASM形式。在Linux中和ASM有點相似的就是LVM(邏輯Volume管理),也是可以看作是一種自有的新的文件系統形式。
4 集群系統OCFS(RAC)。RAC的全稱是什麼呢,就是Real Application Cluster,是一種在集群的環境下實現共享的一種數據庫存儲形式。在通常我們的數據庫,如果是單機版的數據庫,當數據文件磁盤不能訪問,那麼這個數據庫就掛掉了。如果是集群共享數據庫的話,其中一種方法就是在某個節點存放數據文件,其余的數據庫都通過NFS或者Samba來進行共享,雖然數據庫的數據處理能力得到了很大的提高,不過如果這個存儲節點掛掉的話,同樣數據庫也就宕掉了。而OCFS則是一種無斷點恢復的存儲形式,在整體給人的感覺就是每台數據服務器都有自己的文件系統,但是這些文件系統又仿佛只是同一個文件系統,因為數據更新或者其他的操作都是很統一的。即使某台電腦掛了,其余的服務器照樣運行,不會出現數據庫的異常,而如果想新加入一台服務器也是很簡單的事。特別適合於商用的7X24這種服務形式。
Oracle10g中的4種數據存儲方式都介紹完了,我們最常用的自然是第一種形式,不過後面三種形式在商用環境下比較多。特別在大型商用對可靠性要去很高應用中,第四種RAC形式的使用是比較多的。當然,這裡只是很簡要的介紹了一下幾個文件系統的概念。如果要仔細了解的話,當然是要好好查閱Oracle技術手冊了。
http://tb.blog.csdn.net/TrackBack.aspx?PostId=1504817