Oracle ASMのストライプ化には主に次の2つの目的があります。
ディスク・グループ内の全ディスクで負荷を均等に分散します。
I/O待機時間を短縮します。
粗密なストライプ化ではディスク・グループのロード・バランシングが提供されますが、粒度の細かいファイングレイン・ストライプ化では、より広く負荷を分散させることによって特定のタイプのファイルに対する待機時間が短縮されます。
データをストライプ化するために、Oracle ASMによりファイルはストライプに分割され、データはディスク・グループ内の全ディスクで均等に分散されます。密なストライプのサイズはどの構成においても常に128KBです。これにより、小規模なI/O操作に対するI/O待機時間が短縮されます。粗密なストライプのサイズは(データ・エクステント・サイズではなく)AUサイズと常に同じです。
図1-5と図1-6はOracle ASMのファイルのストライプ化の説明です。いずれの図でも、8つのディスクから構成されるディスク・グループに対し割当て単位サイズは1M(AU_SIZE
= 1M
)に設定されています。インスタンスは、Oracle ASM 11gリリース2 (11.2)で、ASMおよびRDBMSのディスク・グループの互換性属性が11.2
に設定されているため、最初の20,000エクステントの後の可変エクステントは図に示すようになります。最初の20,000エクステントでは、エクステント・サイズは1Mで、1割当て単位(AU)と同じです。最初の20,000エクステントでは、エクステント・サイズは1Mで、1割当て単位(AU)と同じです。
ファイルのストライプ・チャンクを識別するために、チャンクはA..X(24文字)でラベル付けされ、すべてのチャンクが識別されるまで、A..Xの後に対しては別のフォントが使用されます。
図1-5では、ファイルは128Kチャンク(A..Xでラベル付け)でストライプ化され、128Kチャンクは1つのエクステントに格納されますが、これはディスク1の最初のエクステントから始まり、次にディスク2の最初のエクステント、さらには、ファイルがすべてストライプ化されるまで、すべてのディスクに対しラウンド・ロビン方式で続きます。この例に示すように、ストライプ化されたチャンクは各ディスクの最初のエクステントをまず埋め、次に各ディスクの2番目のエクステントというように、ファイルがすべてストライプ化されるまで続きます。
図1-6では、ファイルは1Mチャンク(A..Xでラベル付け)でストライプ化され、1Mチャンクは1つのエクステントに一意的に格納されますが、これはディスク1の最初のエクステントから始まり、次にディスク2の最初のエクステント、さらには、ファイルがすべてストライプ化されるまで、すべてのディスクに対しラウンド・ロビン方式で続きます。最初の20,000エクステントでは、AUがエクステント・サイズ(1M)と同じ場合、ストライプはエクステント・サイズおよび割当て単位サイズと同じです。エクステントが複数の割当て単位から構成される場合、ファイルのストライプはエクステントのAUに格納されます。ストライプ化チャンクがすべてのディスクの最初のエクステントの割当て単位に格納されてから、次のエクステントへとストライプ化が続いていきます。