這帶來(lái)了很多好處,但是也要求學(xué)習(xí)一些新的概念、命令、使用和管理任務(wù)。所以在投入你的生產(chǎn)系統(tǒng)之前,看看它解決什么、管理什么,以及對(duì)它的正反面評(píng)價(jià)。
為什么創(chuàng)建它?
回答這個(gè)問(wèn)題的最好方式是直接追溯源頭,Bill Bridge——自動(dòng)存儲(chǔ)管理的最初架構(gòu)師。在Oracle Press標(biāo)題中的Oracle ASM,Bill提供了一個(gè)鏈接,他在那里討論了使用供應(yīng)商特定操作系統(tǒng)的文件系統(tǒng)來(lái)管理Oracle數(shù)據(jù)文件放置所遇到的問(wèn)題:
1. 對(duì)于歸檔日志和備份,操作系統(tǒng)供應(yīng)商不提供共享磁盤(pán)文件系統(tǒng)。
2. 邏輯卷管理器隱藏了文件的位置,使得很難管理磁盤(pán)I/O和提供良好的統(tǒng)計(jì)。
3. 當(dāng)磁盤(pán)數(shù)超過(guò)100時(shí),現(xiàn)有的lvm不能工作得很好。
4. 當(dāng)數(shù)據(jù)庫(kù)有1000以上的數(shù)據(jù)文件時(shí),操作系統(tǒng)和Oracle不能很好地處理數(shù)據(jù)庫(kù)。
5. 當(dāng)有大量數(shù)據(jù)文件時(shí)命名就變得很困難了。
6. 特性和文件系統(tǒng)限制隨操作系統(tǒng)的不同而不同。
7. 操作系統(tǒng)級(jí)的用戶可以通過(guò)標(biāo)準(zhǔn)使用接觸到Oracle文件,而Oracle并不知道。
所以,他通過(guò)建立Oracle自己的文件系統(tǒng)開(kāi)始解決這些問(wèn)題。他的目標(biāo)是提供這些特性:
1. 與Oracle緊密集成,并與集群一起使用(并行服務(wù)器)。
2. 自動(dòng)使用新的存儲(chǔ),作為磁盤(pán)單元或磁盤(pán)組來(lái)管理。
3. 支持成千上萬(wàn)的磁盤(pán)。
4. 文件不會(huì)名字,并會(huì)在操作系統(tǒng)中隱藏起來(lái)。
誰(shuí)需要它?
現(xiàn)在快速瀏覽一下上面那些問(wèn)題和解決方案會(huì)幫助你確定誰(shuí)需要ASM。起初,它是用來(lái)處理現(xiàn)在很大型的聯(lián)機(jī)數(shù)據(jù)庫(kù)。所以如果它包括你的商店,那么你可能已經(jīng)在關(guān)注它了,或者開(kāi)始執(zhí)行ASM。如果你的數(shù)據(jù)庫(kù)較小,數(shù)據(jù)文件也不多,那么你可能需要再一些理由使你考慮采用它。
1. 你將要熟悉一些新技術(shù),并且應(yīng)該從在你的開(kāi)發(fā)環(huán)境中建立它開(kāi)始,并測(cè)試幾個(gè)月。
2. 如果你想從你現(xiàn)有的磁盤(pán)子系統(tǒng)中獲得更高的性能,并獲得更好的統(tǒng)計(jì)用于預(yù)測(cè)磁盤(pán)I/O。
3. 如果你正在使用RAC,那么就需要考慮ASM了。
開(kāi)始
ASM是由一個(gè)實(shí)例管理,非常類(lèi)似于Oracle數(shù)據(jù)庫(kù)。但是初始參數(shù)是非常有限的,而且啟動(dòng)過(guò)程也簡(jiǎn)單得多。
a. 將你的ORACLE_SID設(shè)置為+ASM1
b. 編輯init.ora
復(fù)制代碼 代碼如下:
# as opposed to RDBMS for a normal Oracle instance
INSTANCE_TYPE=ASM
# these names will be used in place of datafile names when you create tablespaces
ASM_DISKGROUPS=SEAN, AARON
processes=100
# this parameter is platform specific and is the path to the raw disk device
ASM_DISKSTRING='/dev/cciss/c0d0p1'
# on 11g you should use diagnostic_dest instead of these
background_dump_dest=/opt/oracle/admin/+ASM/bdump'
core_dump_dest=/opt/oracle/admin/+ASM/cdump'
user_dump_dest=/opt/oracle/admin/+ASM/udump'
c. 啟動(dòng)ASM實(shí)例
復(fù)制代碼 代碼如下:
$ sqlplus / as sysdba
SQL> startup
d. 創(chuàng)建磁盤(pán)組
復(fù)制代碼 代碼如下:
SQL> create diskgroup SEAN disk '/dev/cciss/c0d0p1';
e. 檢查表空間的創(chuàng)建
你可能會(huì)猜測(cè),創(chuàng)建一個(gè)表空間會(huì)有輕微的改變。默認(rèn)方法如下所示:
SQL> create tablespace sean_space datafile ‘+SEAN' size 1GB;
不過(guò)想一下這個(gè)很好的特性。如果在你的數(shù)據(jù)庫(kù)中init.ora文件你設(shè)置參數(shù)為: