ASM相關概念(筆記)

舊夢依稀發表於2013-07-31
1、ASM由3個關鍵元件構成
ASM例項、ASM動態卷管理器(ADVM)、ASM叢集檔案系統(ACFS)
2、簡而言之,ASM環境以非常簡單的檔案系統管理提供了原始磁碟I/O的效能。它簡化了資料庫管理,不再需要直接管理可能達到數千個的Oracle資料庫檔案
3、ASM的物理限制
Oracle 11gR2每個表空間中支援65533個資料檔案。
ASM可以有63個磁碟組(diskgroup),共包含10000個ASM磁碟,每個ASM磁碟支援2TB資料儲存,一個磁碟組可以管理100萬個ASM檔案。
在Oracle 11g中,一個資料檔案最大為128TB,而ASM在採用外部冗餘時支援140PB資料,正常冗餘模式下支援42PB,高冗餘模式下支援15PB.
4、ASM支援一個Oracle資料庫使用的所有檔案(pfile和密碼檔案除外)。從Oracle 11gR2開始,ACFS可用於非Oracle應用程式檔案。
5、ASM條帶化
分隔資料的單元稱為條帶大小
可以同時讀寫的並行條帶數量稱為條頻寬度
ASM支援兩個分條級別:精細分條(條頻寬度為128KB)、粗略分條(條頻寬度為1MB)
6、SAME(Stripe And Mirror Everything——對所有內容進行條帶化和映象)
7、ASM原生支援字元裝置(一般又叫裸裝置、原始裝置、RAW),但是Linux系統最多隻能有255個原始裝置
安裝ASMLib後可以支援塊裝置(即經過格式化的分割槽)
8、ASM例項
所有後設資料的修改都是由ASM例項完成的
資料庫例項連線到一個ASM例項,以建立、刪除、開啟、關閉檔案或者改變其大小。
資料庫例項直接讀寫由ASM例項管理的磁碟。
在一個叢集中,一個節點只能有一個ASM例項。
ASM例項故障會終止本地節點中的資料庫例項。
9、ASM監聽
ASM監聽程式在$GRID_HOME/bin目錄下,預設在1521埠啟動監聽。
在安裝了ASM服務的環境中,只需啟動ASM的監聽即可,它會自動監聽執行在同一臺計算機上的資料庫服務。
10、在Oracle 11gR2之後,不再支援直接使用裸裝置作為RAC叢集的共享儲存,只有在從10g像11g升級的情況下還支援裸裝置做共享儲存。在以後的安裝中都應該使用ASM管理共享儲存。
11、分配單元
ASM磁碟分為大量的單元或儲存塊,預設是以1MB大小分配。不能改變一個已有磁碟組的分配單元大小。
12、卷分配單元——是ASM在ASM動態卷分配空間中的最小儲存單元。預設ASM在ASM磁碟組內部建立一個64MB的卷分配單元,這個磁碟組的預設分配單元大小為1MB.
13、故障組——是diskgroup中的一組ASM磁碟,只對正常冗餘和高冗餘磁碟組有用。
14、磁碟夥伴(Disk Partner)
Disk Partner限制了兩個獨立的磁碟故障丟失一個虛擬盤區的兩個副本的可能性。每個磁碟都有有限數量的Disk Partner,冗餘副本被分配到Disk Partner上。磁碟夥伴是ASM自動選擇的,被放置在不同的故障組中。Disk Partner的大小、效能等都應該相同。
15、ASM管理介面
SQLPLUS,ASMCMD,ASMCA,SRVCTL
16、ASM動態效能檢視
v$ASM 顯示ASM例項資訊
v$ASM_DISKGROUP 列出了在ASM中建立的磁碟組,還有後設資料資訊(如空閒空間、分配單元大小和狀態)
v$ASM_FILE 列出了在v$ASM_DISKGROUP中所建立的檔案
v$ASM_ALIAS 列出了再v$ASM_FILE檢視中所列出的ASM檔案的使用者友好名稱
v$ASM_DISK_IOSTAT 列出了v$ASM_DISKGROUP中列出的每個磁碟的I/O效能統計資訊
v$ASM_ACFSVOLUMES 列出了ASM動態卷的後設資料資訊
v$ASM_OPERATION 顯示了當前操作
17、活動改變目錄(ACD)
ACD是一種日誌記錄機制,類似於RDBMS中的redo log,ACD記錄了ASM例項中的所有後設資料改動,當需要前滾時會用到ACD。ACD作為一個檔案(大小為42MB)儲存在一個ASM磁碟中,是高冗餘的。
ASM的事務原子性是由ACD保證的。
18、持續操作目錄(COD)
COD是ASM例項中的一種記憶體結構,類似於RDBMS中的undo segment,它記錄了ASM操作及改變的資訊。
來自客戶端(例如RDBMS)的檔案建立請求會使用COD來保護完整性,COD會根據ASM操作的成功或失敗來提交或回滾。
19、ASM例項的初始化引數
可以在RDBMS和ASM例項中設定初始化引數,但有些引數只對ASM例項有效,以ASM開頭的引數不能用於RDBMS例項。強烈建議將這些引數儲存在ASM引數檔案中。
INSTANCE_TYPE 這是ASM例項中的唯一強制引數,其他引數都有預設值
ASM_POWER_LIMIT 設定磁碟再平衡的功能限制,預設是1,可選0-11,數值越大,再平衡速度越快,對RDBMS造成的效能影響越大
ASM_DISKSTRING 一個用逗號分隔的字串列表,它限制了ASM發現的磁碟集
CLUSTER_DATABASE 設定為TRUE啟用叢集儲存,必須確保叢集中所有ASM例項上的這個引數都要設定為相同值
ASM_DISKGROUPS 使用ALTER DISKGROUP ALL MOUNT命令或者由ASM在啟動時掛載的磁碟組名稱列表。如果沒指定這個引數,那麼除儲存SPFILE、OCR和表決磁碟的ASM磁碟組之外,不會掛載其他磁碟組
ASM_PREFERRED_READ_FAILURE_GROUPS 這個引數在11g中被引入,通過設定此引數允許擴充套件叢集配置中的ASM例項從本地磁碟中讀取資料,而不需要總是從主副本中讀取。在為擴充套件叢集配置ASM時,應該非常仔細地選擇故障組的數量,以為這一設定會對ASM讀取效能產生直接影響
LARGE_POOL_SIZE ASM例項使用的內部包是從LARGE POOL中執行的,因此應當將LARGE_POOL_SIZE設定為一個大於8MB的值,至於其它緩衝區的值可以使用預設值。
20、手動建立磁碟組
手動建立磁碟組可以通過SQLPLUS(CREATE DISKGROUP),ASMCMD(mkdg命令和ASMCA(GUI工具)
從Oracle 11g開始,可以在建立時為ASM磁碟組指定不同的屬性,這些屬性會對ASM磁碟組的效能和可用性產生影響,這些可在建立ASM磁碟組指定的屬性可以從V$ASM_ATTRIBUTE檢視中檢視。
ASM磁碟組的重要屬性:
AU_SIZE 指定所建立的ASM磁碟組的分配單元大小,預設是1MB。不能改變一個已有ASM磁碟組的該屬性,只能在建立時指定
DISK_REPAIR_TIME 此屬性指定了一個時間量,ASM在等待這一時間長度後將刪除一個離線磁碟並執行再平衡操作
COMPATIBLE.ADVM 此屬性預設為空。如果將使用這個磁碟組建立ASM動態卷,而且只在Oracle Grid Infrastructure 11g R2及以下版本中使用這個磁碟組,就需要設定這個屬性
CELL.SMART_SCAN_CAPABLE 此屬性僅對Oracle Exadata網格磁碟有效,它啟用基於智慧掃描的解除安裝處理
執行完建立ASM磁碟組命令後,ASM自動掛載新建立的磁碟組,並將磁碟組名稱新增到SPFILE中的ASM_DISKGROUP引數中,以後再重啟ASM例項時就會自動掛載上新建立的ASM磁碟組
如果希望ASM對檔案進行映象,則要在建立命令中指定冗餘度
一個磁碟組中的磁碟應該大小相等、效能相同,用於建立磁碟組的所有磁碟應該具有一致的ASM_DISKSTRING引數,這樣可以避免磁碟發現問題
簡單示例:
SQL>CREATE DISKGROUP DGA NORMAL REDUNDANCY
FAILGROUP FLGRP1 DISK
'/dev/raw/raw3',
'/dev/raw/raw4'
FAILGROUP FLGRP2 DISK
'/dev/raw/raw5',
'/dev/raw/raw6';
21、向磁碟組中新增磁碟
ALTER DISKGROUP DGA ADD DISK '/dev/raw/raw7' NAME disk5;
這條語句中沒有指定故障組,所以不會把這個磁碟指定給已有的故障組
22、刪除磁碟組中的磁碟
ALTER DISKGROUP DGA DROP DISK '/dev/raw/raw7';
應該先新增再刪除,避免空間不夠的問題,新增和刪除應該在同一條ALTER DISKGROUP語句中完成,這樣可以減少花費在再平衡上的時間。
23、調整磁碟大小
ALTER DISKGROUP DGA RESIZE DISK '/dev/raw/raw6' SIZE 500m;
如果不設定SIZE引數,將使用這個磁碟上的所有空間
24、管理ACFS
25、ASM FTP實用工具
可以實用FTP工具對ASM磁碟組中的檔案和目錄進行操作(需要DBA許可權),比如下載到本地
26、ASMLib

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

相關文章