この節の手順では、次の作業を行います。
セントラルインスタンスのロックファイルの設定。
スケーラブルアプリケーションサーバーのロックファイルの設定。
ロックファイルは、あるノードで SAP インスタンスがすでに動作しているときに、他のノードで同じインスタンスを起動することを防止するためのものです。同じインスタンスを複数のノードで起動すると、それぞれのインスタンスがクラッシュします。クラッシュが起ると、SAP 停止スクリプトがインスタンスを正常に停止できないため、データに損傷が生じる可能性があります。
ロックファイルが設定されていると、SAP ソフトウェアは、SAP インスタンスの起動時に startup_lockfile ファイルをロックします。ユーザーが同じインスタンスを Sun Cluster 環境の外で起動してから Sun Cluster 環境のもとで SAP を起動すると、Sun Cluster HA for SAP データサービスは同じインスタンスを起動しようとします。しかし、ファイルロック機構が機能しているため、この試みは失敗します。データサービスは、適切なエラーメッセージを /var/adm/messages に書き込みます。
セントラルインスタンスまたはフェイルオーバーアプリケーションサーバーのロックファイルとスケーラブルアプリケーションサーバーのロックファイルとの唯一の違いは、スケーラブルアプリケーションサーバーのロックファイルがローカルファイルシステムにあるのに対し、セントラルインスタンスまたはフェイルオーバーアプリケーションサーバーのロックファイルはクラスタファイルシステムにある点です。
次の手順を使用して、セントラルインスタンスのロックファイルを設定します。
sapstart 実行ファイルの最新のパッチをインストールします。ロックファイルの設定には、このパッチが必要です。
セントラルインスタンスのロックファイルを クラスタファイルシステムに作成します。
sapstart がインスタンスの起動に使用するプロファイルに対して、セントラルインスタンス用に新しい SAP パラメータ sapstart/lockfile を追加するなどの編集を行います。このプロファイルは、startsap スクリプトでパラメータとして sapstart に渡されます。
sapstart/lockfile =/usr/sap/SID/ Service-StringSystem-Number/work/startup_lockfile |
新しいパラメータの名前
セントラルインスタンスの作業ディレクトリ
Sun Cluster HA for SAP が使用するロックファイル名
SAP がロックファイルを作成します。
ロックファイルのパスは、クラスタファイルシステムに配置する必要があります。ロックファイルのパスを各ノードにローカルで配置すると、複数のノードから同じインスタンスが起動されるのを防止できません。
次の手順を使用して、スケーラブルアプリケーションサーバーのロックファイルを設定します。
sapstart 実行ファイルの最新のパッチをインストールします。ロックファイルの設定には、このパッチが必要です。
アプリケーションサーバーのロックファイルをローカルファイルシステムに設定します。
sapstart がインスタンスの起動に使用するプロファイルに対して、アプリケーションサーバー用に新しい SAP パラメータ sapstart/lockfile を追加するなどの編集を行います。このプロファイルは、startsap スクリプトでパラメータとして sapstart に渡されます。
sapstart/lockfile =/usr/sap/local/SID/Dinstance-id/work/startup_lockfile |
新しいパラメータの名前
アプリケーションサーバーの作業ディレクトリ
Sun Cluster HA for SAP が使用するロックファイル名
SAP がロックファイルを作成します。
このロックファイルはローカルファイルシステムに配置されます。したがって、他のノードからの複数の起動を防止することはできませんが、同じノード上での複数の起動は防止できます。