ノードスーパーバイザープロセス (NSUP) は、「I’m alive」メッセージを互いに交換することにより、HADB の可用性を保証します。NSUP 実行可能ファイルは、できるだけ迅速に応答できるように、root 権限を持っている必要があります。clu_nsup_srv プロセスは CPU リソースを大量に消費せず、フットプリントも小さいため、リアルタイムプライオリティーで実行してもパフォーマンスには影響しません。
Java Enterprise System インストーラを使用した場合は、NSUP の権限が自動的に正しく設定されるため、それ以上の操作は必要ありません。ただし、スタンドアロン Application Server の (ルートでない) インストーラを使用する場合は、データベースを作成する前に、この権限を手動で設定する必要があります。
NSUP の権限が正しく設定されていない場合は、次のようなリソース枯渇の症状がみられることもあります。
誤ったネットワークパーティションや、ノードの再起動。その前に、HADB 履歴ファイルに「Process blocked for n seconds」という警告が記録されます。
トランザクションの中止や、その他の例外。
NSUP がリアルタイムプライオリティーを設定できない場合、Solaris および Linux では EPERM に errno が設定されます。Windows の場合は、「Could not set real-time priority」という警告が発行されます。ma.log ファイルにエラーが書き込まれ、プロセスはリアルタイムプライオリティーがない状態で継続されます。
次の場合は、リアルタイムプライオリティーを設定できません。
HADB が Solaris 10 の非大域ゾーンにインストールされている場合
Solaris 10 で、PRIV_PROC_LOCK_MEMORY (プロセスが物理メモリー内のページをロックできる) 特権または PRIV_PROC_PRIOCNTL 特権、あるいはその両方が無効になっている場合
ユーザーが setuid アクセス権を無効にした場合
ユーザーがソフトウェアを tar ファイルとしてインストールした場合 (Application Server での、ルートでないインストールオプション)
ルートとしてログインします。
作業用ディレクトリを HADB_install_dir/lib/server に変更します。
NSUP 実行可能ファイルは clu_nsup_srv です。
次のコマンドを使用して、ファイルの suid ビットを設定します。
chmod u+s clu_nsup_srv
次のコマンドを使用して、ファイルの所有者をルートに設定します。
chown root clu_nsup_srv
これにより、clu_nsup_srv プロセスがルートとして起動され、プロセス自身にリアルタイムプライオリティーを許可できるようになります。
セキュリティーへの影響を回避するために、リアルタイムプライオリティーはプロセスが起動されるとすぐに設定され、プライオリティーが変更されたらプロセスは実効 UID に戻ります。ほかの HADB プロセスは、標準のプライオリティーで実行されます。