SAP ERP 6.0 EHP4 on Oracle RAC (24) [SAP]
SAP ERP 6.0 EHP4 on Oracle RAC です。
前回では Oracle RAC側に SAP Gateway をインストールして、BR★TOOLS を起動しました。
今回は RAC 環境に ERS をインストールします。
ERS とは Enqueue Replication Server であり、SAPの ASCS にある enqueue service の管理するロックテーブル(enqueue)の複製を持つサービスです。
エンキューは、メモリ上で管理されるので、サーバが再起動されるとクリアされてしまいます。
ERSはそのエンキューのコピーを保持するサービスで、ASCSが何らかの理由で再起動されたてエンキューがクリアされた時に、ERSからエンキュー情報をASCSにコピーしてエンキューサービスの役割を続行します。
だいたいはクラスタ環境で使用され、クラスタの各ノードにインストールします。
ASCSがサーバの障害等でフェイルオーバーした時にどこかのノードで稼働しているERSからコピーされているエンキューテーブルをASCSに読み直します。
ERSのインストールはSWPMにて行いますが、今のバージョンのLinux Oracle版のインストーラでは事前にいくつか設定しておく必要がある様です。
また、インストール後も変になる箇所があるので修正が必要になります。
まず、ora>sid< のOSユーザが必要でした。
このユーザは RAC 環境(というかASM環境)では作成されないユーザですが、何故かチェックされ、存在しないとエラーになります。
なので以下の様に事前に作成します。ユーザIDとSIDは環境に応じて変更してください。
useradd -u 702 -g dba -G oper,sapinst -d /oracle/E64 -s /bin/csh orae64
最初のサーバへの ERS のインストールでは、DEFAULT.PFL と ASCSのインスタンスプロファイルにパラメータが追加されるので、ERSのインストールの途中で ASCS の再起動が実施されます。
今回は以下のパラメータが追加されていました。
DEFAULT.PFLでは以下のパラメータが、
enque/deque_wait_answer = TRUE
ASCSのインスタンスプロファイル(E64_ASCS00_enceradus)では以下のパラメータが追加されていました。
enque/server/replication = true
これらのパラメータを ERS インストール前に追加して、ASCSを再起動しておけば、ERS をインストール中に ASCS の再起動がされる事は無いと思われます。
実際に、最初の ERSのインストールでは ASCSの再起動がありましたが、2台目以降での ERSのインストールでは ASCSの再起動はありませんでした。
ASCSを再起動させるのは別に良いのですが、RAC環境の SAPCTLとは相性が悪いため、sapinst による自動再起動は避けて手動再起動を勧めます。
ERS のインストールは SWPMにて行います。
解凍したSWPMから sapinst を起動します。
ERSは High-AvailabilitySystem にある Enqueue Replication Server Instance にてインストールします。
ASCSのプロファイルのあるディレクトリを指定します。
エキューのコピー元のASCSインスタンスを指定します。
SAPカーネルの媒体を指定します。
ERSのシステム番号を指定します。デフォルトではコピー元+10の番号になります。
これは最初のERSでしたので、ASCSの再起動が必要でした。
Get the (A)SCS Instance Restarted にチェックを入れましたが、これは入れずに手動でASCSを再起動した方が良かった。
インストールパラメータのサマリです。
Create users for SAP system で異様に時間が掛かり、嫌な予感が…
最後に Restart central service instance で ASCSが再起動されて終わりですが、エラーとなってしまいました。
予め必要なパラメータをセットしてASCSを再起動しておくか、手動での ASCSの再起動を選んでいたらエラーにはならなかったと思います。
エラーの原因としては、sapinstが ASCSを勝手に落としため、クラスタの ASCSがフェイルオーバーして別のノードで勝手に起動され、それにも係わらず、このERSをインストールしているノードでASCSを起動しようとした事が原因の様です。
ASCSのクラスタでの起動をやめ、ローカルで ASCSを起動させる事でしのぎました。
と、言うのは良いが、ASCSはクラスタのIPが起動していないと起動出来ないので、Oracle Clasterware として ASCSの IPを起動してから sapcontrol を使用して ASCSを起動するという手順を踏んでいます。
クラスタの別のノードでもERSを同じ様にインストールするのですが、その時は ASCSの再起動はもうありません。
これで終わりかと言うと、そうではない。
このバージョンのSWPMでは、かなり余分な事をしてくれるので、リカバリしないとなりません。
前回では Oracle RAC側に SAP Gateway をインストールして、BR★TOOLS を起動しました。
今回は RAC 環境に ERS をインストールします。
ERS とは Enqueue Replication Server であり、SAPの ASCS にある enqueue service の管理するロックテーブル(enqueue)の複製を持つサービスです。
エンキューは、メモリ上で管理されるので、サーバが再起動されるとクリアされてしまいます。
ERSはそのエンキューのコピーを保持するサービスで、ASCSが何らかの理由で再起動されたてエンキューがクリアされた時に、ERSからエンキュー情報をASCSにコピーしてエンキューサービスの役割を続行します。
だいたいはクラスタ環境で使用され、クラスタの各ノードにインストールします。
ASCSがサーバの障害等でフェイルオーバーした時にどこかのノードで稼働しているERSからコピーされているエンキューテーブルをASCSに読み直します。
ERSのインストールはSWPMにて行いますが、今のバージョンのLinux Oracle版のインストーラでは事前にいくつか設定しておく必要がある様です。
また、インストール後も変になる箇所があるので修正が必要になります。
まず、ora>sid< のOSユーザが必要でした。
このユーザは RAC 環境(というかASM環境)では作成されないユーザですが、何故かチェックされ、存在しないとエラーになります。
なので以下の様に事前に作成します。ユーザIDとSIDは環境に応じて変更してください。
useradd -u 702 -g dba -G oper,sapinst -d /oracle/E64 -s /bin/csh orae64
最初のサーバへの ERS のインストールでは、DEFAULT.PFL と ASCSのインスタンスプロファイルにパラメータが追加されるので、ERSのインストールの途中で ASCS の再起動が実施されます。
今回は以下のパラメータが追加されていました。
DEFAULT.PFLでは以下のパラメータが、
enque/deque_wait_answer = TRUE
ASCSのインスタンスプロファイル(E64_ASCS00_enceradus)では以下のパラメータが追加されていました。
enque/server/replication = true
これらのパラメータを ERS インストール前に追加して、ASCSを再起動しておけば、ERS をインストール中に ASCS の再起動がされる事は無いと思われます。
実際に、最初の ERSのインストールでは ASCSの再起動がありましたが、2台目以降での ERSのインストールでは ASCSの再起動はありませんでした。
ASCSを再起動させるのは別に良いのですが、RAC環境の SAPCTLとは相性が悪いため、sapinst による自動再起動は避けて手動再起動を勧めます。
ERS のインストールは SWPMにて行います。
解凍したSWPMから sapinst を起動します。
ERSは High-AvailabilitySystem にある Enqueue Replication Server Instance にてインストールします。
ASCSのプロファイルのあるディレクトリを指定します。
エキューのコピー元のASCSインスタンスを指定します。
SAPカーネルの媒体を指定します。
ERSのシステム番号を指定します。デフォルトではコピー元+10の番号になります。
これは最初のERSでしたので、ASCSの再起動が必要でした。
Get the (A)SCS Instance Restarted にチェックを入れましたが、これは入れずに手動でASCSを再起動した方が良かった。
インストールパラメータのサマリです。
Create users for SAP system で異様に時間が掛かり、嫌な予感が…
最後に Restart central service instance で ASCSが再起動されて終わりですが、エラーとなってしまいました。
予め必要なパラメータをセットしてASCSを再起動しておくか、手動での ASCSの再起動を選んでいたらエラーにはならなかったと思います。
エラーの原因としては、sapinstが ASCSを勝手に落としため、クラスタの ASCSがフェイルオーバーして別のノードで勝手に起動され、それにも係わらず、このERSをインストールしているノードでASCSを起動しようとした事が原因の様です。
ASCSのクラスタでの起動をやめ、ローカルで ASCSを起動させる事でしのぎました。
と、言うのは良いが、ASCSはクラスタのIPが起動していないと起動出来ないので、Oracle Clasterware として ASCSの IPを起動してから sapcontrol を使用して ASCSを起動するという手順を踏んでいます。
クラスタの別のノードでもERSを同じ様にインストールするのですが、その時は ASCSの再起動はもうありません。
これで終わりかと言うと、そうではない。
このバージョンのSWPMでは、かなり余分な事をしてくれるので、リカバリしないとなりません。
コメント 0