一、ASM相關概念(概念摘自:一彌沙的世界)
1.什麼是ASM(Auto Storage Management)
1 簡稱自動儲存管理,是一種用於管理磁碟的工具2 能夠在多個物理裝置之間實現條帶化、鏡像資料檔案、恢複檔案等3 檔案按配置單位AUs(allocation units)平衡分布在磁碟組的所有磁碟中,ASM使用索引技術來跟蹤每個AUs的位置4 支援聯機磁碟的動態增加和減少,當磁碟發生變化後,AUs會自動重新實現動態分布5 支援RAC叢集技術,每一節點上運行一個ASM執行個體,各ASM執行個體間能實現點對點通訊6 是一個純軟體層級的實現方式,第三方RAID工作在卷層次上,使用統一條帶大小,ASM可以工作在檔案層次層級,不同檔案可以使用不同的條帶大小
2.ASM的優點
1 磁碟增加:增加磁碟變得非常容易。無需停機時間,並且檔案地區自動重新分配。2 I/O 分配:I/O 自動分布在所有可用的磁碟上,無需人工幹預,從而減少了熱點出現的可能性。 3 帶區寬度:在重做記錄檔中分段可以細分(K,以獲得更快的傳輸速率),對於資料檔案,帶區則略大一些(MB,以一次性傳輸大量的資料區塊)。4 緩衝:ASM 檔案系統不進行緩衝,直接進行輸入/輸出。5 鏡像:如果硬體鏡像不可用,則可以容易地建立軟體鏡像。 6 核心化的非同步I/O :實現核心化的非同步I/O 無需特殊的設定,並且無需使用原始或第三方的檔案系統(如 Veritas Quick I/O)
3.Oracle 常用資料檔案的RAID層級
1 SYSTEM、UNDO資料表空間通常置於RAID 1卷上2 聯機重做日誌通常置於RAID 0卷上3 控制檔案通常置於RAID 0+1 卷上4 資料檔案通常置於RAID 5卷上
4.ASM體繫結構(主要由ASM執行個體及ASM磁碟組組成)
1 ASM的使用需要建立一個ASM執行個體,用於管理ASM磁碟組2 ASM磁碟組由ASM磁碟組成,可以包含一個或多個ASM磁碟3 ASM磁碟可以是實際的磁碟,也可以是磁碟的某個分區,或LVM管理的邏輯卷,但必須是未格式化的原始裝置4 ASM磁碟組的大小為該組內ASM磁碟大小的總和,可使用的容量則根據容錯層級而有不同的可用大小
5.ASM執行個體及RDBMS執行個體
1 ASM執行個體類似於普通的資料庫執行個體(RDBMS),同樣由SGA和一堆後台進程組成,對大多數系統而言,SGA只需64 MB即可2 ASM執行個體中的LargePool 用於存放Extent Map,可以根據資料庫的大小來計算LargePool的大小,通常100GB大小需要1MB存放Extent Map3 普通的RDBMS執行個體會定位元據檔案並開啟其資料檔案,而在使用ASM儲存的資料庫中,該工作由ASM執行個體接管,即ASM執行個體用於定位和管理ASM磁碟,磁碟組。4 ASM執行個體擁有類似於普通RDBMS執行個體的後台進程,如SMON,PMON,LGWR,DBWR,CKPT等,還增添了兩個新進程,一類是RBAL,一類是ARBn5 RBAL:用於協調和管理磁碟組之間的動態平衡6 ARBn:可以為多個,用於完成AU的移動7 ASM執行個體僅僅是定位管理ASM磁碟,不能載入或開啟資料庫,因此也無法讀取資料字典資訊8 ASM執行個體通常有個參數,只能使用口令檔案或作業系統身分識別驗證作為sysdba或sysoper來啟動或關閉該執行個體。
1 一個ASM執行個體可以為多個RDBMS提供服務,可以在一台主機上建立多個ASM執行個體,但通常一台主機上使用一個ASM執行個體2 如果一個執行個體服務於多個RDBMS,建議將ASM的ASM_HOME與DB的ORACLE_HOME分開,便於日後的升級與維護3 ASM磁碟組的建立與配置在ASM執行個體啟動之後
1 使用ASM磁碟的RDBMS執行個體與普通的RDBMS執行個體相同,但多出了兩個後台進程,RBAL,ASMB。2 ASMB藉助某個伺服器處理序如oracle+ASM1建立普通RDBMS執行個體到ASM執行個體的會話,並傳遞磁碟檔案的相關資訊3 注意:ASM 執行個體並不代替RDBMS執行個體來讀取或寫入資料檔案,資料是直接在ASM磁碟和RDBMS執行個體傳遞,ASM執行個體僅用於定位元據檔案所在的asm磁碟,盤區以及所需的相關資訊。假定新增加資料檔案,則RDBMS告知ASM執行個體要建立資料檔案,ASM執行個體則分配盤區(extent),並建立盤區映射地址返回給RDBMS執行個體,RDBMS則將資料直接寫入到磁碟組。
6.ASM執行個體中儲存的檔案類型
1 控制檔案,參數檔案,聯機記錄檔,歸檔記錄檔,資料檔案,臨時檔案2 RMAN備份組,映像副本,控制檔案備份集,datapump 轉儲檔案、Change Tracing file
二、建立ASM執行個體(下面基於VMware + SOLARIS10 + Oracle 10g R2示範)
1.添加裸裝置SOLARIS 10
2.查看添加的裸裝置
1 -bash-3.00$ cd /dev/rdsk 2 -bash-3.00$ ls -l c2t*d0s1 3 -- 紅色字型raw表示以字元方式訪問 4 lrwxrwxrwx 1 root root 64 Apr 14 22:29 c2t0d0s1 -> http://www.cnblogs.com/devices/pci@0,0/pci15ad,790@11/pci15ad,1976@2/sd@0,0:b,raw 5 lrwxrwxrwx 1 root root 64 Apr 14 22:29 c2t1d0s1 -> http://www.cnblogs.com/devices/pci@0,0/pci15ad,790@11/pci15ad,1976@2/sd@1,0:b,raw 6 lrwxrwxrwx 1 root root 64 Apr 15 01:26 c2t2d0s1 -> http://www.cnblogs.com/devices/pci@0,0/pci15ad,790@11/pci15ad,1976@2/sd@2,0:b,raw 7 lrwxrwxrwx 1 root root 64 Apr 15 01:26 c2t3d0s1 -> http://www.cnblogs.com/devices/pci@0,0/pci15ad,790@11/pci15ad,1976@2/sd@3,0:b,raw 8 -bash-3.00$ 9 -bash-3.00$ cd /dev/dsk10 -bash-3.00$ ls -l c2t*d0s111 -- 紅色b 表示以塊的方式訪問12 lrwxrwxrwx 1 root root 60 Apr 14 22:29 c2t0d0s1 -> http://www.cnblogs.com/devices/pci@0,0/pci15ad,790@11/pci15ad,1976@2/sd@0,0:b13 lrwxrwxrwx 1 root root 60 Apr 14 22:29 c2t1d0s1 -> http://www.cnblogs.com/devices/pci@0,0/pci15ad,790@11/pci15ad,1976@2/sd@1,0:b14 lrwxrwxrwx 1 root root 60 Apr 15 01:26 c2t2d0s1 -> http://www.cnblogs.com/devices/pci@0,0/pci15ad,790@11/pci15ad,1976@2/sd@2,0:b15 lrwxrwxrwx 1 root root 60 Apr 15 01:26 c2t3d0s1 -> http://www.cnblogs.com/devices/pci@0,0/pci15ad,790@11/pci15ad,1976@2/sd@3,0:b16 -bash-3.00$
3.更改裸裝置屬性 屬組
1 # chown -R oracle:oinstall /dev/rdsk/c2t*d0s12 # chmod 660 /dev/rdsk/c2t*d0s13 # ls -l /dev/rdsk/c2t*d0s14 lrwxrwxrwx 1 root root 64 Apr 14 22:29 /dev/rdsk/c2t0d0s1 -> http://www.cnblogs.com/devices/pci@0,0/pci15ad,790@11/pci15ad,1976@2/sd@0,0:b,raw5 lrwxrwxrwx 1 root root 64 Apr 14 22:29 /dev/rdsk/c2t1d0s1 -> http://www.cnblogs.com/devices/pci@0,0/pci15ad,790@11/pci15ad,1976@2/sd@1,0:b,raw6 lrwxrwxrwx 1 root root 64 Apr 15 01:26 /dev/rdsk/c2t2d0s1 -> http://www.cnblogs.com/devices/pci@0,0/pci15ad,790@11/pci15ad,1976@2/sd@2,0:b,raw7 lrwxrwxrwx 1 root root 64 Apr 15 01:26 /dev/rdsk/c2t3d0s1 -> http://www.cnblogs.com/devices/pci@0,0/pci15ad,790@11/pci15ad,1976@2/sd@3,0:b,raw
嗯?什麼都沒有改變!但此步驟不可省略,否則用dbca添加建立磁碟組時,無法識別添加的磁碟。瞭解這塊的同學,可以給我留言!
4.設定環境變數:DISPLAY
1 export DISPLAY=192.168.2.1:0.0
哈哈,現在就可以利用xmanager+dbca來安裝ASM了!