lvm緩存
❶ 資料庫的4種狀態是什麼
Oracle10g資料庫的4種存儲形式
資料庫的存在一定需要有永久性存儲方式和介質。Oracle自然也不例外,在Oracle10g中,有4種存儲形式,分別是操作系統文件,裸分區,自動存儲管理,集群系統OCFS(RAC)。下面分別說一下這4種存儲形式。 1 操作系統文件。 這種是大家最常用的方式了,也是非商業運行模式(比如開發或者開發階段的測試環境)下最常用的形式。當大家安裝Oracle的時候,如果選用了操作系統文件的存儲形式,那麼就會把Oracle的數據存儲在操作系統中,以文件的形式存在。就好像我們玩某些單機版游戲,你的存檔就是操作系統的文件一樣。用文件形式存儲數據,帶來的優點就是易於資料庫移動。比如你把Oracle的數據文件直接到一台電腦上,就可以很快復制出一個一樣的資料庫系統出來。在文件的讀寫的時候,操作系統通常會提供緩存形式進行讀寫,避免過多讀寫硬碟對磁碟造成很大傷害。所以用操作系統文件形式存儲數據,等於先天性獲得了操作系統的緩存功能。
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技術手冊了。
❷ aix /dev目錄下hdisk 和 rhdisk的區別
1. 塊設備雖然表面上可以接受『不定長』的『邏輯』請求(例如 dd bs=1),但它必須經過塊緩存(block buffer)模塊才能達到LVM I/O 模塊,而塊緩存I/O必然是以「一個」 512位元組塊進行的(不能大,也不能小)。所以,在LVM這一層發生的還是512位元組的讀寫。當你寫1位元組的時候,塊緩存模塊必須先把當前的512位元組從 LV里讀出來,更新一個位元組以後再把整個512位元組寫回去。如果你讀寫1KB,塊緩存必須把它分成兩個512位元組的請求發個LVM。所以在LVM層實際發 生了兩個512位元組的讀寫。
2. 字元設備從定義上支持不定長存取。但由於 LVM 底層實現採用了block I/O 的方式,I/O 必須以 512位元組 的整數倍進行,並且單個I/O 大小不能大於 LTG (預設128KB)。由於不經過緩存模塊的『打包』,1位元組的請求不能在到達LVM底層時變成512位元組,所以LVM返回 EINVAL 的錯。但4KB, 8KB 直到 128KB 的請求都會直接處理,不會被分拆成 512位元組,這是和塊設備的存取方式的本質區別。
>> 反而塊設備是利用了系統緩存,可以支持變長I/O的,這正是使用額外緩存帶來的靈活度。