第3章 コマンドによるセットアップ
3.14 利用者の制御
3.14.2 ユーザ属性の設定
3.14.2.2 ユーザパラメタのチューニング指針
- :無効です。
いずれの場合も、管理者がALTER USER文を実行して、利用者のパスワードを再設定することで、パスワードのロッ クは解除され、利用者名を再利用することができます。
参照
ALTER USER文については、“SQLリファレンス”を参照してください。
パスワードの連続失敗回数は、システムのセキュリティ強度に合わせて、適切な回数を設定する必要があります。この 回数を設定することにより、不正な利用者から攻撃を受けた場合にも、システムを防御することができます。
これをチューニングするには、INVALID_PASSWORD_TIMEを使用します。
変更催促期間の設定
パスワードを変更してからある程度の時間が過ぎると、パスワードの変更催促期間に入り、利用者にパスワードの変 更を促します。変更催促期間とは、パスワードの期限の数日前から期限当日までの間で、パスワード変更の催促する 警告メッセージを表示する期間のことです。
パスワードの有効期限までにパスワードが変更されない場合は、利用者のパスワードは無効になります。
無効になったパスワードは、管理者がALTER USER文を実行して、利用者のパスワードを再設定することで、利用者 名を再利用することができます。
参照
ALTER USER文については、“SQLリファレンス”を参照してください。
変更催促期間をチューニングするには、PASSWORD_CHANGE_TIMEを使用します。
デフォルトロールの設定
デフォルトロールとは、アプリケーション中でSET ROLE文を実行せずに有効となるロールを、環境構築時にあらかじ め設定しておくことです。
デフォルトロールは、インストール時にユーザパラメタの省略値が設定されません。環境構築時に、権限情報の定義 でロールを作成した場合に有効となります。
参照
デフォルトロールの設定については、“RDB運用ガイド(データベース定義編)”の“権限情報定義”を参照してくださ い。
利用者の資源量のチューニング
利用者が使用できる資源量をチューニングします。
Symfoware Serverが獲得する資源には、以下があります。
・ メモリ
・ ファイル
・ トランザクション資源
・ 処理時間
利用者が上記の資源を使いつくさないように、ユーザパラメタを使って資源へのアクセスを細かくチューニングする必要 があります。
利用者の資源量のチューニングは、CONNECT文で指定した利用者に対して有効となります。
SET SESSION AUTHORIZATION文実行時に、CONNECT文発行時の利用者の資源量を引き継ぐか、SET SESSION
AUTHORIZATION文で指定した利用者の資源量に変更するかをチューニングすることもできます。
これをチューニングするには、RESOURCE_LIMIT_CHECKを使用します。
各資源ごとのチューニング指針を以下に示します。
メモリ
Symfoware Serverが動作するのに必要なメモリを、1人の利用者が大量に使用すると、Symfoware Serverが動作する
のに必要なメモリを確保できなくなる可能性があります。1人の利用者が不当にメモリを使い尽くさないように、1つのコ ネクションで使用可能なメモリ量および1人の利用者が同時に接続可能なコネクション数を制限します。
これをチューニングするには、MAX_MEMORY_USEおよびMAX_CONNECTIONを使用します。
ファイル
Symfoware Serverが動作するのに必要なファイルを、1人の利用者が大量に使用すると、Symfoware Serverが動作す るのに必要なファイルを確保できなくなる可能性があります。1人の利用者が不当に資源を使い尽くさないように、1つ のコネクションで使用可能な作業用ファイルの量および1つのコネクションで使用可能な作業用ファイルの数を制限し ます。
これをチューニングするには、MAX_WORKFILE_USEおよびMAX_WORKFILE_NUMを使用します。
トランザクション資源
アプリケーションの動作によっては、他のトランザクション実行を妨げる可能性があります。そのような事象の原因にな るものには以下があります。
長トランザクションによるテンポラリログ域枯渇
更新処理を実施したトランザクションが、コミットもしくはロールバックを実行せず存在し続けると、そのトランザクショ ンが発生させたログはテンポラリログファイル上に保持し続けなければなりません。その状態で、別の更新トランザ クション群がテンポラリログファイルにログを書き出していくと、最後には前者のトランザクションが存在しているた めにログを書き出せなくなってしまいます。この状態を長トランザクションによるテンポラリログ域枯渇と呼びます。
このような状況を回避するために、1つのトランザクションで使用可能な時間を制限します。
これをチューニングするには、MAX_TRAN_TIMEを使用します。
トランザクション実行中のためのロック待ち
トランザクションが資源をアクセスするために獲得したロックはそのトランザクションが終了するまで保持されるの で、そのロックのモードによってはロックを獲得しているトランザクションが終了するまでは他トランザクションがその 資源をアクセスできません。したがって、トランザクションが実行状態のまま長時間存続し続けると、他トランザクショ ンの実行を不当に妨げることになります。
このような状況を回避するために、1つのトランザクションで使用可能な時間を制限します。
これをチューニングするには、MAX_TRAN_TIMEを使用します。
大量アクセスによるロック待ち
同一トランザクション内で大量の資源をアクセスすると、それぞれの資源に対してロックを獲得します。その結果、
他トランザクションがロック待ちとなる可能性が高くなります。また、ロック情報が多く必要になるので、プロセス内 ローカルメモリを多く消費することになります。ロックを獲得しているトランザクションが正常な処理をしている場合 は、見積り範囲内でのロック待ち、メモリ消費しか発生しませんが、不当に大量の資源をアクセスしたり、長時間ト ランザクションを終了しなかったりすると、予想外のロック待ち、メモリ消費が発生することになります。
このような状況を回避するために、1つのトランザクションで使用可能な時間および1つのトランザクションでのトラン ザクション用メモリ量を制限します。
これをチューニングするには、MAX_TRAN_TIMEおよびMAX_TRAN_MEMを使用します。
大量更新によるアーカイブログ域枯渇
トランザクションが更新処理を実施すると、そのログがアーカイブログファイルに保存されます。アーカイブログは データベースの更新操作を保証するものであり、データベース全体をバックアップするまでは保存が必要なもの です。したがって、運用計画に沿ってデータベースのバックアップがなされるまでの間に発生するすべてのアー カイブログを記録できるようにアーカイブログファイルを作成しておかなければなりません。
このような状況を回避するために、1つのトランザクションで使用可能な時間および1つのトランザクションで使用可 能なトランザクション用メモリ量を制限します。
これをチューニングするには、MAX_TRAN_TIMEおよびMAX_TRAN_MEMを使用します。
処理時間
ある特定の利用者がコネクションを占有することによって、他の利用者のアプリケーションの実行を阻害する可能性が あります。
これに対して、次の処理依頼を待つ最大時間を制限できるようにします。これにより、一定時間待っても処理依頼が なければ、強制的に切断します。
これをチューニングするには、MAX_WAIT_TIMEを使用します。