ページの先頭行へ戻る
Symfoware Server V10.0.0 セットアップガイド

3.14.2 ユーザ属性の設定

RDBディクショナリ作成時にRDBディクショナリ内にユーザパラメタの省略値が設定されます。

環境構築時に、管理者が各自の運用形態に合わせてそのユーザパラメタの値をチューニングします。

ユーザパラメタのチューニングは、SET SYSTEM PARAMETER文、CREATE USER文またはALTER USER文で行います。

3.14.2.1 ユーザパラメタ一覧

利用者制御のチューニングパラメタをユーザパラメタと呼びます。

ユーザパラメタ一覧を以下の表に示します。

表3.1 ユーザパラメタ一覧(Symfoware Server Enterprise Extended Editionの場合)

ユーザパラメタ名

意味

指定できる
SQ
L文

ユーザパラメタ値

省略値

SP

CU

AU

利用者登録の使用宣言を行わない

利用者登録の使用宣言を行う

PASSWORD_CHANGE_TIME

何日前からパスワードの変更を勧めるかの日数

最小:0
最大:128
単位:日数

0

PASSWORD_LIMIT_TIME

パスワードの期限

最小:-1
最大:128
単位:日数
0:無制限

無制限

INVALID_PASSWORD _WAIT_TIME

パスワード誤り時の待ち時間

最小:0
最大:5
単位:秒

4

INVALID_PASSWORD_TIME

パスワード連続失敗の可能回数

最小:0
最大:10
単位:回

5

MIN_PASSWORD_SIZE

パスワードに最低限必要なバイト数

最小:6
最大:8
単位:バイト

6

DEFAULT_ROLE

デフォルトロールの指定

×

×

ロール名

なし

MAX_CONNECTION

1人の利用者がSymfoware/RDBシステムに対して、同時に接続可能なコネクション数

最小:0
最大:32767
0:無制限

無制限

1

MAX_MEMORY_USE

1つのコネクションで使用可能なメモリ量

最小:0
最大:32767
単位:メガバイト
0:無制限

無制限

16

MAX_WORKFILE_USE

1つのコネクションで使用可能な作業用ファイルの量

最小:0
最大:32767
単位:メガバイト
0:無制限

無制限

MAX_WORKFILE_NUM

1つのコネクションで使用可能な作業用ファイルの数

最小:-1
最大:32767
単位:個
0:無制限

無制限

16

MAX_TRAN_TIME

1つのトランザクションで使用可能な時間

最小:0
最大:32767
単位:秒
0:無制限

無制限

300

MAX_TRAN_MEM

1つのトランザクションで使用可能なトランザクション用メモリ量

最小:0
最大:32767
単位:キロバイト
0:無制限

無制限

1024

MAX_WAIT_TIME

アプリケーションの無応答待ち時間

最小:0
最大:32767
単位:分
0:無制限

無制限

RESOURCE_LIMIT_CHECK

SET SESSION AUTHORIZATION文実行時に、使用可能な資源量を変更するか否か

×

×

USER:資源量を変更する
CONNECTION:資源量を変更しない

USER

SP :SET SYSTEM PARAMETER文

CU :CREATE USER文

AU :ALTER USER文

○ :指定できます。

× :指定できません。

- :無効です。


表3.2 ユーザパラメタ一覧(Symfoware Server Enterprise EditionまたはSymfoware Server Standard Editionの場合)

ユーザパラメタ名

意味

指定できる
SQ
L文

ユーザパラメタ値

省略値

SP

CU

AU

利用者登録の使用宣言を行わない

利用者登録の使用宣言を行う

PASSWORD_CHANGE_TIME

何日前からパスワードの変更を勧めるかの日数

最小:0
最大:128
単位:日数

0

PASSWORD_LIMIT_TIME

パスワードの期限

最小:-1
最大:128
単位:日数
0:無制限

無制限

INVALID_PASSWORD _WAIT_TIME

パスワード誤り時の待ち時間

最小:0
最大:5
単位:秒

4

INVALID_PASSWORD_TIME

パスワード連続失敗の可能回数

最小:0
最大:10
単位:回

5

MIN_PASSWORD_SIZE

パスワードに最低限必要なバイト数

最小:6
最大:8
単位:バイト

6

DEFAULT_ROLE

デフォルトロールの指定

×

×

ロール名

なし

SP :SET SYSTEM PARAMETER文

CU :CREATE USER文

AU :ALTER USER文

○ :指定できます。

× :指定できません。

- :無効です。

3.14.2.2 ユーザパラメタのチューニング指針

利用者の資源量や認証識別情報をチューニングします。

ユーザパラメタのチューニングには、以下があります。

ユーザパラメタのチューニングは、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リファレンス”を参照してください。

パスワードの連続失敗回数は、システムのセキュリティ強度に合わせて、適切な回数を設定する必要があります。この回数を設定することにより、不正な利用者から攻撃を受けた場合にも、システムを防御することができます。

これをチューニングするには、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を使用します。

3.14.2.3 ユーザパラメタのチューニング

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コマンドの詳細については、“コマンドリファレンス”を参照してください。