この章では、投票ディスクおよびOracle Cluster Registry(OCR)の管理について説明します。内容は次のとおりです。
Oracle Clusterwareコンポーネントには、投票ディスクとOCRの2つの重要なコンポーネントが含まれています。
投票ディスクは、ノードのメンバーシップに関する情報を管理するファイルです。
OCRは、クラスタおよびOracle Real Application Clusters(Oracle RAC)データベースの構成情報を管理するファイルです。
Oracle Clusterwareのインストール時に、可用性を向上するため、複数の投票ディスクを構成するオプションを選択することをお薦めします。必要に応じて、Oracle Clusterwareのインストール・プロセス完了後に、投票ディスクを動的に追加することもできます。
インストール終了後は、次の手順を使用して、投票ディスクの定期的なバックアップおよび必要に応じたリカバリを実行できます。
初期クラスタの作成後、およびノードの追加手順または削除手順の終了後は、投票ディスクをバックアップすることをお薦めします。
次のコマンドを発行して、現行の投票ディスクを確認します。
crsctl query votedisk css
dd
またはocopy
コマンドを発行して、投票ディスクを適切にバックアップします。次の例では、voting_disk_name
にアクティブな投票ディスクの名前、backup_file_name
には投票ディスクの内容をバックアップする宛先ファイルの名前を指定します。
投票ディスクのバックアップをリストアするには、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
この項では、OCRCONFIG、OCRDUMPおよびOCRCHECKのOCRツールを使用してOCRを管理する方法を説明します。
OCRには、クラスタ・ノード・リストに関する情報、インスタンスからノードへのマッピング情報、およびカスタマイズしたアプリケーションのOracle Clusterwareリソース・プロファイルの情報が含まれています。詳細は、第5章「Oracle Clusterwareを使用したアプリケーションの高可用性の実現」を参照してください。
この項では、OCRの管理について説明します。内容は次のとおりです。
関連項目: OCRCONFIGツールの詳細は、付録E「Oracle Cluster Registry Configurationツールのコマンド・リファレンス」、OCRDUMPユーティリティおよびOCRCHECKユーティリティの詳細は、付録F「Oracle Clusterwareのトラブルシューティング」を参照してください。 |
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の削除」を参照してください。
アップグレードの完了後または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システムの場合、ユーザーは管理者グループのメンバーである必要があります。 |
既存のOCR位置を変更する必要があるか、または障害のあるOCR位置を動作するOCR位置に変更する必要がある場合は、1つのOCRファイルがオンライン状態のままであれば、次の手順を使用できます。
OCR位置を変更する手順は、次のとおりです。
OCRCHECKユーティリティを使用して、次のコマンドを使用して、置換しようとしているOCR以外のOCRのコピーがオンライン状態であることを確認します。
ocrcheck
OCRCHECKでは、登録されているすべてのOCRファイル、およびそれらが使用可能(オンライン)かどうかが表示されます。OCRファイルが突然使用できなくなった場合は、Oracle Clusterwareが状態の変更を示すまでにしばらく時間がかかる場合があります。
注意: 置換するOCRは、オンラインまたはオフラインのいずれの状態でもかまいません。 |
次のコマンドを使用して、置換操作を実行するノードでOracle Clusterwareが実行中であることを確認します。
crsctl check crs
プライマリOCRを置換するには、root
ユーザーとして、ターゲットのOCR位置をdestination_file
またはdisk
に指定して、次のコマンドを実行します。
ocrconfig -replace ocr destination_file ocrconfig -replace ocr disk
セカンダリOCRを置換するには、root
ユーザーとして、ターゲットのOCR位置をdestination_file
またはdisk
に指定して、次のコマンドを実行します。
ocrconfig -replace ocrmirror destination_file ocrconfig -replace ocrmirror disk
現行のOracle RACクラスタに停止しているノードが存在する場合は、停止しているノードで次のコマンドを実行し、そのノードが再起動後にクラスタへ再度参加できるようにします。
ocrconfig -repair
あるノードが停止している間にOCR構成を変更した場合は、そのノードのOCR構成を修復する必要がある場合があります。たとえば、あるノードが停止している間にOCRの追加、置換または削除を行った場合は、そのノードのOCRを修復する必要がある場合があります。OCR構成を修復するには、Oracle Clusterwareデーモンが停止していたノードで、次のコマンドを実行します。
ocrconfig –repair ocrmirror device_name
この操作では、このコマンドを実行したノードのOCR構成のみが変更されます。たとえば、OCRのミラー・デバイス名が/dev/raw1
の場合、ノードでコマンド構文ocrconfig -repair ocrmirror /dev/raw1
を実行すると、このノードのOCR構成が修復されます。
注意: この操作は、Oracle Clusterwareデーモンが実行中のノードでは、実行できません。 |
OCR位置を削除するには、それ以外の1つ以上のOCRがオンライン状態である必要があります。OCR位置の削除は、OCR関連のオーバーヘッドを軽減する場合や、OCRをRAIDなどの冗長な記憶域に移動してOCRのミラー化を中止する場合に実行します。
Oracle Clusterware環境からOCR位置を削除するには、root
ユーザーとして次の手順を実行します。
削除するOCRの他に、1つ以上のOCRがオンライン状態になっていることを確認します。
注意: 他の1つ以上のOCRがアクティブでオンラインになっていない場合は、OCRの削除手順は実行しないでください。 |
クラスタの任意のノードで次のコマンドを実行し、OCRデバイスを削除します。
ocrconfig -replace ocr
クラスタの任意のノードで次のコマンドを実行し、ミラー化されたOCRデバイスを削除します。
ocrconfig -replace ocrmirror
これらのコマンドを実行すると、Oracle Clusterwareが実行中のすべてのノードでOCR構成が更新されます。
注意: OCR位置を削除する場合、それ以外のOCRがオンライン状態である必要があります。プライマリOCRを削除する場合は、ミラー化されたOCRがプライマリOCRになります。 |
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を上書きします。
CLSD-1009メッセージおよびCLSD-1011メッセージの原因の解決を試行します。
ノードのOCR構成(LinuxおよびUNIXシステムのocr.loc
およびWindowsシステムのレジストリ)をOracle Clusterwareが実行中の他のノードと比較します。
構成の内容が一致しない場合は、ocrconfig -repair
を実行します。
構成の内容が一致している場合は、LinuxおよびUNIXシステムのls
コマンドを実行して、ノードから構成済のすべてのOCRにアクセスできることを確認します。Windowsでは、OCR位置がファイルの場合はdir
コマンドを使用して、GuiOracleObjectManager.exe
を実行し、名前付きのパーティションが存在することを確認します。
最新のOCRに、OCRの最新の更新が含まれていることを確認します。
ocrdump
コマンドの出力を確認して、最新の更新が含まれているかどうかを確認します。
CLSDメッセージの原因となっている問題を解決できない場合は、ocrconfig -overwrite
コマンドを実行してノードを起動します。
この項では、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のリストアを実行する前に、アプリケーションを再起動します。OCRでの障害の発生を確認するには、ocrcheck
を実行します。このコマンドによって障害メッセージが戻された場合は、プライマリOCRとミラーOCRの両方で障害が発生しています。問題を解決するには、次のプラットフォーム固有のOCRリストア手順を実行します。
注意: -import オプションを使用して、OCRバックアップ・ファイルから構成をリストアすることはできません。詳細は、「OCRエクスポート・コマンドおよびインポート・コマンドを使用したOracle Cluster Registryの管理」を参照してください。かわりに、次の項で説明するとおり、-restore オプションを使用する必要があります。 |
LinuxまたはUNIXシステムでOCRをリストアするには、次の手順を実行します。
ocrconfig -showbackup
コマンドを使用して、OCRのバックアップを特定します。ocrdump -backupfile
file_name
を使用して、バックアップの内容を確認します。ここで、file_name
には、バックアップ・ファイルの名前を指定します。
すべてのノードでcrsctl stop crs
コマンドを実行して、すべてのノードのOracle Clusterwareを停止します。
次のコマンドを使用し、手順1で特定したOCRバックアップ・ファイルを適用してリストアを実行します。ここで、file_name
には、リストアするOCRの名前を指定します。OCR構成で指定したOCRデバイスが存在し、これらのOCRデバイスが有効であることを確認して、このコマンドを実行します。
ocrconfig -restore file_name
クラスタ内の各ノードを再起動するか、またはcrsctl start crs
コマンドを実行して、すべてのノードでOracle Clusterwareを再起動します。
次のコマンドを実行して、OCRの整合性を検証します。引数-n node_list all
を指定すると、クラスタの一部として構成されているすべてのクラスタ・ノードのリストが取得されます。
cluvfy comp ocr [-n node_list] [-verbose]
WindowsシステムでOCRをリストアするには、次の手順を実行します。
ocrconfig -showbackup
コマンドを使用して、OCRのバックアップを特定します。ocrdump -backupfile
file_name
を使用して、バックアップの内容を確認します。ここで、file_name
には、バックアップ・ファイルの名前を指定します。
サービス制御のパネルを使用して、残りのすべてのノードで、OCRクライアント(OracleClusterVolumeService
、OracleCSService
、OracleCRService
およびOracleEVMService
)を無効にし、停止します。
手順1で特定したOCRバックアップ・ファイルをocrconfig
-restore
file name
コマンドを使用して適用し、リストアを実行します。OCR構成で指定したOCRデバイスが存在し、これらのOCRデバイスが有効であることを確認します。
手順2で停止したすべてのサービスを起動します。すべてのノードを再起動し、クラスタ・モードで操作を再開します。
次のコマンドを実行して、OCRの整合性を検証します。引数-n
node_list
| all
を指定すると、クラスタの一部として構成されているすべてのクラスタ・ノードのリストが取得されます。
cluvfy comp ocr [-n node_list] | all [-verbose]
OCRDUMPユーティリティおよびOCRCHECKユーティリティを使用して、OCRの問題を診断できます。詳細は、次の項を参照してください。
OCRDUMPユーティリティを使用してOCRの内容をファイルに書き込むと、OCRの内容を確認できます。
OCRCHECKユーティリティを使用すると、OCRの整合性を検証できます。
自動的に作成されたOCRバックアップ・ファイルの使用に加え、重要な構成の変更前および変更後に、OCRの内容をエクスポートする必要もあります。たとえば、環境でノードを追加または削除する場合や、Oracle Clusterwareのリソースを変更する場合、データベースを作成する場合などがこれに該当します。これを行うには、ocrconfig
-export
コマンドを使用します。このコマンドを実行すると、OCRの内容がファイル・フォーマットにエクスポートされます。
ocrconfig -export
コマンドを使用すると、構成の変更によってエラーが発生した場合に、-import
オプションを使用してOCRをリストアできるようになります。たとえば、構成に解決できない問題がある場合や、構成の変更後にクラスタウェアが再起動できない場合は、次のプラットフォーム固有の手順を使用して、構成をリストアします。
注意: 構成を変更すると、ほとんどの場合は、OCRの内容が変更されるのみでなく、ファイルおよびデータベース・オブジェクトが作成されます。OCRをリストアしても、このような変更はリストアされない場合があります。これらの構成の変更のリストアが失敗した場合は、以前の正しい構成に戻すためにOCRのリストアを実行しないでください。実行した場合、OCRの内容がシステムの他の部分の状態と一致しなくなる可能性があります。 |
LinuxまたはUNIXシステムでOCRをインポートするには、次の手順を実行します。
root
ユーザーとして、すべてのノードで次のコマンドを発行し、Oracle Clusterwareを停止します。
crsctl stop crs
root
ユーザーとして次のコマンドを発行し、OCRエクスポート・ファイルを適用してOCRのインポートを実行します。ここで、file_name
には、OCR情報をインポートするOCRファイルの名前を指定します。
ocrconfig -import file_name
クラスタ内のすべてのノードでOracle Clusterwareを再起動します。
crsctl start crs
次のクラスタ検証ユーティリティ(CVU)・コマンドを発行して、OCRの整合性を検証します。引数-n node_list all
を指定すると、クラスタの一部として構成されているすべてのクラスタ・ノードのリストが取得されます。
cluvfy comp ocr [-n node_list] [-verbose]
注意: エクスポートしたOCRバックアップ・ファイルをインポートすることはできません。(バックアップの管理の詳細は、「Oracle Cluster Registryのバックアップおよびリカバリの管理」を参照してください。)かわりに、次の項で説明するとおり、-import オプションを使用する必要があります。 |
WindowsシステムでOCRをインポートするには、次の手順を実行します。
ocrconfig -showbackup
コマンドを実行して、インポートするOCRエクスポート・ファイルを特定します。
Oracle Clusterware環境内の各ノードでサービス制御のパネルを使用して、OCRクライアント(OracleClusterVolumeService
、OracleCMService
、OracleEVMService
、OracleCSService
およびOracleCRService
)を停止します。
ocrconfig
-import
コマンドを使用して、1つのノードからOCRエクスポート・ファイルをインポートします。
影響を受けたすべてのサービスを、すべてのノードで再開します。
次のクラスタ検証ユーティリティ(CVU)コマンドを実行して、OCRの整合性を検証します。ここで、node_list
には、クラスタ・データベース内のすべてのノードのリストを指定します。
cluvfy comp ocr [-n node_list] [-verbose]
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 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アドレスを変更するには、次の手順を実行します。
すべてのデータベースおよびASMインスタンスを停止します。指定したノードで、VIPアドレスに依存するすべてのリソースを停止します。これには、そのノードのすべてのOracle RACデータベース、およびそのノードのASMインスタンス(ある場合)が含まれます。
次のようにして、データベース・インスタンスを停止します。
srvctl stop instance -d grid -i grid1
この例では、データベース名(grid
)を-d
オプションで、適切なノード上のインスタンス(grid1
)を-i
オプションで指定しています。
あるいは、データベース全体を停止する場合は、次のように、すべてのノードでstop database
コマンドを発行します。
srvctl stop database -d grid
ノードでASMインスタンスを停止するには、次のコマンドを発行します。
srvctl stop asm -n mynode
注意: かわりに、SQL*Plus文を使用してこれらのリソースを停止するか、あるいはWindowsシステムでは、関連するサービスを停止することもできます。 |
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アドレスを含む)が表示されます。 |
srvctl stop nodeapps
コマンドを使用して、ノード・アプリケーションを停止します。次に例を示します。
srvctl stop nodeapps -n mynode
このコマンドにより、指定したノードで現在実行中のVIPアドレス、GSD、リスナーおよびONSデーモンが停止します。
LinuxまたはUNIXシステムでifconfig -a
コマンドを発行(Windowsシステムの場合はipconfig /all
コマンドを発行)して、VIPアドレスが実行されていないことを確認し、インタフェース(この例ではeth0:1
)が出力に表示されていないことを確認します。
インタフェースがまだオンラインの場合は、VIPアドレスに依存しているリソースがまだ実行中であることを示します。オンライン状態のリソースを表示するには、crs_stat
コマンドを使用します。
LinuxおよびUNIXシステムではすべてのノードの/etc/hosts
ファイルに、Windowsシステムでは%windir%\system32\drivers\etc\hosts
ファイルに、必要なすべての変更を加え、DNSを適切に変更して、新しいIPアドレスを古いホスト名に関連付けます。
次の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: このコマンドは、システム権限ユーザーとして実行する必要があります。
」のエラーが表示されます。
srvctl start nodeapps
コマンドを発行して、ノード・レベル・アプリケーションを起動します。
srvctl start nodeapps -n node_name
次のコマンドの例では、mynode
という名前のノードでアプリケーションを起動します。
srvctl start nodeapps -n mynode
クラスタ内の各ノードでこの手順を繰り返します。
SRVCTLユーティリティはクラスタ全体の管理ツールであるため、各クラスタ・ノードにログインせずに、クラスタ内の任意のノードから特定のノードに対し、これらのタスクを完了することができます。
次のコマンドを実行して、クラスタが構成されているすべてのノード間の接続性を確認します。このコマンドは、クラスタ・ノード上で使用可能なすべてのネットワーク・インタフェースを検出し、検出されたインタフェースからすべてのノードへの接続性を確認します。また、ノードで使用可能な、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)名 |
オペレーティング・システム。 たとえば、 |
すべてのノードで同一であることが必要です。グローバルに変更できます。 |
プライベート・ネットワークIPアドレス |
オペレーティング・システム(ネットワーク・インタフェースに割当て済)。たとえば、 |
|
プライベート・ノード名 |
プライベートIPアドレスを名前で解決する |
Oracle Clusterwareのインストール後は、この項で説明している手順を使用してプライベート・ノード名を変更することはできません。プライベート・ノード名はOCRにも格納されます。 |
次の項では、プライベート・ネットワーク・アドレス、ネットワーク・インタフェース、またはその両方の変更方法を説明します。
注意: Oracle Clusterwareのインストール後は、この項の手順を使用してプライベート・ノード名を変更することはできません。 |
プライベート・ネットワークIPアドレスを変更する手順
1つのノード上のプライベート・ネットワークIPアドレスを変更する場合で、新しいIPアドレスが以前のIPアドレスと同じサブネット上にある場合は、次の手順を実行します。
root
ユーザーとして、IPアドレスを変更するノードで次のコマンドを発行し、Oracle Clusterwareを停止します。
crsctl stop crs
ネットワーク・インタフェース・カード(NIC)に新しいネットワーク・アドレスを割り当てます。
root
ユーザーとして、ifconfig
オペレーティング・システム・コマンドを使用し、NICに新しいネットワーク・アドレスを割り当てます。新しいプライベートIPアドレスが、クラスタ内の残りのノードのプライベートIPアドレスと同じサブネット内にあることを確認します。
ifconfig
による変更は、永続的ではありません。ifconfig
による変更を永続的なものにするには、オペレーティング・システムでネットワーク構成設定を適宜更新します。
注意: プライベート・ノード名の解決にドメイン・ネーム・システム(DNS)を使用することはお薦めしません。ただし、DNSを使用する場合は、DNSエントリを適宜変更する必要があります。 |
関連項目: ifconfig コマンドの効果を永続的にする方法の詳細は、オペレーティング・システムのマニュアルを参照してください。 |
root
ユーザーとして次のコマンドを発行し、Oracle Clusterwareを再起動します。
crsctl start crs
変更は、Oracle Clusterwareの再起動時に有効になります。クラスタ内の複数ノードで複数のプライベートIPアドレスを変更するには、それらの各ノードに対し、手順1から手順3までをローリング方式で繰り返します。
新しいサブネットが使用されるようにプライベート・ネットワークIPアドレスを変更する手順
新しいサブネットが使用されるようにプライベート・ネットワークIPアドレスを変更する場合は、すべてのクラスタ・ノードですべてのIPアドレスを変更して、IPサブネットの変更を反映させる必要があります。サブネットを変更するには、次の手順を実行します。
root
ユーザーとして次のコマンドを発行し、すべてのノードでOracle Clusterwareを停止します。
crsctl stop crs
NICに新しいサブネットからの新しいネットワーク・アドレスを割り当てます。
root
ユーザーとして、ifconfig
オペレーティング・システム・コマンドを使用し、NICに新しいネットワーク・アドレスを割り当てます。すべてのプライベートIPアドレスが、同一のサブネットから取得されていることを確認します。
ifconfig
による変更は、永続的ではありません。ifconfig
による変更を永続的なものにするには、オペレーティング・システムでネットワーク構成設定を適宜更新します。
注意: プライベート・ノード名の解決にドメイン・ネーム・システム(DNS)を使用することはお薦めしません。ただし、DNSを使用する場合は、DNSエントリを適宜変更する必要があります。 |
関連項目: ifconfig コマンドの効果を永続的にする方法の詳細は、オペレーティング・システムのマニュアルを参照してください。 |
root
ユーザーとして次のコマンドを発行し、Oracle Clusterwareを再起動します。
crsctl start crs
変更は、Oracle Clusterwareの再起動時に有効になります。
oifcfg
コマンドを発行して、OCR内の新しいプライベートIPアドレス・サブネットを変更し、格納します。OIFCFG
コマンドの使用方法の詳細は、付録Cを参照してください。IPアドレスの変更は、Oracle Clusterwareの再起動時に有効になります。
注意: 停止時間を最小限にするために、次の手順を実行できます。
|
CLUSTER_INTERCONNECTS
初期化パラメータを使用している場合は、変更を反映するためにそれを更新する必要があります。CLUSTER_INTERCONNECTS
初期化パラメータを使用していない場合は、この手順をスキップします。
注意: CLUSTER_INTERCONNECTS パラメータを設定することはお薦めしません。 |
プライベート・ネットワーク・アドレスは、静的IPアドレスです。ifconfig
による変更は、永続的ではありません。ifconfig
による変更を永続的なものにするには、オペレーティング・システムでネットワーク構成設定を適宜更新します。
注意: プライベート・ノード名の解決にドメイン・ネーム・システム(DNS)を使用することはお薦めしません。ただし、DNSを使用する場合は、DNSエントリを適宜変更する必要があります。 |
インターコネクト用のネットワーク・インタフェース・カード(NIC)を変更する手順
プライベート・インターコネクト用のネットワーク・インタフェース(eth1
など)を変更する場合は、すべてのノードで(グローバルに)変更を実行する必要があります。これは、Oracleでは現在、クラスタ・インターコネクトに対する同一のサブネット内で、異なるネットワーク・インタフェース・カードの使用をサポートしていないためです。
次の手順を実行します。
root
ユーザーとして次のコマンドを発行し、すべてのノードでOracle Clusterwareを停止します。
crsctl stop crs
ifconfig
コマンドを使用して、現在のネットワーク・アドレスを新しいNICに割り当てます。
root
ユーザーとして、ifconfig
オペレーティング・システム・コマンドを発行し、現在使用されているプライベート・ネットワーク・アドレスを、インターコネクトに使用するNICに割り当てます。これには、通常、現行のインタフェースと新しいインタフェースを切り替えるために停止時間が必要となります。ifconfig
コマンドの発行方法の詳細は、プラットフォーム固有のオペレーティング・システムのマニュアルを参照してください。
ifconfig
による変更は、永続的ではありません。ifconfig
による変更を永続的なものにするには、オペレーティング・システムでネットワーク構成設定を適宜更新します。
注意: プライベート・ノード名の解決にドメイン・ネーム・システム(DNS)を使用することはお薦めしません。ただし、DNSを使用する場合は、DNSエントリを適宜変更する必要があります。 |
関連項目: ifconfig コマンドの効果を永続的にする方法の詳細は、オペレーティング・システムのマニュアルを参照してください。 |
root
ユーザーとして、すべてのノードで次のコマンドを発行し、Oracle Clusterwareを再起動します。
crsctl start crs
oifcfg
コマンドを発行して、OCR内の新しいプライベート・ネットワーク・アドレスまたはプライベートIPアドレスのサブネット割当てを変更し、格納します。OIFCFGコマンドの使用方法の詳細は、付録Cを参照してください。変更は、Oracle Clusterwareの再起動時に有効になります。
注意: 停止時間を最小限にするために、次の手順を実行できます。
|
1回の手順でプライベートIPアドレスとネットワーク・インタフェース・カードの両方を変更するには、新しいIPアドレスを新しいNICに割り当ててから、残りの手順を適宜実行します。