利用者制御のチューニングパラメタをユーザパラメタと呼びます。
ユーザパラメタ一覧を以下の表に示します。
ユーザパラメタ名 | 意味 | 指定できる | ユーザパラメタ値 | 省略値 | |||
---|---|---|---|---|---|---|---|
SP | CU | AU | 利用者登録の使用宣言を行わない | 利用者登録の使用宣言を行う | |||
PASSWORD_CHANGE_TIME | 何日前からパスワードの変更を勧めるかの日数 | ○ | ○ | ○ | 最小:0 | - | 0 |
PASSWORD_LIMIT_TIME | パスワードの期限 | ○ | ○ | ○ | 最小:-1 | - | 無制限 |
INVALID_PASSWORD _WAIT_TIME | パスワード誤り時の待ち時間 | ○ | ○ | ○ | 最小:0 | - | 4 |
INVALID_PASSWORD_TIME | パスワード連続失敗の可能回数 | ○ | ○ | ○ | 最小:0 | - | 5 |
MIN_PASSWORD_SIZE | パスワードに最低限必要なバイト数 | ○ | ○ | ○ | 最小:6 | - | 6 |
DEFAULT_ROLE | デフォルトロールの指定 | × | × | ○ | ロール名 | - | なし |
MAX_CONNECTION | 1人の利用者がSymfoware/RDBシステムに対して、同時に接続可能なコネクション数 | ○ | ○ | ○ | 最小:0 | 無制限 | 1 |
MAX_MEMORY_USE | 1つのコネクションで使用可能なメモリ量 | ○ | ○ | ○ | 最小:0 | 無制限 | 16 |
MAX_WORKFILE_USE | 1つのコネクションで使用可能な作業用ファイルの量 | ○ | ○ | ○ | 最小:0 | 無制限 | |
MAX_WORKFILE_NUM | 1つのコネクションで使用可能な作業用ファイルの数 | ○ | ○ | ○ | 最小:-1 | 無制限 | 16 |
MAX_TRAN_TIME | 1つのトランザクションで使用可能な時間 | ○ | ○ | ○ | 最小:0 | 無制限 | 300 |
MAX_TRAN_MEM | 1つのトランザクションで使用可能なトランザクション用メモリ量 | ○ | ○ | ○ | 最小:0 | 無制限 | 1024 |
MAX_WAIT_TIME | アプリケーションの無応答待ち時間 | ○ | ○ | ○ | 最小:0 | 無制限 | |
RESOURCE_LIMIT_CHECK | SET SESSION AUTHORIZATION文実行時に、使用可能な資源量を変更するか否か | ○ | × | × | USER:資源量を変更する | - | USER |
SP :SET SYSTEM PARAMETER文
CU :CREATE USER文
AU :ALTER USER文
○ :指定できます。
× :指定できません。
- :無効です。
ユーザパラメタ名 | 意味 | 指定できる | ユーザパラメタ値 | 省略値 | |||
---|---|---|---|---|---|---|---|
SP | CU | AU | 利用者登録の使用宣言を行わない | 利用者登録の使用宣言を行う | |||
PASSWORD_CHANGE_TIME | 何日前からパスワードの変更を勧めるかの日数 | ○ | ○ | ○ | 最小:0 | - | 0 |
PASSWORD_LIMIT_TIME | パスワードの期限 | ○ | ○ | ○ | 最小:-1 | - | 無制限 |
INVALID_PASSWORD _WAIT_TIME | パスワード誤り時の待ち時間 | ○ | ○ | ○ | 最小:0 | - | 4 |
INVALID_PASSWORD_TIME | パスワード連続失敗の可能回数 | ○ | ○ | ○ | 最小:0 | - | 5 |
MIN_PASSWORD_SIZE | パスワードに最低限必要なバイト数 | ○ | ○ | ○ | 最小:6 | - | 6 |
DEFAULT_ROLE | デフォルトロールの指定 | × | × | ○ | ロール名 | - | なし |
SP :SET SYSTEM PARAMETER文
CU :CREATE USER文
AU :ALTER USER文
○ :指定できます。
× :指定できません。
- :無効です。
利用者の資源量や認証識別情報をチューニングします。
ユーザパラメタのチューニングには、以下があります。
ユーザパラメタのチューニングは、SET SYSTEM PARAMETER文で行います。1人の利用者に対して個別にチューニングする場合は、CREATE USER文またはALTER USER文で行います。
利用者の認証識別のチューニング指針を以下に示します。
パスワードは、システムのセキュリティ強度に合わせて、適切なパスワード期限を設定する必要があります。
パスワードに使用できる文字種
パスワードに最低限必要なバイト数
パスワードの誤り時の待ち時間
参照
パスワードに使用できる文字種の詳細については、“SQLリファレンス”の“CREATE USER文(利用者定義文)”を参照してください。
パスワードに最低限必要なバイト数をチューニングするには、MIN_PASSWORD_SIZEを使用します。
パスワードの誤り時の待ち時間をチューニングするには、INVALID_PASSWORD_WAIT_TIMEを使用します。
これらを組み合わせてパスワードが見破られる確率を導き出した上で、パスワードの期限を決めます。パスワードの期限をチューニングするには、PASSWORD_LIMIT_TIMEを使用します。
パスワードを連続して誤った際にパスワードロックされるまでの猶予の回数を設定します。
データベース専用利用者が、この回数を超えてパスワードを誤った場合、そのパスワードは自動的にシステムがロックします。
パスワードのロックは、システムまたは管理者が不当な利用者を発見した場合に、その利用者を制限する目的で行います。
パスワードのロックの対象となる利用者は、データベース専用利用者のみで、以下の場合に行います。
利用者がパスワードの連続失敗回数を超えたため、システムが自動的にパスワードをロックする場合
管理者がALTER USER文を実行して、利用者のパスワードをロックする場合
パスワードがロックされた利用者は、サーバシステムへの接続ができなくなります。
いずれの場合も、管理者がALTER USER文を実行して、利用者のパスワードを再設定することで、パスワードのロックは解除され、利用者名を再利用することができます。
参照
ALTER USER文については、“SQLリファレンス”を参照してください。
パスワードの連続失敗回数は、システムのセキュリティ強度に合わせて、適切な回数を設定する必要があります。この回数を設定することにより、不正な利用者から攻撃を受けた場合にも、システムを防御することができます。
利用者が使用できる資源量をチューニングします。
Symfoware Serverが獲得する資源には、以下があります。
利用者が上記の資源を使いつくさないように、ユーザパラメタを使って資源へのアクセスを細かくチューニングする必要があります。
利用者の資源量のチューニングは、CONNECT文で指定した利用者に対して有効となります。
SET SESSION AUTHORIZATION文実行時に、CONNECT文発行時の利用者の資源量を引き継ぐか、SET SESSION AUTHORIZATION文で指定した利用者の資源量に変更するかをチューニングすることもできます。
これをチューニングするには、RESOURCE_LIMIT_CHECKを使用します。
各資源ごとのチューニング指針を以下に示します。
Symfoware Serverが動作するのに必要なメモリを、1人の利用者が大量に使用すると、Symfoware Serverが動作するのに必要なメモリを確保できなくなる可能性があります。1人の利用者が不当にメモリを使い尽くさないように、1つのコネクションで使用可能なメモリ量および1人の利用者が同時に接続可能なコネクション数を制限します。
Symfoware Serverが動作するのに必要なファイルを、1人の利用者が大量に使用すると、Symfoware Serverが動作するのに必要なファイルを確保できなくなる可能性があります。1人の利用者が不当に資源を使い尽くさないように、1つのコネクションで使用可能な作業用ファイルの量および1つのコネクションで使用可能な作業用ファイルの数を制限します。
アプリケーションの動作によっては、他のトランザクション実行を妨げる可能性があります。そのような事象の原因になるものには以下があります。
更新処理を実施したトランザクションが、コミットもしくはロールバックを実行せず存在し続けると、そのトランザクションが発生させたログはテンポラリログファイル上に保持し続けなければなりません。その状態で、別の更新トランザクション群がテンポラリログファイルにログを書き出していくと、最後には前者のトランザクションが存在しているためにログを書き出せなくなってしまいます。この状態を長トランザクションによるテンポラリログ域枯渇と呼びます。
このような状況を回避するために、1つのトランザクションで使用可能な時間を制限します。
トランザクションが資源をアクセスするために獲得したロックはそのトランザクションが終了するまで保持されるので、そのロックのモードによってはロックを獲得しているトランザクションが終了するまでは他トランザクションがその資源をアクセスできません。したがって、トランザクションが実行状態のまま長時間存続し続けると、他トランザクションの実行を不当に妨げることになります。
このような状況を回避するために、1つのトランザクションで使用可能な時間を制限します。
同一トランザクション内で大量の資源をアクセスすると、それぞれの資源に対してロックを獲得します。その結果、他トランザクションがロック待ちとなる可能性が高くなります。また、ロック情報が多く必要になるので、プロセス内ローカルメモリを多く消費することになります。ロックを獲得しているトランザクションが正常な処理をしている場合は、見積り範囲内でのロック待ち、メモリ消費しか発生しませんが、不当に大量の資源をアクセスしたり、長時間トランザクションを終了しなかったりすると、予想外のロック待ち、メモリ消費が発生することになります。
このような状況を回避するために、1つのトランザクションで使用可能な時間および1つのトランザクションでのトランザクション用メモリ量を制限します。
これをチューニングするには、MAX_TRAN_TIMEおよびMAX_TRAN_MEMを使用します。
トランザクションが更新処理を実施すると、そのログがアーカイブログファイルに保存されます。アーカイブログはデータベースの更新操作を保証するものであり、データベース全体をバックアップするまでは保存が必要なものです。したがって、運用計画に沿ってデータベースのバックアップがなされるまでの間に発生するすべてのアーカイブログを記録できるようにアーカイブログファイルを作成しておかなければなりません。
もし、アーカイブログ域に空き領域がなくなり、切替え先のアーカイブログファイルがなくなると、アーカイブログ域枯渇が発生します。アーカイブログ域枯渇が発生すると、更新処理実行中トランザクションはアーカイブログ域枯渇状態が解消されるまで無応答状態になるか、エラーになります。
このような状況を回避するために、1つのトランザクションで使用可能な時間および1つのトランザクションで使用可能なトランザクション用メモリ量を制限します。
これをチューニングするには、MAX_TRAN_TIMEおよびMAX_TRAN_MEMを使用します。
Symfoware/RDBシステムごとにユーザパラメタの省略値をチューニングできます。
ユーザパラメタのチューニングは、rdbddlexコマンドのSET SYSTEM PARAMETER文で行います。
すべての利用者が使用可能なメモリサイズを32メガバイトに、使用可能な作業用ファイルサイズを100メガバイトに、パスワードの期限を30日に、パスワードの連続失敗回数を4回に、変更催促期間を3日にチューニングする例を以下に示します。
$ rdbddlex /home/rdb/DDL/syspara2.dat
/home/rdb/DDL/syspara2.datの内容を以下に示します。
SET SYSTEM PARAMETER MAX_MEMORY_USE=32, MAX_WORKFILE_USE=100, PASSWORD_LIMIT_TIME=30, INVALID_PASSWORD_TIME=4, PASSWORD_CHANGE_TIME=3 ;
参照
SET SYSTEM PARAMETER文の詳細については、“SQLリファレンス”を参照してください。
ユーザパラメタには、利用者ごとにチューニングできるパラメタもあります。利用者ごとのチューニングを行う場合は、CREATE USER文で指定します。
チューニングしたユーザパラメタは、rdbprtコマンドで参照することができます。
参照
rdbprtコマンドの詳細については、“コマンドリファレンス”を参照してください。