ASM學習筆記_體系結構

gdutllf2006發表於2010-05-17

ASM學習筆記_體系結構

1 ASM 作為Oracle推薦的首選方案,除了具有叢集檔案系統的功能,同時還整合了冗餘,I/O分散等卷管理器的功能.可以透過兩種方式使用ASM,
包括建立在裸裝置上,如果安裝ASMLIB,也可以建立在塊裝置上.

2 ASM Instance 與RDBMS 的互動
當ASM例項掛載一個磁碟組之後,ASM會把Disk Group Name, ASM Instance Name, Oracle Home Path等資訊註冊到CSS,這些資訊會被用來構造Connect String.
當RDBMS啟動過程中需要訪問某個ASM File時, RDBMS會和CSS聯絡,從CSS中獲取Connect String,然後發起一個到ASM例項的連線,這條ASM和RDBMS例項之間的初始連線叫作
Umbilicu(臍帶),只要RDBMS開啟ASM File,這個連線就會保持活動.直到所有ASM File都被RDBMS例項關閉之後,這個連線才會關閉.

3 SGA
ASM 的SGA和RDBMS沒有區別, 也包括Buffer Cache, Shared Pool, Large Pool等部分,需要注意的是Shared Pool, 因為Extent Map也放在這部分記憶體中.
Extent Map: 儲存RDBMS例項中的儲存分配單元Extent與ASM例項中的分配單元AU的對應關係.

4 後臺程式
ASM例項:
1) RBAL: reblancer程式,負責規劃ASM磁碟組的Reblance活動

2) ABRn: 是RBAL程式的子程式,真正完成Reblance活動

RDBMS例項:
1) RBAL: 負責開啟每個磁碟組的所有磁碟
2) ASMB: 這個程式作為ASM例項和資料庫例項之間的資訊通道.這個程式負責與ASM例項的通訊,它先利用Diskgroup name從CSS獲得管理該Diskgroup的ASM例項的連線串,然後建立到ASM的持久連線,兩個例項透過這條連線定期交換資訊,同時也是一種心跳機制.
3)O0nn 01-10:這組程式建立到ASM例項的連線,某些長時間操作比如建立資料檔案,RDBMS會透過這些程式向ASM傳送資訊


5 檔案
ASM例項的執行表面上看不需要任何檔案,實際上ASM也需要許多"檔案"用來保證正常執行,只是這些檔案是Oracle內部維護的,對於DBA不可見,而且也不需要DBA的干預.


6 存在的問題

問題記錄:
1) Oracle文件一再強調的在新增/刪除DiskGroup, Disk,在ASM層面的管理操作時不影響應用系統的理解是, 在RAC層面, 對某一個節點上ASM操作,這個節點上的RDBMS必須Shutdown,ASM 例項必須Dismount. 但由於這是RAC,業務不會受到影響,還可以走另一個節點. 不是這樣的.
ASM 與RAC 並沒有必然的關聯, Oracle一再強調的可以線上管理,是指DiskGroup組之間不會互相影響.
假定你想刪除一個DiskGroup,只要這個DiskGroup上的檔案在RDBMS不是 ACTIVE的就行.


2) 對ASM的理解,ASM其實就是LVM披上了Oracle的馬甲,
 Disk 對應PV, Diskgroup 對應VG,

3) ASM 例項的Spfile, 或pfile 在哪裡呢?
$ORACLE_HOME/dbs/spfile+ASM.ora

 

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/10248702/viewspace-662860/,如需轉載,請註明出處,否則將追究法律責任。

相關文章