ヘッダーをスキップ
Oracle Clusterware管理およびデプロイメント・ガイド
11gリリース1(11.1)
E05739-03
  目次
目次
索引
索引

戻る
戻る
 
次へ
次へ
 

2 Oracle Clusterwareの管理

この章では、投票ディスクおよびOracle Cluster Registry(OCR)の管理について説明します。内容は次のとおりです。

投票ディスクの管理

Oracle Clusterwareコンポーネントには、投票ディスクとOCRの2つの重要なコンポーネントが含まれています。

Oracle Clusterwareのインストール時に、可用性を向上するため、複数の投票ディスクを構成するオプションを選択することをお薦めします。必要に応じて、Oracle Clusterwareのインストール・プロセス完了後に、投票ディスクを動的に追加することもできます。

インストール終了後は、次の手順を使用して、投票ディスクの定期的なバックアップおよび必要に応じたリカバリを実行できます。

投票ディスクのバックアップ

初期クラスタの作成後、およびノードの追加手順または削除手順の終了後は、投票ディスクをバックアップすることをお薦めします。

次のコマンドを発行して、現行の投票ディスクを確認します。

crsctl query votedisk css

ddまたはocopyコマンドを発行して、投票ディスクを適切にバックアップします。次の例では、voting_disk_nameにアクティブな投票ディスクの名前、backup_file_nameには投票ディスクの内容をバックアップする宛先ファイルの名前を指定します。

  • LinuxまたはUNIXシステムの場合は、次のように指定します。

    dd if=voting_disk_name of=backup_file_name
    

    最小ブロック・サイズが4KBの投票ディスクをバックアップする場合は、ddコマンドを使用することをお薦めします。

  • Windowsシステムの場合は、ocopyコマンドを使用します。

    ocopy voting_disk_name backup_file_name
    

    OCOPYに関するオンライン・マニュアルを表示するには、WindowsのプロンプトでOCOPYのみを入力します。

投票ディスクのリカバリ

投票ディスクのバックアップをリストアするには、LinuxおよびUNIXシステムではddコマンドを、Windowsシステムではocopyコマンドをそれぞれ発行します。次の例では、backup_file_nameに投票ディスクのバックアップ・ファイルの名前、voting_disk_nameにアクティブな投票ディスクの名前を指定します。

  • LinuxまたはUNIXシステムの場合は、次のように指定します。

    dd if=backup_file_name of=voting_disk_name
    

    最小ブロック・サイズが4KBの投票ディスクをバックアップする場合は、ddコマンドを使用することをお薦めします。

  • Windowsシステムの場合は、ocopyコマンドを使用します。

    ocopy backup_file_name voting_disk_name
    

複数の投票ディスクを使用している場合は、次のコマンドを使用して、投票ディスクを削除したり、使用環境に投票ディスクを再度追加することができます。ここで、pathには、投票ディスクが存在する場所の完全パスを指定します。

crsctl delete css votedisk path
crsctl add css votedisk path

投票ディスクの追加、移動または削除

次のコマンドを使用して、Oracle Clusterwareのインストール後に、投票ディスクを追加、移動および削除できます。

  • 現行の投票ディスクを取得するには、次のコマンドを発行します。

    crsctl query css votedisk
    

    このコマンドを実行すると、クラスタ同期サービス(CSS)によって使用されている投票ディスクが表示されます。

  • 投票ディスクを追加するには、rootユーザーとして次のコマンドを発行します。path変数は、追加する投票ディスクの完全修飾されたパス名で置き換えます。

    crsctl add css votedisk path -force
    
  • 投票ディスクを移動するには、rootユーザーとして次のコマンドを発行します。path変数は、移動する投票ディスクの完全修飾されたパス名で置き換えます。

    crsctl delete css votedisk path -force
    crsctl add css votedisk path -force
    
  • 投票ディスクを削除するには、rootユーザーとして次のコマンドを発行します。path変数は、削除する投票ディスクの完全修飾されたパス名で置き換えます。

    crsctl delete css votedisk path -force
    

    注意:

    クラスタが停止している場合は、-forceオプションを指定して、アクティブなOracle Clusterwareデーモンとの対話なしに、投票ディスクの構成を変更できます。ただし、アクティブなクラスタ・ノードが存在しているときに-forceオプションを使用すると、構成が破損する場合があります。

投票ディスクの変更後は、すべてのノードでcrsctl start crsコマンドを使用してOracle Clusterwareを再起動し、次のコマンドを使用して投票ディスクの場所を確認します。

crsctl query css votedisk

Oracle Cluster Registryの管理

この項では、OCRCONFIG、OCRDUMPおよびOCRCHECKのOCRツールを使用してOCRを管理する方法を説明します。

OCRには、クラスタ・ノード・リストに関する情報、インスタンスからノードへのマッピング情報、およびカスタマイズしたアプリケーションのOracle Clusterwareリソース・プロファイルの情報が含まれています。詳細は、第5章「Oracle Clusterwareを使用したアプリケーションの高可用性の実現」を参照してください。

この項では、OCRの管理について説明します。内容は次のとおりです。


関連項目:

OCRCONFIGツールの詳細は、付録E「Oracle Cluster Registry Configurationツールのコマンド・リファレンス」、OCRDUMPユーティリティおよびOCRCHECKユーティリティの詳細は、付録F「Oracle Clusterwareのトラブルシューティング」を参照してください。

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

Oracle ClusterwareでのOracleインストール・プロセスでは、OCRを自動的にミラー化するかどうかを選択できます。ミラー化されたOCRは、Oracleクラスタ・ファイル・システム・ディスク、共有RAWデバイスまたは共有RAW論理ボリュームに配置できます。また、Oracleでは、Linux上のOCR用のブロック・デバイスがサポートされています。

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

  • リリース11.1にアップグレードした際に、OCRのミラー化を選択しなかった場合

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


注意:

基礎となる記憶域がRAIDでない場合は、OCRをミラー化することをお薦めします。ミラー化することで、OCRがシングル・ポイント障害になることを防止できます。

OCRのミラー化に加えて、次のことができます。

  • Oracle Enterprise ManagerまたはOracle Clusterwareのアラート・ログ・ファイルにOCR障害のアラートが表示された場合には、OCRを置換できます(「Oracle Cluster Registryの置換」を参照)。

  • 構成ミスまたは他のタイプのOCRエラーがある場合は、OCR位置を修復できます(「ローカル・ノードのOracle Cluster Registry構成の修復」を参照)。

  • たとえば、OCRの処理が原因でシステムのパフォーマンスが低下した場合や、OCRをRAIDストレージ・デバイスに移行して、複数のOCRを使用する必要がなくなった場合には、OCR位置を削除します。詳細は、「Oracle Cluster Registryの削除」を参照してください。


注意:

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

Oracle Cluster Registryの追加

アップグレードの完了後またはOracle Clusterwareのインストール完了後に、OCR位置を追加できます。すでにOCRをミラー化している場合は、OCR位置を追加する必要はありません。OCRをミラー化すると、2つのOCRは自動的に管理されます。Oracle Clusterware環境では、プライマリOCRと2つ目のOCRの2つのOCR以外はサポートされていません。


注意:

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

OCR位置を追加するには、rootユーザーとして、追加するOCRのターゲット位置をdestination_fileまたはdiskに指定して、次のコマンドを実行します。

ocrconfig -replace ocr destination_file or disk

OCRミラーの位置を追加するには、追加するOCRのターゲット位置をdestination_fileまたはdiskに指定して、次のコマンドを実行します。

ocrconfig -replace ocrmirror destination_file or disk

注意:

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

Oracle Cluster Registryの置換

既存のOCR位置を変更する必要があるか、または障害のあるOCR位置を動作するOCR位置に変更する必要がある場合は、1つのOCRファイルがオンライン状態のままであれば、次の手順を使用できます。

OCR位置を変更する手順は、次のとおりです。

  1. OCRCHECKユーティリティを使用して、次のコマンドを使用して、置換しようとしているOCR以外のOCRのコピーがオンライン状態であることを確認します。

    ocrcheck
    

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


    注意:

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

  2. 次のコマンドを使用して、置換操作を実行するノードでOracle Clusterwareが実行中であることを確認します。

    crsctl check crs
    
  3. プライマリOCRを置換するには、rootユーザーとして、ターゲットのOCR位置をdestination_fileまたはdiskに指定して、次のコマンドを実行します。

    ocrconfig -replace ocr destination_file
    ocrconfig -replace ocr disk
    
  4. セカンダリOCRを置換するには、rootユーザーとして、ターゲットのOCR位置をdestination_fileまたはdiskに指定して、次のコマンドを実行します。

    ocrconfig -replace ocrmirror destination_file
    ocrconfig -replace ocrmirror disk
    
  5. 現行のOracle RACクラスタに停止しているノードが存在する場合は、停止しているノードで次のコマンドを実行し、そのノードが再起動後にクラスタへ再度参加できるようにします。

    ocrconfig -repair
    

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

あるノードが停止している間にOCR構成を変更した場合は、そのノードのOCR構成を修復する必要がある場合があります。たとえば、あるノードが停止している間にOCRの追加、置換または削除を行った場合は、そのノードのOCRを修復する必要がある場合があります。OCR構成を修復するには、Oracle Clusterwareデーモンが停止していたノードで、次のコマンドを実行します。

ocrconfig –repair ocrmirror device_name

この操作では、このコマンドを実行したノードのOCR構成のみが変更されます。たとえば、OCRのミラー・デバイス名が/dev/raw1の場合、ノードでコマンド構文ocrconfig -repair ocrmirror /dev/raw1を実行すると、このノードのOCR構成が修復されます。


注意:

この操作は、Oracle Clusterwareデーモンが実行中のノードでは、実行できません。

Oracle Cluster Registryの削除

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

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

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


    注意:

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

  2. クラスタの任意のノードで次のコマンドを実行し、OCRデバイスを削除します。

    ocrconfig -replace ocr
    

    クラスタの任意のノードで次のコマンドを実行し、ミラー化されたOCRデバイスを削除します。

    ocrconfig -replace ocrmirror
    

    これらのコマンドを実行すると、Oracle Clusterwareが実行中のすべてのノードでOCR構成が更新されます。


注意:

OCR位置を削除する場合、それ以外のOCRがオンライン状態である必要があります。プライマリOCRを削除する場合は、ミラー化されたOCRがプライマリOCRになります。

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

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

ただし、環境内のすべてのクラスタ・ノードが起動できず、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の内容をバックアップして、バックアップからOCRの内容をリカバリする方法について説明します。次に示す1つ目の方法では、自動的に生成されたOCRファイルのコピーを使用します。2つ目の方法では、バックアップ・コマンドを必要に応じて発行できます。

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

  • 手動バックアップ: ocrconfig -manualbackupコマンドを使用して、4時間間隔で実行される自動バックアップを待たずに、Oracle Clusterwareによって任意の時刻にOCRのバックアップが実行されるようにします。-manualbackupオプションは、OCRを変更する前など、必要に応じてバイナリ・バックアップを取得する場合に、特に役立ちます。

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

LinuxまたはUNIXシステムでバックアップが生成されるデフォルトの場所は、CRS_home/cdata/cluster_nameです。ここで、cluster_nameは、使用しているクラスタ名です。Windowsシステムでも、バックアップが生成されるデフォルトの場所には同じパス構造が使用されます。デフォルトのバックアップはローカル・ファイル・システム上にあるため、標準のオペレーティング・システムまたはサード・パーティのツールを使用して、ocrconfigコマンドによって作成されたバックアップ・ファイルをオペレーティング・システム・バックアップの一部に含めることをお薦めします。


関連項目:

ocrconfig -backuplocオプションを使用すると、OCRがバックアップを作成する場所を移動できます。OCR構成ツール・オプションの詳細は、付録E「Oracle Cluster Registry Configurationツールのコマンド・リファレンス」を参照してください。

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


注意:

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


関連項目:

手動で作成されたOCRエクスポート・ファイルを使用してOCRの内容をコピーし、それをリカバリに使用する方法については、「OCRエクスポート・コマンドおよびインポート・コマンドを使用したOracle Cluster Registryの管理」を参照してください。

OCRバックアップからのOracle Cluster Registryのリストアの概要

アプリケーションで問題が発生した場合、OCRのリストアを実行する前に、アプリケーションを再起動します。OCRでの障害の発生を確認するには、ocrcheckを実行します。このコマンドによって障害メッセージが戻された場合は、プライマリOCRとミラーOCRの両方で障害が発生しています。問題を解決するには、次のプラットフォーム固有のOCRリストア手順を実行します。


注意:

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

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

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

  1. ocrconfig -showbackupコマンドを使用して、OCRのバックアップを特定します。ocrdump -backupfile file_nameを使用して、バックアップの内容を確認します。ここで、file_nameには、バックアップ・ファイルの名前を指定します。

  2. すべてのノードでcrsctl stop crsコマンドを実行して、すべてのノードのOracle Clusterwareを停止します。

  3. 次のコマンドを使用し、手順1で特定したOCRバックアップ・ファイルを適用してリストアを実行します。ここで、file_nameには、リストアするOCRの名前を指定します。OCR構成で指定したOCRデバイスが存在し、これらのOCRデバイスが有効であることを確認して、このコマンドを実行します。

    ocrconfig -restore file_name
    
  4. クラスタ内の各ノードを再起動するか、またはcrsctl start crsコマンドを実行して、すべてのノードでOracle Clusterwareを再起動します。

  5. 次のコマンドを実行して、OCRの整合性を検証します。引数-n node_list allを指定すると、クラスタの一部として構成されているすべてのクラスタ・ノードのリストが取得されます。

    cluvfy comp ocr [-n node_list] [-verbose]
    

関連項目:

CVUの有効化および使用方法の詳細は、付録F「Oracle Clusterwareのトラブルシューティング」を参照してください。

WindowsシステムでのOracle Cluster Registryのリストア

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

  1. ocrconfig -showbackupコマンドを使用して、OCRのバックアップを特定します。ocrdump -backupfile file_nameを使用して、バックアップの内容を確認します。ここで、file_nameには、バックアップ・ファイルの名前を指定します。

  2. サービス制御のパネルを使用して、残りのすべてのノードで、OCRクライアント(OracleClusterVolumeServiceOracleCSServiceOracleCRServiceおよびOracleEVMService)を無効にし、停止します。

  3. 手順1で特定したOCRバックアップ・ファイルをocrconfig -restore file nameコマンドを使用して適用し、リストアを実行します。OCR構成で指定したOCRデバイスが存在し、これらのOCRデバイスが有効であることを確認します。

  4. 手順2で停止したすべてのサービスを起動します。すべてのノードを再起動し、クラスタ・モードで操作を再開します。

  5. 次のコマンドを実行して、OCRの整合性を検証します。引数-n node_list | allを指定すると、クラスタの一部として構成されているすべてのクラスタ・ノードのリストが取得されます。

    cluvfy comp ocr [-n node_list] | all [-verbose]
    

    関連項目:

    CVUの有効化および使用方法の詳細は、付録Aを参照してください。

Oracle Cluster Registryの問題の診断

OCRDUMPユーティリティおよびOCRCHECKユーティリティを使用して、OCRの問題を診断できます。詳細は、次の項を参照してください。

OCRDUMPユーティリティの使用

OCRDUMPユーティリティを使用してOCRの内容をファイルに書き込むと、OCRの内容を確認できます。


関連項目:

OCRDUMPユーティリティの詳細は、「OCRDUMPユーティリティの構文およびオプション」を参照してください。

OCRCHECKユーティリティの使用

OCRCHECKユーティリティを使用すると、OCRの整合性を検証できます。


関連項目:

OCRCHECKユーティリティの詳細は、「OCRCHECKユーティリティの使用」を参照してください。

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

自動的に作成されたOCRバックアップ・ファイルの使用に加え、重要な構成の変更前および変更後に、OCRの内容をエクスポートする必要もあります。たとえば、環境でノードを追加または削除する場合や、Oracle Clusterwareのリソースを変更する場合、データベースを作成する場合などがこれに該当します。これを行うには、ocrconfig -exportコマンドを使用します。このコマンドを実行すると、OCRの内容がファイル・フォーマットにエクスポートされます。

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


注意:

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

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

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

  1. rootユーザーとして、すべてのノードで次のコマンドを発行し、Oracle Clusterwareを停止します。

    crsctl stop crs
    
  2. rootユーザーとして次のコマンドを発行し、OCRエクスポート・ファイルを適用してOCRのインポートを実行します。ここで、file_nameには、OCR情報をインポートするOCRファイルの名前を指定します。

    ocrconfig -import file_name
    
  3. クラスタ内のすべてのノードでOracle Clusterwareを再起動します。

    crsctl start crs
    
  4. 次のクラスタ検証ユーティリティ(CVU)・コマンドを発行して、OCRの整合性を検証します。引数-n node_list allを指定すると、クラスタの一部として構成されているすべてのクラスタ・ノードのリストが取得されます。

    cluvfy comp ocr [-n node_list] [-verbose]
    

注意:

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


関連項目:

CVUの有効化および使用方法の詳細は、付録F「Oracle Clusterwareのトラブルシューティング」を参照してください。

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

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

  1. ocrconfig -showbackupコマンドを実行して、インポートするOCRエクスポート・ファイルを特定します。

  2. Oracle Clusterware環境内の各ノードでサービス制御のパネルを使用して、OCRクライアント(OracleClusterVolumeServiceOracleCMServiceOracleEVMServiceOracleCSServiceおよびOracleCRService)を停止します。

  3. ocrconfig -importコマンドを使用して、1つのノードからOCRエクスポート・ファイルをインポートします。

  4. 影響を受けたすべてのサービスを、すべてのノードで再開します。

  5. 次のクラスタ検証ユーティリティ(CVU)コマンドを実行して、OCRの整合性を検証します。ここで、node_listには、クラスタ・データベース内のすべてのノードのリストを指定します。

    cluvfy comp ocr [-n node_list] [-verbose]
    

    関連項目:

    CVUの有効化および使用方法の詳細は、付録F「Oracle Clusterwareのトラブルシューティング」を参照してください。

Oracle Cluster RegistryでのOracle HARD Initiativeの実装

Oracle Hardware Assisted Resilient Data(HARD)は、破損したデータが永続的な記憶域へ書き込まれることを防ぎます。HARDを使用可能にすると、OCRによってHARD対応ブロックが書き込まれます。OCRで使用するデバイスがHARDをサポートしているかどうかを判断して、HARDを使用可能にする方法については、Oracle HARDに関するホワイト・ペーパーを参照してください。

http://www.oracle.com/technology/deploy/availability/htdocs/HARD.html

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

Oracle Clusterwareをインストールすると、ocrconfig -upgradeコマンドが自動的に実行されます。ダウングレードについては、各コンポーネントについてのダウングレード指示に従ってください。また、ocrconfig -downgradeコマンドを使用してOCRをダウングレードしてください。OCRをアップグレードする場合は、ocrcheckコマンドを使用して、OCRの整合性を検証できます。

ネットワーク・アドレスの変更

Oracle Clusterware構成では、最低2つのネットワーク接続が必要です。1つの接続は、ユーザーとアプリケーション・サーバーがデータベース・サーバー上のデータにアクセスするために接続するパブリック・ネットワーク・インタフェースに、もう1つの接続は、クラスタのノード間のプライベート・ネットワーク・インタフェースに使用します。

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

パブリック・ネットワーク・アドレスの変更

クライアントは、仮想インターネット・プロトコル(VIP)・アドレスを使用して、Oracle RACデータベース・インスタンスに接続します。VIPアドレスによって、TCP/IPスタックに入るすべてのタイムアウトが解決されるため、アプリケーションの可用性が向上します。VIPアドレスは、ドメイン・ネーム・システム(DNS)を使用してホスト名を定義および解決する静的IPアドレスです。

Oracle Clusterwareのインストール中に、クラスタの各ノードのVIPアドレスおよび仮想ホスト名を入力するよう要求されます。これらの項目は、VIPアドレスに応じて、OCR内および高可用性フレームワーク内の別々のコンポーネントに格納されます。

VIPアドレスを変更するには、VIPアドレス、グローバル・サービス・デーモン(GSD)、リスナーおよびOracle Notification Services(ONS)を含むノード・アプリケーションの変更が必要です。VIPアドレスの変更は、ノード・アプリケーションを実行している間も可能です。ただし、変更内容は、VIPアドレスを再起動(ノード・アプリケーションを再起動)するまで反映されません。データベース・インスタンスおよびASMインスタンスなど、ノード上の他のリソースは、VIPアドレスに依存します。したがって、他のリソースを停止した場合のみ、ノード・アプリケーションの停止によってVIPアドレスがオフラインになります。


注意:

次の説明は、VIPアドレスのみを変更する方法を示すもので、VIPアドレスに関連付けられたホスト名は変更しないことを想定しています。
  • VIPアドレスのみを変更する場合、listener.oraファイルおよびtnsnames.oraファイルでHOST=エントリに仮想ホスト名を使用しているときは、それらのファイルを変更する必要はありません。

  • VIPアドレスのみを変更する場合、ドメイン・ネーム・システム(DNS)またはクライアントのhostsファイルを更新します。また、サーバーのhostsエントリがVIPに対して使用されている場合は、それも更新します。

  • ノードの仮想ホスト名とVIPアドレスの両方を変更する場合は、listener.oraファイルを変更してHOST=エントリを新しい仮想ホスト名に変更する必要があります。

    編集ツールを使用してlistener.oraファイルを手動で変更するか、またはNet Configuration Assistant(NETCA)を使用して古いリスナーを削除し、新しいリスナーを作成できます。また、古いホスト名に接続しているクライアントのtnsnames.oraファイルは、変更する必要はありません。


VIPアドレスを変更するには、次の手順を実行します。

  1. すべてのデータベースおよびASMインスタンスを停止します。指定したノードで、VIPアドレスに依存するすべてのリソースを停止します。これには、そのノードのすべてのOracle RACデータベース、およびそのノードのASMインスタンス(ある場合)が含まれます。

    1. 次のようにして、データベース・インスタンスを停止します。

      srvctl stop instance -d grid -i grid1
      

      この例では、データベース名(grid)を-dオプションで、適切なノード上のインスタンス(grid1)を-iオプションで指定しています。

      あるいは、データベース全体を停止する場合は、次のように、すべてのノードでstop databaseコマンドを発行します。

      srvctl stop database -d grid
      
    2. ノードでASMインスタンスを停止するには、次のコマンドを発行します。

      srvctl stop asm -n mynode
      

      注意:

      かわりに、SQL*Plus文を使用してこれらのリソースを停止するか、あるいはWindowsシステムでは、関連するサービスを停止することもできます。

  2. ifconfig -aコマンドを発行して、VIPの現在のIPアドレスを確認します。このコマンドにより、ネットワーク・インタフェースの1つにバインドされた現在のVIPが表示されます。次の例は、ネットワーク・インタフェースの1つ(eth0:1)にバインドされた現在のVIPを表示しています。

    eth0:1    Link encap:Ethernet  HWaddr 00:01:03:2C:69:BB
              inet addr:192.168.1.125  Bcast:192.168.1.255  Mask:255.255.255.0
              UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
              ...
              ...
    

    注意:

    Windowsシステムでipconfig /allコマンドを発行すると、指定したアダプタにバインドされたすべてのIPアドレス(VIPアドレスを含む)が表示されます。

  3. srvctl stop nodeappsコマンドを使用して、ノード・アプリケーションを停止します。次に例を示します。

    srvctl stop nodeapps -n mynode
    

    このコマンドにより、指定したノードで現在実行中のVIPアドレス、GSD、リスナーおよびONSデーモンが停止します。

  4. LinuxまたはUNIXシステムでifconfig -aコマンドを発行(Windowsシステムの場合はipconfig /allコマンドを発行)して、VIPアドレスが実行されていないことを確認し、インタフェース(この例ではeth0:1)が出力に表示されていないことを確認します。

    インタフェースがまだオンラインの場合は、VIPアドレスに依存しているリソースがまだ実行中であることを示します。オンライン状態のリソースを表示するには、crs_statコマンドを使用します。

  5. LinuxおよびUNIXシステムではすべてのノードの/etc/hostsファイルに、Windowsシステムでは%windir%\system32\drivers\etc\hostsファイルに、必要なすべての変更を加え、DNSを適切に変更して、新しいIPアドレスを古いホスト名に関連付けます。

  6. 次のsrvctl modify nodeappsコマンド構文を使用して、ノード・アプリケーションを変更し、新しいVIPアドレスを指定します。

    srvctl modify nodeapps -n node_name; [-o oracle_home] [-A new_vip_address]
    

    構文には次のオプションを含めます。

    • -n node_nameはノード名です。

    • -o Oracle_homeはクラスタ・データベースのOracleホームです。

    • -A new_vip_addressはノード・レベルのVIPアドレスで、次のようになります。name|ip/netmask[/if1[|if2|...]]

      たとえば、rootユーザーとして次のコマンドを発行します。

      srvctl modify nodeapps -n mynode -A 192.168.2.125/255.255.255.0/eth0
      

      oracleユーザーとしてこのコマンドを発行しようとすると、「PRKO-2117: このコマンドは、システム権限ユーザーとして実行する必要があります。」のエラーが表示されます。

  7. srvctl start nodeappsコマンドを発行して、ノード・レベル・アプリケーションを起動します。

    srvctl start nodeapps -n node_name
    

    次のコマンドの例では、mynodeという名前のノードでアプリケーションを起動します。

    srvctl start nodeapps -n mynode
    
  8. クラスタ内の各ノードでこの手順を繰り返します。

    SRVCTLユーティリティはクラスタ全体の管理ツールであるため、各クラスタ・ノードにログインせずに、クラスタ内の任意のノードから特定のノードに対し、これらのタスクを完了することができます。

  9. 次のコマンドを実行して、クラスタが構成されているすべてのノード間の接続性を確認します。このコマンドは、クラスタ・ノード上で使用可能なすべてのネットワーク・インタフェースを検出し、検出されたインタフェースからすべてのノードへの接続性を確認します。また、ノードで使用可能な、VIPアドレスとしての使用に適したすべてのインタフェースを表示します。

    cluvfy comp nodecon -n node_list all [-verbose]
    

プライベート・ネットワーク・アドレスの変更

Oracle Clusterwareでは、各ノードが、(パブリック・ネットワークに加えて)プライベート・ネットワークに接続されている必要があります。プライベート・ネットワーク接続は、クラスタ・インターコネクトとも呼ばれます。Oracle Clusterwareのインストール中に、クラスタの各ノードのプライベート・ネットワークIPアドレスを入力するよう要求されます。VIPアドレスとは異なり、このアドレスは、各ノード上の特定のネットワーク・インタフェースにすでに割り当てられている必要があります。

また、指定されたIPアドレスを解決するプライベート・ノード名を指定する必要があります。通常、これはオペレーティング・システムのhostsファイル内に格納されます。このプライベート・ノード名は、自動的にOCRに格納されます。ドメイン・ネーム・システム(DNS)を使用してプライベート・ネットワークIPアドレス名を解決することは、お薦めしません。

Oracleは現在、すべてのノードが、同一のサブネットに接続された同一のネットワーク・インタフェース(oifcfgコマンドによりグローバル・インタフェースとして定義済)を使用しているクラスタのみをサポートしています。ノードごとに異なるネットワーク・インタフェース(ノード固有のインタフェース)を使用することはできません。グローバル・インタフェースおよびノード固有のインタフェースの詳細は、付録C「Oracle Interface Configuration(OIFCFG)のコマンド・リファレンス」を参照してください。

表2-1に、ネットワーク・インタフェース・カード(NIC)、プライベートIPアドレスおよびプライベート・ノード名がどのように格納されるかを示します。

表2-1 NIC、プライベートIPアドレスおよびプライベート・ホスト名の記憶域

エンティティ 格納先 コメント

ネットワーク・インタフェース・カード(Network Interface Card: NIC)名

オペレーティング・システム。

たとえば、eth1など。

すべてのノードで同一であることが必要です。グローバルに変更できます。

プライベート・ネットワークIPアドレス

オペレーティング・システム(ネットワーク・インタフェースに割当て済)。たとえば、eth1 10.10.1.1など。

rootとしてifconfigコマンドを使用して構成します。同一のサブネットの場合は、IPアドレスをローカルに変更できます。そうでない場合は、グローバルに変更します。

プライベート・ノード名

プライベートIPアドレスを名前で解決する/etc/hostsファイル。

Oracle Clusterwareのインストール後は、この項で説明している手順を使用してプライベート・ノード名を変更することはできません。プライベート・ノード名はOCRにも格納されます。


次の項では、プライベート・ネットワーク・アドレス、ネットワーク・インタフェース、またはその両方の変更方法を説明します。


注意:

Oracle Clusterwareのインストール後は、この項の手順を使用してプライベート・ノード名を変更することはできません。

プライベート・ネットワークIPアドレスを変更する手順

1つのノード上のプライベート・ネットワークIPアドレスを変更する場合で、新しいIPアドレスが以前のIPアドレスと同じサブネット上にある場合は、次の手順を実行します。

  1. rootユーザーとして、IPアドレスを変更するノードで次のコマンドを発行し、Oracle Clusterwareを停止します。

    crsctl stop crs
    
  2. ネットワーク・インタフェース・カード(NIC)に新しいネットワーク・アドレスを割り当てます。

    rootユーザーとして、ifconfigオペレーティング・システム・コマンドを使用し、NICに新しいネットワーク・アドレスを割り当てます。新しいプライベートIPアドレスが、クラスタ内の残りのノードのプライベートIPアドレスと同じサブネット内にあることを確認します。

  3. ifconfigによる変更は、永続的ではありません。ifconfigによる変更を永続的なものにするには、オペレーティング・システムでネットワーク構成設定を適宜更新します。


    注意:

    プライベート・ノード名の解決にドメイン・ネーム・システム(DNS)を使用することはお薦めしません。ただし、DNSを使用する場合は、DNSエントリを適宜変更する必要があります。


    関連項目:

    ifconfigコマンドの効果を永続的にする方法の詳細は、オペレーティング・システムのマニュアルを参照してください。

  4. rootユーザーとして次のコマンドを発行し、Oracle Clusterwareを再起動します。

    crsctl start crs
    

    変更は、Oracle Clusterwareの再起動時に有効になります。クラスタ内の複数ノードで複数のプライベートIPアドレスを変更するには、それらの各ノードに対し、手順1から手順3までをローリング方式で繰り返します。

新しいサブネットが使用されるようにプライベート・ネットワークIPアドレスを変更する手順

新しいサブネットが使用されるようにプライベート・ネットワークIPアドレスを変更する場合は、すべてのクラスタ・ノードですべてのIPアドレスを変更して、IPサブネットの変更を反映させる必要があります。サブネットを変更するには、次の手順を実行します。

  1. rootユーザーとして次のコマンドを発行し、すべてのノードでOracle Clusterwareを停止します。

    crsctl stop crs
    
  2. NICに新しいサブネットからの新しいネットワーク・アドレスを割り当てます。

    rootユーザーとして、ifconfigオペレーティング・システム・コマンドを使用し、NICに新しいネットワーク・アドレスを割り当てます。すべてのプライベートIPアドレスが、同一のサブネットから取得されていることを確認します。

  3. ifconfigによる変更は、永続的ではありません。ifconfigによる変更を永続的なものにするには、オペレーティング・システムでネットワーク構成設定を適宜更新します。


    注意:

    プライベート・ノード名の解決にドメイン・ネーム・システム(DNS)を使用することはお薦めしません。ただし、DNSを使用する場合は、DNSエントリを適宜変更する必要があります。


    関連項目:

    ifconfigコマンドの効果を永続的にする方法の詳細は、オペレーティング・システムのマニュアルを参照してください。

  4. rootユーザーとして次のコマンドを発行し、Oracle Clusterwareを再起動します。

    crsctl start crs
    

    変更は、Oracle Clusterwareの再起動時に有効になります。

  5. oifcfgコマンドを発行して、OCR内の新しいプライベートIPアドレス・サブネットを変更し、格納します。OIFCFGコマンドの使用方法の詳細は、付録Cを参照してください。IPアドレスの変更は、Oracle Clusterwareの再起動時に有効になります。


注意:

停止時間を最小限にするために、次の手順を実行できます。
  1. クラスタ内の1つのノードを除くすべてのノードで、Oracle Clusterwareを停止する手順1を実行します。

  2. 停止した各ノードで手順2および3を実行して、IPアドレスを変更します。ただし、1つのノードで手順を完了してから、次のノードで手順を実行するようにします。

  3. 実行中の(未変更の)ノードで手順1を実行して、Oracle Clusterwareを停止します。

  4. IPアドレスの変更が完了したノードを再起動します。

  5. 手順2および3を実行して、最後の未変更のノードでIPアドレスを変更します。

  6. 最後のノードを再起動します。


CLUSTER_INTERCONNECTS初期化パラメータを使用している場合は、変更を反映するためにそれを更新する必要があります。CLUSTER_INTERCONNECTS初期化パラメータを使用していない場合は、この手順をスキップします。


注意:

CLUSTER_INTERCONNECTSパラメータを設定することはお薦めしません。

プライベート・ネットワーク・アドレスは、静的IPアドレスです。ifconfigによる変更は、永続的ではありません。ifconfigによる変更を永続的なものにするには、オペレーティング・システムでネットワーク構成設定を適宜更新します。


注意:

プライベート・ノード名の解決にドメイン・ネーム・システム(DNS)を使用することはお薦めしません。ただし、DNSを使用する場合は、DNSエントリを適宜変更する必要があります。

インターコネクト用のネットワーク・インタフェース・カード(NIC)を変更する手順

プライベート・インターコネクト用のネットワーク・インタフェース(eth1など)を変更する場合は、すべてのノードで(グローバルに)変更を実行する必要があります。これは、Oracleでは現在、クラスタ・インターコネクトに対する同一のサブネット内で、異なるネットワーク・インタフェース・カードの使用をサポートしていないためです。

次の手順を実行します。

  1. rootユーザーとして次のコマンドを発行し、すべてのノードでOracle Clusterwareを停止します。

    crsctl stop crs
    
  2. ifconfigコマンドを使用して、現在のネットワーク・アドレスを新しいNICに割り当てます。

    rootユーザーとして、ifconfigオペレーティング・システム・コマンドを発行し、現在使用されているプライベート・ネットワーク・アドレスを、インターコネクトに使用するNICに割り当てます。これには、通常、現行のインタフェースと新しいインタフェースを切り替えるために停止時間が必要となります。ifconfigコマンドの発行方法の詳細は、プラットフォーム固有のオペレーティング・システムのマニュアルを参照してください。

  3. ifconfigによる変更は、永続的ではありません。ifconfigによる変更を永続的なものにするには、オペレーティング・システムでネットワーク構成設定を適宜更新します。


    注意:

    プライベート・ノード名の解決にドメイン・ネーム・システム(DNS)を使用することはお薦めしません。ただし、DNSを使用する場合は、DNSエントリを適宜変更する必要があります。


    関連項目:

    ifconfigコマンドの効果を永続的にする方法の詳細は、オペレーティング・システムのマニュアルを参照してください。

  4. rootユーザーとして、すべてのノードで次のコマンドを発行し、Oracle Clusterwareを再起動します。

    crsctl start crs
    
  5. oifcfgコマンドを発行して、OCR内の新しいプライベート・ネットワーク・アドレスまたはプライベートIPアドレスのサブネット割当てを変更し、格納します。OIFCFGコマンドの使用方法の詳細は、付録Cを参照してください。変更は、Oracle Clusterwareの再起動時に有効になります。


注意:

停止時間を最小限にするために、次の手順を実行できます。
  1. クラスタ内の1つのノードを除くすべてのノードで、Oracle Clusterwareを停止する手順1を実行します。

  2. 停止した各ノードで手順2および3を実行して、IPアドレスを変更します。ただし、1つのノードで手順を完了してから、次のノードで手順を実行するようにします。

  3. 実行中の(未変更の)ノードで手順1を実行して、Oracle Clusterwareを停止します。

  4. IPアドレスの変更が完了したノードを再起動します。

  5. 手順2および3を実行して、最後の未変更のノードでIPアドレスを変更します。

  6. 最後のノードを再起動します。


1回の手順でプライベートIPアドレスとネットワーク・インタフェース・カードの両方を変更するには、新しいIPアドレスを新しいNICに割り当ててから、残りの手順を適宜実行します。