読取りエラーは、ディスク全体にアクセスできなくなるか、正常なディスクでのメディア破損の結果、発生する可能性があります。Oracle ASMは、ディスク上の破損セクターでの読取りエラーからのリカバリを試みます。データベースまたはOracle ASMによる読取りエラーで、Oracle ASMインスタンスが不良ブロックの再マッピングを試みると、Oracle ASMではエクステントの正常なコピーを読み取り、読取りエラーが発生したディスクにこれをコピーします。
同じ場所への書込みに成功すると、基礎となる割当て単位(セクター)は正常とみなされます。これは、基礎となるディスクで独自に不良ブロック再割当てが行われたためです。
書込みに失敗すると、Oracle ASMでは同じディスクの新しい割当て単位にそのエクステントの書込みを試みます。この書込みに成功すると、元の割当て単位には使用禁止のマークが付けられます。書込みに失敗すると、ディスクはオフラインになります。
Oracle ASMベースのミラー化に特有の利点は、データベース・インスタンスでミラー化が認識される点です。不良チェックサムや間違ったシステム変更番号(SCN)などの様々な論理破損の場合、データベース・インスタンスは、ミラー側で有効なコンテンツを探しながら、エラーなく続行します。読取りが発生したデータベースでのプロセスが、データの整合性を保証するために適切なロックを取得できる場合、正しいデータがすべてのミラー側に書き込まれます。
書込みエラーが発生すると、データベース・インスタンスからOracle ASMインスタンスに、ディスク・オフライン・メッセージが送信されます。
データベースが1つ以上のエクステント・コピーへの書込みを正常に完了でき、Oracle ASMからオフライン・ディスクの確認を受信した場合、その書込みは成功したとみなされます。
すべてのミラー側への書込みが失敗した場合、データベースでは、書込みエラーに応じて、表領域をオフラインにするなどの適切な処置が取られます。
Oracle ASMインスタンスがデータベース・インスタンスから書込みエラー・メッセージを受信するか、Oracle ASMインスタンス自体に書込みエラーが発生した場合、Oracle ASMインスタンスでは、ディスクのオフライン化が試みられます。Oracle ASMは、ディスクのパートナでオフラインのものがあるかどうかを確認するために、パートナ・ステータス表(PST)を参照します。オフラインになっているパートナが多すぎる場合、Oracle ASMによりそのディスク・グループは強制的にディスマウントされます。それ以外の場合は、Oracle ASMはディスクをオフラインにします。
ASMCMD remap
コマンドは、ディスクに一連の不良セクターが存在し、Oracle ASMまたはデータベースI/Oの前に修正する必要がある状況に対応するために導入されましたremap
コマンドの詳細は、「remapコマンド」を参照してください。