日本語PDF

5 Oracle Cluster Registryおよび投票ファイルの管理

Oracle Clusterwareには、構成およびノード・メンバーシップを管理する2つの重要なコンポーネントが含まれます(ローカル・コンポーネントのOracle Local Registry(OLR)も含むOracle Cluster Registry(OCR)および投票ファイル)。

  • OCRは、Oracle ClusterwareおよびOracle RACデータベースの構成情報を格納します

  • OLRは、クラスタ内の各ノードに存在し、特定のノードごとにOracle Clusterwareの構成情報を管理します。

  • 投票ファイルはノード・メンバーシップに関する情報を格納します。ノードがクラスタのメンバーになるためには、各投票ファイルに、クラスタ内のすべてのノードがアクセスできる必要があります。

ノート:

  • Oracle Clusterware 12cでは、RAWまたはブロック・デバイスの使用をサポートしていません。従来のOracle ClusterwareリリースでRAWデバイスまたはブロック・デバイスを使用していて、Oracle Clusterware 12cへのアップグレードを行うには、アップグレード前に、OCRおよび投票ファイルをOracle Automatic Storage Management (Oracle ASM)または共有ファイル・システムに移行する必要があります。

  • スタンドアロン・クラスタでは、OCRおよび投票ファイルをOracle ASMまたは共有ファイル・システムに格納できます。

    Oracle Database 12cリリース2 (12.2)では、共有ファイル・システムにOCRおよび投票ディスク・ファイルを直接配置することがサポートされなくなりました。Oracle Database 19c (19.3)以降のスタンドアロン・クラスタでは、このサポートの終了が撤回されます。Oracleドメイン・サービス・クラスタの場合は、Oracle ASMで管理されるディスク・グループにOCRおよび投票ディスク・ファイルを引き続き配置する必要があります。

可用性を向上させるために、Oracle Clusterwareのインストール時に複数の投票ファイルを構成することをお薦めします。投票ファイルをOracle ASMディスク・グループに配置することを選択すると、標準の、または高い冗長性のディスク・グループを使用する場合に、Oracle ASMによって複数の投票ファイルが確実に構成されます。投票ファイルを共有ファイル・システムに格納することを選択する場合は、複数の投票ファイルを構成するオプションを選択します(この場合、異なるディスクに基づく3つの異なるファイル・システムを指定する必要があります)。

必要に応じて、Oracle Clusterwareのインストール・プロセス完了後に、クラスタを停止することなく投票ファイルを動的に追加または置換することもできます。

この章の内容は次のとおりです。

Oracle Cluster RegistryおよびOracle Local Registryの管理

OCRおよびOracle Local Registry (OLR)を管理するには、OCRCONFIGOCRDUMPおよびOCRCHECKを使用します。

OCRには、クラスタ内のすべてのOracleリソースに関する情報が含まれます。

OLRは、クラスタ内の各ノードに配置されている、OCRに類似したレジストリですが、各ノードに固有の情報が含まれます。様々なサービス間の依存性など、Oracle Clusterwareに関する管理性情報が含まれます。Oracle高可用性サービスでこの情報が使用されます。OLRは、クラスタ内の各ノードのローカル記憶域に配置されています。デフォルトの場所はパスGrid_base/crsdata/host_name/olr/にあります。ここで、host_nameはノードのホスト名です。

OCRの管理については、次のトピックで説明しています。

Oracle Automatic Storage ManagementへのOracle Cluster Registryの移行

OCRを移行してOracle ASMに配置して、Oracle Clusterware記憶域の管理で改善点を利用できます。

ノート:

以前のバージョンのOracle Clusterwareを19cにアップグレードしてOracle ASMディスク・グループにOCRを格納する場合は、「ASMの互換性」の互換性属性を11.2.0.2以降に設定する必要があります。

OCRCONFIGを使用してOCRをOracle ASMに移行するには:

  1. Oracle Clusterware 19cへのアップグレードが完了していることを確認します。次のコマンドを実行し、現在実行中のバージョンを検証します。
    $ crsctl query crs activeversion
  2. Oracle ASM Configuration Assistant(ASMCA)を使用し、クラスタ内のすべてのノードでOracle ASMを構成して起動します。
  3. ASMCAを使用して、既存のOCRのサイズと同じかそれ以上で、かつ通常以上の冗長性があるOracle ASMディスク・グループを作成します。

    ノート:

    • OCRが外部冗長性でOracle ASMディスク・グループに格納されている場合に、ディスク・グループ内のディスクに障害が発生したときは、OCRの損失を回避するために別のOCR場所を別のディスク・グループに追加することをお薦めします。

      Oracleでは、OCRをOracle ASMおよび共有ファイル・システムの両方に格納するなど、OCRを異なるストレージ・タイプに同時に格納することはできません(ただし、移行中はこのかぎりではありません)。

    • あるノードでOracle ASMインスタンスに障害が発生すると、OCRはそのノードで使用できなくなります。

      Oracle ASMインスタンス障害の影響を受けるノードで動作しているCRSDプロセスがOCRライターであり、過半数のOCRの場所がOracle ASMに格納されている場合、このノードのOracle ASMインスタンスの停止中にOCRに対してI/Oを試行すると、CRSDは停止して、操作不能になります。この時点で、このノードでのクラスタ管理に影響が及びます。

      どのような場合であっても、1つのノードの1つのOracle ASMインスタンスの障害が、クラスタ全体に影響を及ぼすことはありません。

    • 作成するOracle ASMディスク・グループが、クラスタ内のすべてのノードにマウントされることを確認します。

  4. OCRをOracle ASMディスク・グループに追加するには、Oracle Clusterwareスタックが実行されていることを確認し、rootとして次のコマンドを実行します。
    # ocrconfig -add +new_disk_group

    複数のOCRの場所を追加すると、このコマンドを複数回実行できます。OCRの場所は、5つまで保持できます。ただし、連続する各実行では、異なるディスク・グループを指す必要があります。

  5. 使用されなくなったストレージ構成を削除するには、rootとして次のコマンドを実行します。
    # ocrconfig -delete old_storage_location

    構成したすべてのOCRに、このコマンドを実行します。

次の例は、OCRCONFIGを使用して2つのOCRをOracle ASMに移行する方法を示しています。

# ocrconfig -add +new_disk_group
# ocrconfig -delete /ocrdata/ocr_1
# ocrconfig -delete /ocrdata/ocr_2

ノート:

  • OCRではディスク・グループの冗長性が継承されます。OCRに高い冗長性が必要な場合は、作成時にディスク・グループを高い冗長性で構成する必要があります。

  • この新規に作成されたOCRの場所にOracle ASMのSPFILEファイルを置くことを、お薦めします。

Oracle ASMから他のタイプの記憶域へのOracle Cluster Registryの移行

Oracle ASMから別の記憶域タイプにOCRを移行するには、次の手順を実行します。

  1. Oracle Clusterware 12cへのアップグレードが完了していることを確認します。次のコマンドを実行し、現在実行中のバージョンを検証します。
    $ crsctl query crs activeversion
    
  2. ファイルを共有ファイル・システムまたはクラスタ・ファイル・システムにrootoinstall640の権限で作成します。

    ノート:

    OCRのシングル・ポイント障害を排除するには、プライマリ・ストレージの場所の2つ以上のミラーを作成します。OCRは、最大5つの場所をサポートします。

  3. マウント・パーティションに500MB以上の領域があることを確認します。
  4. 作成したファイルがクラスタ内のすべてのノードから認識できることを確認します。
  5. ファイルをOCRの場所として追加するには、Oracle Clusterwareスタックが実行されていることを確認し、rootとして次のコマンドを実行します。
    # ocrconfig -add file_location
    

    複数のOCRの場所を追加する場合は、このコマンドを複数回実行できます。このコマンドの後続の実行ではそれぞれ異なるファイルの場所を指定する必要があります。

  6. OCRバックアップ場所がOracle ASMディスク・グループ上に構成されていないことを、確認します。

    OCRバックアップ場所をファイル・システムに移行するには、次のコマンドをrootとして実行します。

    # ocrconfig –backuploc file_location
    
  7. 使用されなくなったストレージ構成を削除するには、rootとして次のコマンドを実行します。
    # ocrconfig -delete +asm_disk_group
    

    複数のOCRの場所が構成されている場合は、このコマンドを複数回実行できます。

次の例は、OCRCONFIGを使用してOCRをOracle ASMからNASに移行する方法を示しています。

# ocrconfig -add /nas/ocr

Oracle ASMに格納されていないOCRの場合は、異なるデバイスにOCRをミラー化することをお薦めします。

Oracle Cluster Registryの場所の追加、置換、修復および削除

OCRの場所を管理するには、OCRCONFIGを使用します。

Oracle ClusterwareでのOracleインストール・プロセスでは、OCRを自動的にミラー化するかどうかを選択できます。ミラー化されたOCRは、共有ネットワーク・ファイル・システム(NFS)、またはオラクル社が動作保証している任意のクラスタ・ファイル・システムに手動で配置できます。または、OCRをOracle ASMに配置し、選択する冗長性オプションに応じて、自動的にミラーを作成できるようにすることができます。

また、次のような場合は、OCRを手動でミラー化できます(「Oracle Cluster Registryの場所の追加」を参照)。

  • Oracle Clusterware 12cへのアップグレード時に、OCRをミラー化することを選択しなかった場合

  • Oracle Clusterwareのインストール時に、1つのみのOCRの場所を作成した場合

次のように構成することを薦めします。

  • OCRがミラー化されていない、または冗長化されていない記憶域に構成されている場合は、3つ以上のOCRの場所。基礎となる記憶域がRAIDでない場合は、OCRをミラー化することをお薦めします。ミラー化することで、OCRがシングル・ポイント障害になることを防止できます。

  • OCRがOracle ASMディスク・グループに構成されている場合は、2つ以上のOCRの場所。OCRは2つの独立したディスク・グループに構成する必要があります。通常、これは作業領域およびリカバリ領域です。

  • OCRがミラー化されているハードウェアまたはサード・パーティのミラー化されたボリュームに構成されている場合は、2つ以上のOCRの場所。

ノート:

  • 元のOCRの場所が存在しない場合は、ocrconfig -addまたはocrconfig -replaceコマンドを実行する前に、適切な権限で空(0バイト)のOCRの場所を作成する必要があります。

  • OCR構成で指定したOCRデバイスが存在し、これらのOCRデバイスが有効であることを確認します。

  • 指定したOracle ASMディスク・グループが存在し、マウントされていることを確認します。

  • 新しいOCRファイル、デバイスまたはディスク・グループは、クラスタ内のすべてのアクティブ・ノードからアクセスできる必要があります。

OCRの場所のミラー化に加えて、OCRの場所の管理には次の操作があります。

ノート:

この項の操作を実行すると、OCRがクラスタ全体にわたって影響を受け、ocr.locファイル(LinuxおよびUNIXシステムの場合)およびレジストリ・キー(Windowsシステムの場合)のOCR構成情報が変更されます。ただし、ocrconfigコマンドを実行しても、停止しているノードやOracle Clusterwareが実行されていないノードのOCR構成情報は変更されません。

Oracle Cluster Registryの場所の追加

OCRの場所を追加するには、この項の手順を実行します。Oracle Clusterwareでは、最大5つの冗長なOCRの場所を管理できます。

ノート:

OCRがクラスタ・ファイル・システムのファイルまたはネットワーク・ファイル・システムに存在している場合は、この項の手順を実行する前に、空(0バイト)のOCRの場所ファイルを作成してください。

Oracle ASMまたは他のストレージ・デバイスのいずれかにOCRの場所を追加するには、rootユーザーとして次のコマンドを実行します。

# ocrconfig -add +asm_disk_group | file_name

ノート:

LinuxおよびUNIXシステムの場合、ocrconfigコマンドは、rootで実行する必要があります。Windowsシステムの場合、ユーザーは管理者グループのメンバーである必要があります。

Oracle Cluster Registryの場所の削除

OCRの場所または障害が発生したOCRの場所を削除するには、それ以外の1つ以上のOCRがオンライン状態である必要があります。OCRの場所の削除は、OCR関連のオーバーヘッドを軽減する場合や、OCRをRAIDなどの冗長な記憶域に移動してOCRのミラー化を中止する場合に実行します。

Oracle Clusterware環境からOCRの場所を削除するには、rootユーザーとして次の手順を実行します。

  1. 削除するOCRの場所の他に、1つ以上のOCRの場所がオンライン状態になっていることを確認します。

    注意:

    他の1つ以上のOCRの場所がアクティブでオンラインになっていない場合は、OCRの削除手順は実行しないでください

  2. クラスタ内の任意のノードで次のコマンドを実行し、Oracle ASMまたは他の場所のいずれかからOCRの場所を削除します。
    # ocrconfig -delete +ASM_disk_group | file_name
    

    file_name変数は、デバイス名またはファイル名です。このコマンドを実行すると、Oracle Clusterwareが実行中のすべてのノードでOCR構成が更新されます。

    ノート:

    構成済の唯一のOracle ASM OCRの場所は、Oracle ASM OCRバックアップの場所とは異なるOracle ASMディスク・グループにあり、削除することはできません。

Oracle Cluster Registryの場所の置換

既存のOCRの場所を変更する必要があるか、または障害のあるOCRの場所を正常に機能する場所に変更する必要がある場合は、残りのすべてのOCRファイルの場所がオンライン状態のままであれば、次の手順を使用できます。ocrconfig -replaceコマンドでは、2つ以上のOCRの場所が構成されている必要があります。

Oracle Cluster Registryの場所を変更するには:

次の手順を実行します。

  1. OCRCHECKユーティリティを使用して、置換しようとしているOCR以外のOCRのコピーがオンラインであるかどうかを検証します(使用するコマンドは次のとおりです)。
    $ ocrcheck

    OCRCHECKでは、登録されているすべてのOCRの場所、およびそれらが使用可能(オンライン)かどうかが表示されます。OCRの場所が突然使用できなくなった場合は、Oracle Clusterwareがステータスの変更を示すまでにしばらく時間がかかる場合があります。

    ノート:

    置換するOCRの場所は、オンラインまたはオフラインのいずれの状態でもかまいません。

  2. 次のコマンドを使用して、置換操作を実行しようとしているノードでOracle Clusterwareが実行されていることを確認します。
    $ crsctl check crs
  3. rootとして次のコマンドを実行し、destination_fileまたは+ASM_disk_groupのいずれかを使用して、現行のOCRの場所を、現行のターゲットのOCRの場所を示すように置換します。
    # ocrconfig -replace current_OCR_location -replacement new_OCR_location

    前述のコマンドは、オンラインである構成済のOCRの場所が2つ未満の場合は失敗します。

    構成済でオンラインのOCRの場所が1つのみである場合は、次のように、最初に新しい場所を追加してから、障害が発生した場所を削除する必要があります。

    # ocrconfig -add new_OCR_location
    # ocrconfig -delete current_OCR_location

    ノート:

    OCRが存在するノードが停止し、Oracle Clusterwareスタックが他のノードで実行中であるときにクラスタ構成が変更されると、OCRは構成変更を検出して、ocr.locファイルの内容を変更して構成を自己修正します。

ローカル・ノードのOracle Cluster Registry構成の修復

ノードが停止し、このノードがクラスタの唯一のメンバーであるときにクラスタ構成を変更した場合は、OCRを修復する必要がある場合があります。

OCRの修復は、OCRの場所の追加、削除または置換のいずれかに関連します。たとえば、現行のOracle RACクラスタの一部であるノードのいずれかが停止している場合、停止しているノードでOCR構成を更新し、そのノードが再起動された後に再びクラスタに参加できるようにする必要があります。再起動されたノードでrootとして次のコマンド構文を使用し、destination_fileまたは+ASM_disk_groupのいずれかを使用して、現行のターゲットのOCRの場所を示します。

# ocrconfig -repair -replace current_OCR_location -replacement target_OCR_location

この操作では、このコマンドを実行したノードのOCRのみが変更されます。たとえば、OCRの場所が/dev/sde1である場合、ノードでコマンド構文ocrconfig -repair -add /dev/sde1を実行すると、そのノードのOCRが修復されます。

ノート:

  • Oracleクラスタ・レディ・サービス・デーモンが実行されているノードでは、OCR構成を修復できません。

  • ocrconfig -repairを使用して、停止しているノードのOCRを修復する場合、他のノードのOCRファイル名と同様の(大/小文字が区別される)OCRファイル名を指定する必要があります。

  • ocrconfig -add | -repair | -replaceコマンドを実行する場合は、追加するデバイス、ファイルまたはOracle ASMディスク・グループにアクセスできる必要があります。これはデバイスが存在する必要があることを意味します。空(0バイト)のOCRの場所を作成するか、またはOracle ASMディスク・グループが存在し、マウントされている必要があります。

Oracle Cluster Registryのデータ損失保護メカニズムの無効化

OCRには、不測の上書きによるデータの損失を防止するメカニズムが存在します。ミラー化されたOCRが構成されている場合、Oracle Clusterwareでは、ミラー化されたOCRの場所にアクセスできず、使用可能なOCRの場所に最新の構成が含まれていることが確認できなかった場合、使用可能なOCRの場所に対してそれ以上の変更は行われません。また、この処理により、1つのOCRのみが使用可能なノードでOracle Clusterwareの起動が禁止され、上書きが行われなくなります。このような場合には、Oracle Enterprise ManagerまたはOracle Clusterwareのアラート・ログ・ファイル(あるいはその両方)で、アラート・メッセージが表示されます。ある1つのノードに限って問題が発生している場合は、他のノードでクラスタ・データベースを起動できます。

ただし、環境内のすべてのクラスタ・ノードが起動できず、OCRの修復もすべてのOCRの場所へのアクセスのリストアもできない場合は、この保護メカニズムを無効にできます。次のリストに示した手順により、使用可能なOCRの場所を使用してクラスタを起動できます。ただし、保護メカニズムを無効にすると、以前の正常な状態のときに使用可能でなかったデータは失われる場合があります。

注意:

次の手順を実行してOCRを無効にした場合、現在アクセス可能なOCRに対して最後に正常なOCRの更新が実行された時点から、この上書きを実行するまでの間に行われたOCRへの更新は失われる可能性があります。すなわち、上書きを行うOCRの場所にクラスタ環境に対する構成の最新の更新が含まれていない場合は、ocrconfig -overwriteコマンドを実行すると、データが失われる場合があります。

ノードが起動できず、アラート・ログにCLSD-1009メッセージおよびCLSD-1011メッセージが含まれている場合は、次の手順を実行して、OCRを上書きします。

  1. CLSD-1009メッセージおよびCLSD-1011メッセージの原因の解決を試行します。

    ノードのOCR構成(LinuxおよびUNIXシステムのocr.locおよびWindowsシステムのレジストリ)をOracle Clusterwareが実行中の他のノードと比較します。

    • 構成の内容が一致しない場合は、ocrconfig -repairを実行します。

    • 構成の内容が一致している場合は、LinuxおよびUNIXシステムのlsコマンドを実行して、ノードから構成済のすべてのOCRにアクセスできることを確認します。Windowsでは、OCRの場所がファイルの場合はdirコマンドを使用して、GuiOracleObjectManager.exeを実行し、名前付きのクラスタの一部が存在することを確認します。

  2. 最新のOCRに、OCRの最新の更新が含まれていることを確認します。

    ocrdumpコマンドの出力を確認して、最新の更新が含まれているかどうかを確認します。

  3. CLSDメッセージの原因となっている問題を解決できない場合は、ocrconfig -overwriteコマンドを実行してノードを起動します。

Oracle Cluster Registryのバックアップ

この項では、OCRの内容をバックアップし、それをリカバリに使用する方法について説明します。第1の方法では自動的に生成されたOCRのコピーを使用し、第2の方法では手動でバックアップ・コマンドを発行できます。

  • 自動バックアップ: OCRのバックアップは、Oracle Clusterwareによって、4時間ごとに自動的に作成されます。バックアップが作成されるごとに、OCRの最後の3つのバックアップのコピーが常に保存されます。また、バックアップを作成するCRSDプロセスによって、毎日および各週の終わりにもOCRのバックアップが作成され、保存されます。バックアップの頻度またはOracle Databaseで保存されるファイルの数はカスタマイズできません。

  • 手動バックアップ: Oracle Clusterwareスタックが稼働しているノードでocrconfig -manualbackupコマンドを実行して、自動バックアップを待たずに、Oracle Clusterwareによって任意の時刻にOCRのバックアップが実行されるようにします。このコマンドは、管理権限を持つユーザーとして実行する必要があります。-manualbackupオプションは、OCRを変更する前など、必要に応じてバイナリ・バックアップを取得する場合に、特に役立ちます。

クラスタウェア・スタックがクラスタ内のすべてのノードで停止している場合、ocrconfig -showbackupコマンドによって示されるバックアップは、ノードごとに異なる場合があります。

ノート:

ノードでOracle Clusterwareをインストールまたはアップグレードした後、または、クラスタにノードを追加した後、root.shスクリプトが終了すると、OLRがバックアップされます。

この項には次のトピックが含まれます:

バックアップ・ファイルのリスト

次のコマンドを実行し、バックアップ・ファイルをリストします。

ocrconfig -showbackup

ocrconfig -showbackupコマンドにより、バックアップ場所、タイムスタンプおよびOracle Clusterwareで作成されたバックアップ・ファイルの元のノード名が表示されます。デフォルトでは、-showbackupオプションによって、自動および手動の両方のバックアップに関する情報が表示されますが、autoフラグまたはmanualフラグを含めると、自動バックアップまたは手動バックアップのいずれかの情報のみを表示することができます。

次のコマンドを実行し、内容を検査してバックアップ・ファイルの整合性を検証します。

ocrdump -backupfile backup_file_name

1日に1つ以上のバックアップ・ファイルが自動的に生成されますが、これらのファイルは、任意のバックアップ・ソフトウェアを使用して、プライマリOCRが存在するデバイスとは別のデバイスにコピーすることもできます。

Oracle Clusterware 18c以降では、Oracle ASMまたは共有ファイル・システムを使用してバックアップを生成できますが、ローカル・ファイル・システムに変更することはできません。OCRCONFIGユーティリティで作成したバックアップ・ファイルを、標準的なオペレーティング・システムまたはサード・パーティのツールを使用してオペレーティング・システム・バックアップの一部として含めることをお薦めします。

バックアップ場所の変更

次のコマンドを実行して、OCRがバックアップを作成する場所を変更します。

# ocrconfig -backuploc file_name

前述のコマンドのfile_name変数には、すべてのノードからアクセス可能なディレクトリのフル・パス名またはすべてのノードにマウントされるOracle ASMディスク・グループを指定できます。OCRバックアップの場所をOracle ASMディスク・グループに変更する前に、OCRをOracle ASMに移行する必要があります。別個のディスク・グループに1つ以上のOracle ASM OCRの場所がある場合のみ、OCRバックアップの場所をOracle ASMディスク・グループに変更できます。

たとえば、ディレクトリ内のOCRのバックアップ場所を指定するには、次のコマンドを実行します。

# ocrconfig -backuploc Grid_home/cdata/cluster3

OCRバックアップの場所をOracle ASMディスク・グループに指定するには、次のようにします。

# ocrconfig -backuploc +bkupdg

ノート:

LinuxおよびUNIXシステムでは、ocrconfigコマンド・オプションのほとんど(すべてではない)を実行するためにrootユーザーである必要があります。Windowsシステムの場合、ユーザーは管理者グループのメンバーである必要があります。

Oracle Cluster Registryのリストア

Oracle Cluster Registry (OCR)の問題を確認する方法と、それらの問題を解決する方法を学習します。

Oracle Cluster Registryの問題の確認方法

Oracle Cluster Registry (OCR)の問題が発生した場合は、これらのチェックおよびガイドラインを確認してください。

リソースで問題が発生した場合、OCRのリストアを実行する前にリソースを再起動します。OCRが失敗したことを明確に検証するために、ocrcheckを実行します。コマンドによって失敗メッセージが返された場合、プライマリOCRとOCRミラーの両方に障害が発生しています。

ノート:

  • -importオプションを使用してOCRバックアップ・ファイルから構成をリストアすることはできません(「エクスポート・コマンドおよびインポート・コマンドを使用したOracle Cluster Registryの管理」を参照)。かわりに、次の項で説明するとおり、-restoreオプションを使用する必要があります。

  • OCRをOracle ASMディスク・グループに格納していて、ディスク・グループが使用できない場合は、Oracle ASMディスク・グループをリカバリし、マウントする必要があります。

LinuxまたはUnixシステムでのOracle Cluster Registryのリストア

LinuxまたはUnixシステムでOCRをリストアするには、この手順を使用します。

OCRをOracle ASMディスク・グループに格納していて、そのディスク・グループが破損している場合は、Oracle ASMユーティリティを使用してOracle ASMディスク・グループをリストアし、OCRをリカバリする前にこのディスク・グループを再びマウントする必要があります。次の手順の指示に従って、ocrconfig -restoreコマンドを実行し、OCRをリカバリします。

ノート:

元のOCRの場所が存在しない場合は、ocrconfig -restoreコマンドを実行する前に、元のOCRの場所と同じ名前の空(0バイト)のOCRの場所を作成する必要があります。

LinuxまたはUnixシステムでOCRをリストアするには、次の手順を実行します。

  1. 1つのノードで次のコマンドを実行して、クラスタのノードをリストします。
    $ olsnodes
  2. OCRがOracle ASMディスク・グループまたはNetwork Attached Storage (NAS)のどちらにあるかに応じて、すべてのノードでrootとして次のいずれかのコマンドを実行し、Oracle Clusterwareを停止します。

    OCRがOracle ASMディスク・グループにある場合は、Oracle Clusterwareデーモンを次のコマンドで停止します。

    # crsctl stop crs

    前述のコマンドでOCRの破損のためエラーが戻される場合は、rootとして、すべてのノードで次のコマンドを実行し、Oracle Clusterwareを強制的に停止します。

    # crsctl stop crs -f
  3. OCRをクラスタ・ファイル・システムまたはネットワーク・ファイル・システムにリストアする場合は、rootとして次のコマンドを実行して、「バックアップ・ファイルのリスト」で特定できるOCRバックアップでOCRをリストアします。
    # ocrconfig -restore file_name

    ノート:

    OCRバックアップ・ファイルがOracle ASMディスク・グループにある場合、ディスク・グループが存在し、マウントされていることを確認します。

    このステップの完了後、ステップ11に進みます。

    OCRをクラスタ・ファイル・システムまたはネットワーク・ファイル・システムにリストアしていない場合は、次のステップに進みます。

  4. rootとして次のコマンドを実行し、1つのノードでOracle Clusterwareスタックを排他モードで起動します。
    # crsctl start crs -excl -nocrs

    -nocrsオプションは、残りのOracle ClusterwareスタックでCRSDプロセスおよびOCRが起動されないようにします。

    表示されるエラーは無視します。

  5. 次のコマンドを実行して、CRSDが実行しているかどうかを確認します。
    $ crsctl status resource ora.crsd -init

    CRSDが実行している場合は、rootとして次のコマンドを実行して停止します。

    # crsctl stop resource ora.crsd -init

    注意:

    My Oracle Supportで指示されないかぎり、他のすべてのコマンドでは-initフラグを使用しないでください。

  6. OCRをOracle ASMディスク・グループにリストアするには、SQL*Plusを使用して、リストアするディスク・グループと同じ名前のディスク・グループを最初に作成し、これをローカル・ノードにマウントする必要があります。

    ディスク・グループをローカルでマウントできない場合は、次のSQL*Plusコマンドを実行します。

    SQL> drop diskgroup disk_group_name force including contents;
  7. rootとして次のコマンドを実行して、「バックアップ・ファイルのリスト」で特定できるOCRバックアップでOCRをリストアします。
    # ocrconfig -restore file_name

    ノート:

    • 元のOCRの場所が存在しない場合は、ocrconfig -restoreコマンドを実行する前に空(0バイト)のOCRの場所を作成する必要があります。

    • OCR構成で指定したOCRデバイスが存在し、これらのOCRデバイスが有効であることを確認します。

    • OCRをOracle ASMディスク・グループに構成した場合は、Oracle ASMディスク・グループが存在し、マウントされていることを確認します。

    • OCRバックアップ・ファイルがOracle ASMディスク・グループにある場合、ディスク・グループが存在し、マウントされていることを確認します。

  8. 次のコマンドを実行して、OCRの整合性を検証します。
    # ocrcheck
  9. 次のコマンドを実行して、ノードで排他モードで実行されているOracle Clusterwareを停止します。
    # crsctl stop crs -f
  10. ocrconfig -restoreコマンドを実行しなかった、クラスタ内のすべてのノードでrootとしてocrconfig -repair -replaceコマンドを実行します。たとえば、4ノードのクラスタのノード1でocrconfig -restoreコマンドを実行した場合は、ノード2、3および4でocrconfig -repair -replaceコマンドを実行する必要があります。
  11. rootとして、すべてのノードで次のコマンドを実行し、Oracle Clusterwareを起動します。
    # crsctl start crs
  12. 次のCVUコマンドを実行して、クラスタの一部として構成されているすべてのクラスタ・ノードのOCRの整合性を検証します。
    $ cluvfy comp ocr -n all -verbose
WindowsシステムでのOracle Cluster Registryのリストア

WindowsシステムでOCRをリストアするには、この手順を使用します。

OCRをOracle ASMディスク・グループに格納していて、そのディスク・グループが破損している場合は、Oracle ASMユーティリティを使用してOracle ASMディスク・グループをリストアし、OCRをリカバリする前にこのディスク・グループを再びマウントする必要があります。ocrconfig -restoreコマンドを実行して、OCRをリカバリします。

ノート:

元のOCRの場所が存在しない場合は、ocrconfig -restoreコマンドを実行する前に、元のOCRの場所と同じ名前の空(0バイト)のOCRの場所を作成する必要があります。

WindowsシステムでOCRをリストアするには、次の手順を実行します。

  1. 1つのノードで次のコマンドを実行して、クラスタのノードをリストします。
    C:\>olsnodes
  2. 管理者グループのメンバーとして、すべてのノードで次のコマンドを実行し、Oracle Clusterwareを停止します。
    C:\>crsctl stop crs

    前述のコマンドでOCRの破損のためエラーが戻される場合は、管理者グループのメンバーとして、すべてのノードで次のコマンドを実行し、Oracle Clusterwareを停止します。

    C:\>crsctl stop crs -f
  3. 管理者グループのメンバーとして次のコマンドを実行し、1つのノードでOracle Clusterwareスタックを排他モードで起動します。
    C:\>crsctl start crs -excl -nocrs

    -nocrsオプションは、残りのOracle ClusterwareスタックでCRSDプロセスおよびOCRが起動されないようにします。

    表示されるエラーは無視します。

  4. 管理者グループのメンバーとして次のコマンドを実行して、「バックアップ・ファイルのリスト」で特定したOCRバックアップ・ファイルでOCRをリストアします。
    C:\>ocrconfig -restore file_name

    OCR構成で指定したOCRデバイスが存在し、これらのOCRデバイスが有効であることを確認します。

    ノート:

    • OCR構成で指定したOCRデバイスが存在し、これらのOCRデバイスが有効であることを確認します。

    • 指定したOracle ASMディスク・グループが存在し、マウントされていることを確認します。

    関連項目:

    OCR作成の詳細は、『Oracle Grid Infrastructureインストレーション・ガイド』を参照してください。

  5. 次のコマンドを実行して、OCRの整合性を検証します。
    C:\>ocrcheck
  6. 次のコマンドを実行して、ノードで排他モードで実行されているOracle Clusterwareを停止します。
    C:\>crsctl stop crs -f
  7. 管理者グループのメンバーとして、すべてのノードで次のコマンドを実行し、Oracle Clusterwareを起動します。
    C:\>crsctl start crs
  8. 次のクラスタ検証ユーティリティ(CVU)・コマンドを実行して、クラスタ・データベース内のすべてのノードのOCRの整合性を検証します。
    C:\>cluvfy comp ocr -n all -verbose
Oracle Restart環境でのOracle Cluster Registryのリストア

Oracle Restart環境でOCRをリストアするには、この手順を使用します。

ノート:

  • OCRは、下位互換性のために存在します。

  • 作成されたOCRの場所は、Oracle Restart環境では更新されません。

  • Oracle Restartホームがバックアップされている場合、障害が発生したときに、Oracle RestartホームをリストアするとOCRがリストアされます。

  1. rootとして、すべてのノードで次のコマンドを実行し、Oracle高可用性サービスを停止します。
    # crsctl stop has [-f]
  2. ocrcheck -configコマンドを実行して、OCRの場所を特定し、適切な権限を使用してその場所で空(0バイト)のOCRの場所を作成します。
  3. rootとして次のコマンドを実行し、OCRをリストアします。
    # crsctl pin css -n host_name

    ノート:

    OCR構成で指定したOCRデバイスが存在し、これらのOCRデバイスが有効であることを確認します。

    関連項目:

    OCR作成の詳細は、『Oracle Grid Infrastructureインストレーション・ガイド』を参照してください。

  4. ocrcheckコマンドを実行して、OCRの整合性を検証します。
  5. すべてのノードで次のコマンドを実行し、Oracle高可用性サービスを起動します。
    $ crsctl start has

Oracle Cluster Registryの問題の診断

OCRの問題を診断するには、OCRDUMPおよびOCRCHECKユーティリティを使用します。

エクスポート・コマンドおよびインポート・コマンドを使用したOracle Cluster Registryの管理

自動的に作成されたOCRバックアップ・ファイルを使用するのみでなく、環境のノードの追加や削除、Oracle Clusterwareリソースの変更、データベースのアップグレード、ダウングレードまたは作成などの重要な構成変更を行う前と後には、OCRの内容をエクスポートする必要もあります。これは、OCRの内容をファイル形式でエクスポートするocrconfig -exportコマンドを使用して実行します。

注意:

OCRのリストアでは次の制限事項に注意してください。

  • ocrconfig -restoreで生成されるファイル形式は、ocrconfig -exportで生成されるファイル形式と互換性がありません。ocrconfig -exportコマンドとocrconfig -importコマンドには互換性があります。ocrconfig -manualbackupコマンドとocrconfig -restoreコマンドには互換性があります。2つのファイル形式には互換性がないため、交換して使用しないでください。

  • OCRをエクスポートする場合は、名前の文字列にocr、クラスタ名およびタイムスタンプを含めることをお薦めします。たとえば:

    ocr_mycluster1_20090521_2130_export

また、ocrconfig -exportコマンドを使用すると、構成の変更によってエラーが発生した場合に、-importオプションを使用してOCRをリストアできるようになります。たとえば、構成に解決できない問題がある場合や、構成の変更後にOracle Clusterwareを再起動できない場合は、プラットフォームに応じた手順を使用して、構成をリストアします。

OCRをリストアするには、次の理由から、自動バックアップまたは手動バックアップのいずれかとocrconfig -restoreコマンドを使用し、ocrconfig -exportコマンドおよびocrconfig -importコマンドは使用しないことをお薦めします。

  • バックアップはOCRの一貫したスナップショットですが、エクスポートは、そうではありません。

  • バックアップはシステムがオンライン状態の場合に作成されます。ocrconfig -exportコマンドを使用して一貫したスナップショットを取得するには、クラスタ内のすべてのノードでOracle Clusterwareを停止する必要があります。

  • OCRDUMPユーティリティを使用して、バックアップを検査できます。エクスポートの内容は検査できません。

  • ocrconfig -showbackupコマンドを使用してバックアップをリストできますが、生成されたすべてのエクスポートはユーザーが追跡する必要があります。

この項には次のトピックが含まれます:

ノート:

構成を変更すると、ほとんどの場合は、OCRの内容が変更されるのみでなく、ファイルおよびデータベース・オブジェクトが作成されます。OCRをリストアしても、このような変更はリストアされない場合があります。これらの構成の変更のリストアが一部でも失敗した場合は、以前の正しい構成に戻すためにOCRをリストアしないでください。実行した場合、OCRの場所の内容がシステムの他の部分の状態と一致しなくなる可能性があります。

LinuxまたはUNIXシステムでのOracle Cluster Registryの内容のインポート

LinuxまたはUNIXシステムでOCRをインポートするには、この手順を使用します。

ノート:

この手順では、クラスタ内のすべてのノードでのOracle Clusterwareのデフォルトのインストールを前提としています。この場合、Oracle Clusterwareの自動起動は有効になります。

  1. 1つのノードで次のコマンドを実行して、クラスタのノードをリストします。
    $ olsnodes	
  2. rootとして、すべてのノードで次のコマンドを実行し、Oracle Clusterwareを停止します。
    # crsctl stop crs

    前述のコマンドでOCRの破損のためエラーが戻される場合は、rootとして、すべてのノードで次のコマンドを実行し、Oracle Clusterwareを停止します。

    # crsctl stop crs -f
  3. rootとして次のコマンドを実行し、1つのノードでOracle Clusterwareスタックを排他モードで起動します。
    # crsctl start crs -excl

    表示されるエラーは無視します。

    CRSDが動作しているかどうかをチェックします。実行されている場合は、rootとして次のコマンドを実行して停止します。

    # crsctl stop resource ora.crsd -init

    注意:

    -initフラグは他のコマンドでは使用しないでください

  4. rootとして次のコマンドを実行し、OCRをインポートします。
    # ocrconfig -import file_name

    クラスタまたはネットワーク・ファイル・システムにOCRをインポートしている場合は、ステップ7に進みます。

    ノート:

    • 元のOCRの場所が存在しない場合は、ocrconfig -importコマンドを実行する前に空(0バイト)のOCRの場所を作成する必要があります。

    • OCR構成で指定したOCRデバイスが存在し、これらのOCRデバイスが有効であることを確認します。

    • OCRをOracle ASMディスク・グループに構成した場合は、Oracle ASMディスク・グループが存在し、マウントされていることを確認します。

    関連項目:

    OCR作成の詳細は、『Oracle Grid Infrastructureインストレーション・ガイド』を参照してください。

  5. 次のコマンドを実行して、OCRの整合性を検証します。
    # ocrcheck
  6. 次のコマンドを実行して、ノードで排他モードで実行されているOracle Clusterwareを停止します。
    # crsctl stop crs -f
  7. rootとして、すべてのノードで次のコマンドを実行し、Oracle Clusterwareを起動します。
    # crsctl start crs
  8. 次のCVUコマンドを実行して、クラスタの一部として構成されているすべてのクラスタ・ノードのOCRの整合性を検証します。
    $ cluvfy comp ocr -n all -verbose

ノート:

インポートできるのは、エクスポートしたOCRのみです。バックアップからOCRをリストアするには、「Oracle Cluster Registryのバックアップ」で説明するとおり、かわりに-restoreオプションを使用する必要があります。

WindowsシステムでのOracle Cluster Registryの内容のインポート

WindowsシステムでOCRをインポートするには、この手順を使用します。

ノート:

この手順では、クラスタ内のすべてのノードでのOracle Clusterwareのデフォルトのインストールを前提としています。この場合、Oracle Clusterwareの自動起動は有効になります。

  1. 1つのノードで次のコマンドを実行して、クラスタのノードをリストします。
    C:\>olsnodes
  2. 管理者グループのメンバーとして、すべてのノードで次のコマンドを実行し、Oracle Clusterwareを停止します。
    C:\>crsctl stop crs
    

    前述のコマンドでOCRの破損のためエラーが戻される場合は、管理者グループのメンバーとして、すべてのノードで次のコマンドを実行し、Oracle Clusterwareを停止します。

    C:\>crsctl stop crs -f
  3. 管理者グループのメンバーとして次のコマンドを実行し、1つのノードでOracle Clusterwareスタックを排他モードで起動します。
    C:\>crsctl start crs -excl

    表示されるエラーは無視します。

    CRSDが動作しているかどうかをチェックします。実行されている場合は、管理者グループのメンバーとして次のコマンドを実行して停止します。

    C:\>crsctl stop resource ora.crsd -init

    注意:

    -initフラグは他のコマンドでは使用しないでください

  4. 管理者グループのメンバーとして次のコマンドを実行してOCRをインポートします。
    C:\>ocrconfig -import file_name

    OCR構成で指定したOCRデバイスが存在し、これらのOCRデバイスが有効であることを確認します。

    ノート:

    • 元のOCRの場所が存在しない場合は、ocrconfig -importコマンドを実行する前に空(0バイト)のOCRの場所を作成する必要があります。

    • OCR構成で指定したOCRデバイスが存在し、これらのOCRデバイスが有効であることを確認します。

    • 指定したOracle ASMディスク・グループが存在し、マウントされていることを確認します。

  5. 次のコマンドを実行して、OCRの整合性を検証します。
    C:\>ocrcheck
  6. 次のコマンドを実行して、ノードで排他モードで実行されているOracle Clusterwareを停止します。
    C:\>crsctl stop crs -f
  7. 管理者グループのメンバーとして、すべてのノードで次のコマンドを実行し、Oracle Clusterwareを起動します。
    C:\>crsctl start crs
  8. 次のクラスタ検証ユーティリティ(CVU)・コマンドを実行して、クラスタ・データベース内のすべてのノードのOCRの整合性を検証します。
    C:\>cluvfy comp ocr -n all -verbose

Oracle Local Registry

Oracle Clusterware 12cでは、クラスタ内の各ノードに、Oracle ClusterwareによるOCRのインストール時にインストールおよび構成される、Oracle Local Registry (OLR)というノード固有のリソースのローカル・レジストリがあります。Oracle Clusterwareが実行されているかどうか、または完全に機能しているかどうかに関係なく、各ノードの複数のプロセスには、それらのプロセスが存在するノードに固有のOLRに対する同時読取りおよび書込みアクセス権があります。

デフォルトでは、OLRは各ノードのGrid_base/crsdata/host_name/olr/hostname_release.olrに格納されています。

OLRは、-localオプションを指定したOCRCHECK、OCRDUMPおよびOCRCONFIGユーティリティをrootとして使用して管理します。

  • OCRCHECKユーティリティを次のように使用すると、ローカル・ノードのOLRのステータスをチェックできます。

    # ocrcheck -local
    Status of Oracle Local Registry is as follows :         
            Version                  : 4
            Total space (kbytes)     : 491684
            Used space (kbytes)      : 83120
            Available space (kbytes) : 408564
            ID                       : 1260380057
            Device/File Name         : Grid_base/crsdata/dglnx6/olr/dglnx6_19.olr
                                       Device/File integrity check succeeded
            Local registry integrity check succeeded
            Logical corruption check succeeded
  • OCRDUMPユーティリティを次のように使用すると、プログラムを起動したテキスト端末にローカル・ノードのOLRの内容を表示できます。

    # ocrdump -local -stdout
    
  • OCRCONFIGユーティリティを使用すると、ローカル・ノードのOLRで管理タスクを実行できます。

    • OLRをファイルにエクスポートするには、次のようにユーティリティを使用します。

      # ocrconfig –local –export file_name

      ノート:

      • -manualbackupコマンドおよび-restoreコマンドを使用し、-importコマンドおよび-exportコマンドは使用しないことをお薦めします。

      • OLRをエクスポートする場合は、名前の文字列にolr、ホスト名およびタイムスタンプを含めることをお薦めします。たとえば:

        olr_myhost1_20090603_0130_export
    • 指定したファイルをOLRにインポートするには、次のようにユーティリティを使用します。

      # ocrconfig –local –import file_name
      
    • OLRを手動でバックアップするには、次のようにユーティリティを使用します。

      # ocrconfig –local –manualbackup

      ノート:

      Oracle Clusterwareは、デフォルトでは、インストールまたはアップグレード後にOLRをバックアップし、その後も定期的にOLRをバックアップします。初期バックアップの後はいつでも、OLRを手動でバックアップできます。

      OCRをOracle ASMから他の記憶域に移行する場合、またはOCRを他の記憶域からOracle ASMに移行する場合は、新しいバックアップを作成することをお薦めします。

      OLRのデフォルトのバックアップ場所は、パスGrid_base/crsdata/host_name/olr/にあります。

    • OLRバックアップ・ファイルの内容を表示するには、次のようにユーティリティを使用します。

      ocrdump -local -backupfile olr_backup_file_name
      
    • OLRのバックアップの場所を変更するには、次のようにユーティリティを使用します。

      ocrconfig -local -backuploc new_olr_backup_path
      
    • OLRをリストアするには、次のようにします。

      # crsctl stop crs
      # ocrconfig -local -restore file_name
      # ocrcheck -local
      # crsctl start crs
      $ cluvfy comp olr

Oracle Cluster Registry構成のアップグレードおよびダウングレード

Oracle Cluster Registry構成を手動でアップグレードおよびダウングレードできます。

Oracle Clusterwareをアップグレードすると、ocrconfig -upgradeコマンドが自動的に実行されます。ダウングレードするには、各コンポーネントのダウングレード手順に従ってください。OCRをアップグレードする場合は、OCRCHECKユーティリティを使用してOCRの整合性を検証できます。

投票ファイルの管理

この項では、クラスタ内の投票ファイルの管理について、次のトピックで説明します。

注意:

以前のバージョンのOracle Clusterwareで投票ファイルのバックアップおよびリカバリに使用されたddコマンドは、Oracle Clusterware 12c以降のリリースではサポートされていません。ddコマンドまたはcpコマンドを使用してコピーされた投票ファイルをリストアすると、Oracle Clusterware 12c以降のリリースのスタックが起動されない場合があります。この章で説明されているバックアップおよびリストア手順を使用して、適切な投票ファイルの機能を確保します。

ノート:

  • 投票ファイルの管理には有効かつ動作中のOCRが必要です。投票ファイルを追加、削除、置換またはリストアする前に、ocrcheckコマンドをrootとして実行します。OCRが使用できない場合、または破損している場合は、「Oracle Cluster Registryのリストア」で説明するとおり、OCRをリストアする必要があります。

  • 以前のバージョンのOracle ClusterwareをOracle Clusterware 12c以降のリリースにアップグレードしてOracle ASMディスク・グループに投票ファイルを格納する場合は、「ASMの互換性」(COMPATIBLE.ASM)の互換性属性を12.1.0.0に設定する必要があります。

Oracle ASMでの投票ファイルの格納

投票ファイルをOracle ASMに格納するようにすると、Oracle ASMは、選択したディスク・グループにクラスタのすべての投票ファイルを格納します。

Oracle ASMでは、投票ファイルは、格納されている他のファイルとは異なる方法で管理されます。Oracle ASMに格納される投票ファイルとOracle ASMに格納されない投票ファイルは、同じクラスタ内で使用できません。

Oracle ASMで投票ファイルを構成した後、投票ファイルの構成に変更を加えることができるのは、crsctl replace votediskコマンドを使用する場合のみです。これは、作業投票ファイルがない場合にもあてはまります。crsctl query css votediskによって使用中の投票ディスクがないと報告されても、Oracle ClusterwareはOracle ASMが使用中だったことを記憶しているため、replaceが必要になります。replaceを使用して、Oracle ASM以外の記憶域に投票ファイルを移動した後でのみ、add css votediskおよびdelete css votediskが再び使用可能になります。

特定のOracle ASMディスク・グループに格納できる投票ファイルの数は、ディスク・グループの冗長性に依存します。

デフォルトでは、Oracle ASMが、ディスク・グループ内のそれ自体の障害グループに各投票ファイルを配置します。障害グループは、ディスク・グループ内のディスクのサブセットです。障害グループは、あるディスクに障害が発生し、コンポーネントを共有する他のディスクにも障害が発生した場合などに、コンポーネントを共有するディスクを定義します。障害グループとして定義する可能性のある対象の例として、同じSCSIコントローラを共有しているSCSIディスク・セットがあります。障害グループは、冗長データの格納に使用するOracle ASMディスクを決定するために使用されます。たとえば、ファイルに2方向のミラー化が指定されている場合、ファイル・エクステントの冗長コピーは別の障害グループに格納される必要があります。

Oracle ASMディスク・グループに選択した冗長レベルによって、Oracle ASMがディスク・グループ内のファイルをミラー化する方法および必要となるディスク数とディスク領域が決まります。投票ファイルがディスク・グループにある場合、Oracle Clusterwareファイル(OCRおよび投票ファイル)があるディスク・グループの障害グループの最小数は、投票ファイルが定数障害グループに格納されているため、他のディスク・グループよりも多くなります。

定数障害グループは、Oracle Clusterware投票ファイルを格納する特殊なタイプの障害グループです。定数障害グループは、指定した障害グループの定数が使用可能であることを確認するために使用されます。Oracle ASMでOracle Clusterwareファイルが含まれるディスク・グループがマウントされるときに、1つ以上の障害グループが失われた場合にこのディスク・グループをマウントできるかどうかを判別するために、クォーラム障害グループが使用されます。定数障害グループ内のディスクにはユーザー・データが含まれないため、ユーザー・データを格納するための冗長性要件を決定するときには、このグループは考慮されません。

Oracle ASMフレックス・ディスク・グループは、Oracle ASMファイル・グループおよび割当て制限グループをサポートするディスク・グループ・タイプです。通常、フレックス・ディスク・グループを使用すると、ユーザーはディスク・グループ・レベルだけでなくデータベースの粒度でもストレージを管理できます。

冗長性レベルには次のものがあります。

  • 外部冗長: 外部冗長ディスク・グループでは、最小で1台のディスク・デバイスが必要です。外部冗長のディスク・グループで有効なディスク領域は、全デバイスのディスク領域の合計です。

    Oracle ASMは外部冗長ディスク・グループ内のデータをミラー化しないため、RAIDなどのストレージ・デバイスによる外部冗長を使用するか、または独自のデータ保護メカニズムを持つ類似デバイスを使用することをお薦めします。

  • 標準冗長: 標準冗長ディスク・グループでは、最小で2台のディスク・デバイス(または2つの障害グループ)が必要です。標準冗長のディスク・グループで有効なディスク領域は、すべてのデバイスのディスク領域の合計の半分です。

    Oracle Clusterwareファイルの場合、標準冗長のディスク・グループは最小で3台のディスク・デバイス(3台のうち2台は障害グループにより使用され、3台すべてがクォーラム障害グループにより使用されます)を必要とし、3つの投票ファイル、1つのOCRおよびOCRのミラーを提供します。標準冗長のディスク・グループを使用すると、1つの障害グループが失われた後もクラスタは機能したままになります。

  • 高冗長: 高冗長ディスク・グループでは、Oracle ASMはデフォルトで3方向のミラー化を使用してパフォーマンスを向上させ、最高レベルの信頼性を提供します。高冗長ディスク・グループでは、最小で3台のディスク・デバイス(または3つの障害グループ)が必要です。高冗長のディスク・グループで有効なディスク領域は、全デバイスのディスク領域の合計の3分の1です。

    Oracle Clusterwareファイルの場合、高冗長ディスク・グループは最小で5台のディスク・デバイス(5台のうち3台は障害グループにより使用され、5台すべてがクォーラム障害グループにより使用されます)を必要とし、5つの投票ファイル、1つのOCRおよび2つのOCRミラーを提供します。高い冗長性により、クラスタは2つの障害グループが失われた後も機能を維持できます。

crsctl replace votediskコマンドを使用すると、特定の投票ファイル・セットを、あるOracle ASMディスク・グループから別のOracle ASMディスク・グループに、または動作保証されているファイル・システムに移動できます。あるOracle ASMディスク・グループから別のOracle ASMディスク・グループに投票ファイルを移動する場合は、以前のディスク・グループとは異なる冗長レベルのディスク・グループに投票ファイルを配置することで、投票ファイルの数を変更できます。

ノート:

  • 1つのディスク・グループで、投票ファイルの数を直接変更することはできません。

  • Oracle ASMではディスク・グループの冗長性レベルに従って投票ファイルの数が管理されるため、 Oracle ASMディスク・グループに格納されている投票ファイルに対してcrsctl add | delete votediskコマンドを使用することはできません。

  • 投票ファイルがOracle ASMディスク・グループに格納されている場合は、クラスタ・ファイル・システムに投票ファイルを追加できません。Oracle ASM、および同じクラスタのクラスタ・ファイル・システム上に直接、投票ファイルを同時に格納することはサポートされていません。

投票ファイルのバックアップ

Oracle Clusterwareは、構成変更の一部として投票ファイルのデータを自動的にOCRにバックアップし、ユーザーが追加した任意の投票ファイルにデータを自動的にリストアします。

ただし、すべての投票ファイルが破損した場合は、「投票ファイルのリストア」で説明するとおり、それをリストアできます。

投票ファイルのリストア

すべての投票ファイルが破損している場合は、この手順を使用してリストアできます。

  1. 必要に応じて、「Oracle Cluster Registryのリストア」で説明するとおり、OCRをリストアします。

    このステップが必要なのは、OCRがOracle ASM上に存在し、ASMディスク・グループが使用できなくなっている場合など、OCRも破損しているか、または使用できない場合のみです。

  2. 次のコマンドを1つのノードのみからrootとして実行し、Oracle Clusterwareスタックを排他モードで起動します。この場合、投票ファイルが存在したり、使用可能である必要はありません。
    # crsctl start crs -excl
  3. コマンドcrsctl query css votediskを実行して、現在定義されている投票ファイルのリストを取得します。

    たとえば:

    $ crsctl query css votedisk
    --  -----    -----------------                --------- ---------
    ##  STATE    File Universal Id                File Name Disk group
     1. ONLINE   6f57843d89464c46ea747362e8a3fa43 (/dev/sdb1) [DATA]
     2. ONLINE   7c54856e98474f61bf349401e7c9fb95 (/dev/sdc1) [DATA]
     3. ONLINE   9c46232b76234f61fc934673d5c8ec59 (/dev/sdd1) [DATA]

    このリストは、すべての投票ファイルが破損していたり、投票ファイルにステータス3またはOFFとマーク付けされているエントリがリストに存在する可能性がある場合は、空であることがあります。

  4. 投票ファイルの格納場所に応じて、次のいずれかの方法を実行します。
    • 投票ファイルがOracle ASMに格納される場合は、次のコマンドを実行して、指定したOracle ASMディスク・グループに投票ファイルを移行します。

      crsctl replace votedisk +asm_disk_group

      投票ファイルの移行先のOracle ASMディスク・グループは、Oracle ASMに存在する必要があります。このコマンドは、投票ファイルがOracle ASMに格納されていても、他のストレージ・デバイスに格納されていても使用できます。

    • Oracle ASMに投票ファイルを格納していなかった場合は、前のステップで取得したファイル・ユニバーサル識別子(FUID)を使用して、次のコマンドを実行します。

      $ crsctl delete css votedisk FUID

      次のコマンドを実行して、投票ファイルを追加します。

      $ crsctl add css votedisk path_to_voting_disk
  5. rootとしてOracle Clusterwareスタックを停止します。
    # crsctl stop crs

    ノート:

    Oracle Clusterwareスタックが排他モードで実行されている場合は、-fオプションを使用してスタックを強制的に停止します。

  6. rootとしてOracle Clusterwareスタックを通常モードで再起動します。
    # crsctl start crs

投票ファイルの追加、削除または移行

Oracle Clusterwareのインストール後に、投票ファイルを追加、削除および移行できます。これを行うために使用するコマンドは、投票ファイルがOracle ASMに存在するか、別の記憶域オプションに存在するかによって異なります。

Oracle ASMに格納されている投票ファイルの変更
  • 投票ファイルのFUIDと現在の各投票ファイルのファイル・パスを表示するには、crsctl query css votediskコマンドを実行して、次のような出力を表示します。

    $ crsctl query css votedisk
    --  -----    -----------------                --------- ---------
    ##  STATE    File Universal Id                File Name Disk group
     1. ONLINE   6f57843d89464c46ea747362e8a3fa43 (/dev/sdb1) [DATA]
     2. ONLINE   7c54856e98474f61bf349401e7c9fb95 (/dev/sdc1) [DATA]
     3. ONLINE   9c46232b76234f61fc934673d5c8ec59 (/dev/sdd1) [DATA]
    

    このコマンドでは、ディスク順序番号、ディスクのステータス、FUID、ディスクのパス、およびディスクが格納されているOracle ASMディスク・グループの名前が戻されます。

  • Oracle ASMから代替ストレージ・デバイスに投票ファイルを移行するには、次のコマンドを使用して、Oracle ASMディスク・グループと置き換えるOracle ASM以外のストレージ・デバイスまでのパスを指定します。

    $ crsctl replace votedisk path_to_voting_disk
    

    クラスタ内の任意のノードでこのコマンドを実行できます。

  • Oracle ASMに格納されていないすべての投票ファイルを、Oracle ASMディスク・グループでOracle ASMにより管理される投票ファイルに置き換えるには、次のコマンドを実行します。

    $ crsctl replace votedisk +asm_disk_group
Oracle ASMに格納されていない投票ファイルの変更
  • 投票ファイルFUIDおよび現行の各投票ファイルのファイル・パスを表示するには、次のコマンドを実行します。

    $ crsctl query css votedisk
    ##  STATE    File Universal Id                File Name Disk group
    --  -----    -----------------                --------- ---------
     1. ONLINE   7c54856e98474f61bf349401e7c9fb95 (/cfs/host09_vd3) []
    

    このコマンドでは、ディスク順序番号、ディスクのステータス、FUID、およびディスクのパスが戻され、Oracle ASMディスク・グループの名前は戻されません。

  • 1つ以上の投票ファイルを追加するには、次のコマンドを実行します。path_to_voting_disk変数は、追加する投票ファイルの1つ以上の空白区切りの完全パスで置き換えます。

    $ crsctl add css votedisk path_to_voting_disk [...]
    
  • 投票ファイルAを投票ファイルBと置き換えるには、投票ファイルBを追加してから投票ファイルAを削除する必要があります。新しいディスクを追加して既存のディスクを削除するには、次のコマンドを実行します(path_to_voting_diskB変数は投票ファイルBの完全修飾パス名に置き換えます)。

    $ crsctl add css votedisk path_to_voting_diskB -purge
    

    -purgeオプションを使用すると、既存の投票ファイルが削除されます。

  • 投票ファイルを削除するには、次のコマンドを実行します。1つ以上の空白区切りの投票ファイルFUIDまたは削除する投票ファイルのカンマ区切りのディレクトリ・パスを指定します。

    $ crsctl delete css votedisk {FUID | path_to_voting_disk[...]}

ノート:

クラスタが停止し、失われた投票ファイルのために再起動できない場合は、rootとして次のコマンドを実行してCSSを排他モードで起動する必要があります。

# crsctl start crs -excl

CSSを排他モードで起動したら、次のコマンドを使用して投票ファイルを置換できます。

# crsctl replace votedisk path_to_voting_disk
Oracle ASMへの投票ファイルの移行

Oracle ASMに投票ファイルを移行するには、次のコマンドにOracle ASMディスク・グループ名を指定します。

$ crsctl replace votedisk +asm_disk_group

クラスタ内の任意のノードでこのコマンドを実行できます。

投票ファイルの場所の確認

投票ファイルの変更後、次のコマンドを使用して投票ファイルの場所を確認します。

$ crsctl query css votedisk

関連トピック