3.2.2 データベースの環境を設定する

SEWB+/REPOSITORYでは,Object Serverが管理するデータベース上にリポジトリを構築します。データベースを初期化するための準備として,SEWB+/REPOSITORYの使用環境を設定した「初期設定パラメタファイル」および「システム共通定義ファイル」を作成しておきます。

SEWB+/REPOSITORYでは,標準的な運用環境を想定して作成されたサンプルファイルを提供しています。サンプルファイルを実際の環境に合わせてカスタマイズすることで,容易にデータベースの環境を設定できます。

Groupmaxとデータベースを共用する場合の設定については,「付録C Groupmaxとデータベースを共用する」を参照してください。

<この項の構成>
(1) 初期設定パラメタファイルの作成
(2) システム共通定義ファイルの作成

(1) 初期設定パラメタファイルの作成

データベースファイルの初期化に必要な情報を記述する初期設定パラメタファイルの作成方法を説明します。

(a) 初期設定パラメタファイルの作成手順
  1. 初期設定パラメタファイルのサンプルファイルをコピーする
    サンプルファイルの格納場所とコピー先については,「3.2.2(1)(b) サンプルファイルの利用」を参照してください。
  2. コピーしたサンプルファイルの内容を,環境に合わせてカスタマイズする
    カスタマイズ方法については,「3.2.2(1)(c) サンプルファイルのカスタマイズ」を参照してください。
(b) サンプルファイルの利用

初期設定パラメタファイルのサンプルファイル(xodinit)は,任意のフォルダにコピーしてから,利用してください。

SEWB+/REPOSITORYでは,次の場所にサンプルファイルを格納しています。

SEWB+ 基本開発環境の組み込み先のパス名¥Repository¥sample¥xodinit

SEWB+ 基本開発環境の組み込み先パス名は,デフォルトでは次のように設定されています。システムドライブとは,Windows 2000 Server,Windows Server 2003またはWindows Server 2003 x64が組み込まれているドライブです。

(c) サンプルファイルのカスタマイズ

コピーしたサンプルファイルのカスタマイズ方法について説明します。

(i) 各エリア中のファイルの格納先の変更
まず,使用する環境に,データベースを格納する領域(ディレクトリ)を確保します。次に,サンプルファイルの各エリア中のファイルのパス名「C:¥sample¥DB」を,データベースを格納するディレクトリのパス名に書き換えてください。
注※
ディレクトリのファイルシステムには,NTFSを使用してください。FAT上のディレクトリは,使用できません。
(ii) エリアに対する初期割り当て量の変更
サンプルファイルでは,次に示す環境を想定して,エリアに対する初期割り当て量が指定されています。運用時に扱うドキュメント,データ項目,業務ルールが,想定されている数を超えると見込まれる場合などは,必要に応じて,初期割り当て量を変更してください。ただし,実際の運用で想定数を超えたデータが登録されても,データベース内で自動的に増分が確保されます。
  • ドキュメント種別数:100
  • ドキュメント数:10,000
  • ルートドキュメントフォルダ数:10
  • ドキュメントフォルダ数:200
  • システムバージョン数:200
  • システムバージョンに設定しているドキュメントの総数:10,000
  • 履歴保有数:1
  • 同時最大チェックアウトドキュメント数:1,000(リポジトリ全体)
  • 辞書フォルダ数:100
  • データ項目数:10,000
  • 業務ルール数:10,000
初期割り当て量の変更方法
ドキュメント数,データ項目数,業務ルール数の環境を変更したい場合は,エリア定義のfileパラメタの-iオペランドで,指定値を変更してください。
-iオペランドに指定する値の算出式を次に示します。
なお,エリア定義のfileパラメタを必要な個数だけ指定しても,初期割り当て量を変更することができます。
注※
ドキュメント数には,ルートフォルダ数,ドキュメントフォルダ数,システムバージョン数を含めてください。

変更する環境エリア名-iオペランドに指定する値※1
ドキュメント数SEWB_class_area_1ドキュメント数×0.0104
SEWB_string_area_1ドキュメント数×0.1333
SEWB_index_1_area_1
SEWB_index_2_area_1
ドキュメント数×0.1077
履歴保有数およびシステムバージョンに設定しているドキュメント数SEWB_version_areaドキュメント数×(履歴保有数2+1)×0.00003+システムバージョンに設定しているドキュメントの総数3×0.00003
SEWB_version_indexドキュメント数×(履歴保有数2+1)×0.0004+システムバージョンに設定しているドキュメントの総数3×0.0004
同時最大チェックアウトドキュメント数SEWB_users_area4同時最大チェックアウトドキュメント数×0.036
SEWB_users_index同時最大チェックアウトドキュメント数×0.0004
データ項目数SEWB_item_areaデータ項目数×0.01
SEWB_item_string
SEWB_item_index
業務ルール数SEWB_rule_area業務ルール数×0.01
SEWB_rule_string
SEWB_rule_index
注※1
小数点以下は切り上げて整数値を指定してください。
注※2
ドキュメントの平均の履歴保有数で計算してください。
注※3
複数のシステムバージョンから同一ドキュメントに設定されている場合は,個々にカウントしてください。
注※4
SEWB_users_areaエリアの指定は,areaパラメタの -s オペランドで変更してください。

初期設定パラメタファイルのパラメタの詳細は,マニュアル「Groupmax Object Server Version 6 システム管理者ガイド」を参照してください。

(d) サンプルファイルの内容

初期設定パラメタファイルのサンプルファイルでは,用途ごとに分類したエリア,そのエリアを構成するファイル,ファイルサイズの初期割り当て量などが定義されています。

[図データ]

  1. マスタディレクトリ用のエリア(名称master)と,そのエリア中のファイル(名称 C:¥sample¥DB¥master_dir)を定義しています。
  2. データディレクトリ用のエリア(名称datadir)と,そのエリア中のファイル(名称 C:¥sample¥DB¥data_dir)を定義しています。
  3. ディクショナリ用のエリア(名称dictionary)と,そのエリア中のファイル(名称 C:¥sample¥DB¥dictionary)を定義しています。
  4. OIDインデクス用のエリア(名称oidindex)と,そのエリア中のファイル(名称 C:¥sample¥DB¥oidindex)を定義しています。
  5. ドキュメントを格納するユーザデータベース用のエリアと,そのエリア中のファイルを定義しています。エリア名とファイル名の対応は次のとおりです。
    • SEWB_system_area_1:C:¥sample¥DB¥user_db_1
    • SEWB_class_area_1:C:¥sample¥DB¥user_db_2
    • SEWB_string_area_1:C:¥sample¥DB¥user_db_3
    • SEWB_version_area:C:¥sample¥DB¥version_db
    • SEWB_users_area:C:¥sample¥DB¥users_db
  6. 辞書を格納するユーザデータベース用のエリアと,そのエリア中のファイルを定義しています。エリア名とファイル名の対応は次のとおりです。
    • SEWB_dict_area:C:¥sample¥DB¥dict_area
    • SEWB_item_area:C:¥sample¥DB¥item_area
    • SEWB_rule_area:C:¥sample¥DB¥rule_area
    • SEWB_dict_string:C:¥sample¥DB¥dict_string
    • SEWB_item_string:C:¥sample¥DB¥item_string
    • SEWB_rule_string:C:¥sample¥DB¥rule_string
  7. ドキュメントで使用するインデクス用のエリアと,そのエリア中のファイルを定義しています。エリア名とファイル名の対応は次のとおりです。
    • SEWB_index_1_area_1:C:¥sample¥DB¥index_1
    • SEWB_index_2_area_1:C:¥sample¥DB¥index_2
    • SEWB_version_index:C:¥sample¥DB¥version_index
    • SEWB_users_index:C:¥sample¥DB¥users_index
  8. 辞書で使用するインデクス用のエリアと,そのエリア中のファイルを定義しています。エリア名とファイル名の対応は次のとおりです。
    • SEWB_dict_index:C:¥sample¥DB¥dict_index
    • SEWB_item_index:C:¥sample¥DB¥item_index
    • SEWB_rule_index:C:¥sample¥DB¥rule_index
(e) 初期設定パラメタファイルの定義項目

初期設定パラメタファイルに定義するパラメタのうち,SEWB+/REPOSITORYの固有値について説明します。

(i) エリアの定義数
SEWB+/REPOSITORYのエリアの定義数を,表3-3に示します。このほかのエリアの定義数については,使用するデータベースの規則に従ってください。

表3-3 エリアの定義数

エリアの用途定義数
ユーザデータベース(ドキュメント)5以上
ユーザデータベース(辞書)6
インデクス(ドキュメント)4以上
インデクス(辞書)3
ユーザデータベースとインデクスのエリアの定義数は,合わせて82以下になるように指定してください。

(ii) エリアの名称規則
SEWB+/REPOSITORYのエリアの名称規則を,表3-4に示します。このほかのエリアの名称については,使用するデータベースの規則に従ってください。

表3-4 エリアの名称規則

エリアの用途規則指定数
ユーザデータベース(ドキュメント)SEWB_system(半角)で始まる1~30バイトの文字列で指定する1
SEWB_class(半角)で始まる1~30バイトの文字列で指定する1以上
SEWB_string(半角)で始まる1~30バイトの文字列で指定する
「SEWB_version_area」と指定する1
「SEWB_users_area」と指定する
ユーザデータベース(辞書)「SEWB_dict_area」と指定する1
「SEWB_item_area」と指定する
「SEWB_rule_area」と指定する
「SEWB_dict_string」と指定する
「SEWB_item_string」と指定する
「SEWB_rule_string」と指定する
インデクス(ドキュメント)SEWB_index_1(半角)で始まる1~30バイトの文字列で指定する1以上
SEWB_index_2(半角)で始まる1~30バイトの文字列で指定する
「SEWB_version_index」と指定する1
「SEWB_users_index」と指定する
インデクス(辞書)「SEWB_dict_index」と指定する
「SEWB_item_index」と指定する
「SEWB_rule_index」と指定する

(2) システム共通定義ファイルの作成

データベースのシステムに共通する環境情報を記述するシステム共通定義ファイルの作成方法を説明します。

(a) システム共通定義ファイルの作成手順
  1. システム共通定義ファイルのサンプルファイルをコピーする
    サンプルファイルの格納場所とコピー先については,「3.2.2(2)(b) サンプルファイルの利用」を参照してください。
  2. コピーしたサンプルファイルの内容を,環境に合わせてカスタマイズする
    カスタマイズ方法については,「3.2.2(2)(c) サンプルファイルのカスタマイズ」を参照してください。
(b) サンプルファイルの利用

システム共通定義ファイルのサンプルファイル(xodrc)は,Object Serverの組み込み先¥confの下にコピーしてから,利用してください。

SEWB+/REPOSITORYでは,次の場所にサンプルファイルを格納しています。

SEWB+ 基本開発環境の組み込み先のパス名¥Repository¥sample¥xodrc

SEWB+ 基本開発環境の組み込み先のパス名は,デフォルトでは次のように設定されています。システムドライブとは,Windows 2000 Server,Windows Server 2003またはWindows Server 2003 x64が組み込まれているドライブです。

(c) サンプルファイルのカスタマイズ

コピーしたサンプルファイルのカスタマイズ方法について説明します。

(i) マスタディレクトリのファイル名の変更
システム共通定義ファイルのサンプルファイルでは,初期設定パラメタファイルでマスタディレクトリとして指定したファイル名を定義しています。
[図データ]
サンプルファイル中のdbm_masterパラメタに指定された「C:¥sample¥DB」を,データベースを格納するディレクトリのパス名に書き換えてください。
(ii) データベースの排他の最大数の変更
データ項目の数が5,000を超えるような大規模プロジェクトでは,あらかじめ,同時に要求できるデータベースの排他の最大数を変更しておく必要があります。
排他の最大数を変更するには,システム共通定義ファイルに,次に示す定義を追加します。
[図データ]
各パラメタの指定方法を説明します。
lck_limit(最大同時排他要求数)
同時に要求できるデータベースの排他の最大数を,256~32,767の値で指定します。値を省略すると,6,000が仮定されます。
最大同時排他要求数には多めの値を指定することをお勧めしますが,lck_limitパラメタの値を1増やすごとに,運用時に使用されるサーバの常駐メモリが144バイト増加します。このことを考慮して,(リポジトリブラウザでブラウズするオブジェクト数)×(同時に操作するユーザ数)を目安に,32,767以内の値を指定してください。
注※
フォルダを開くなどの操作中に検索されるオブジェクト数を指します。リポジトリブラウザに表示されているオブジェクト数ではありません。
static_shmpool_size(静的共用メモリ総量)
最大同時排他要求数を変更する場合,static_shmpool_sizeパラメタで,静的共用メモリ(データベースが,開始から終了までの間に占有する共用メモリ)の総量の値も変更する必要があります。KB(キロバイト)単位で指定します。
SEWB+/REPOSITORYで提供しているサンプルファイルに対し,データベースの排他の値だけを変更する場合には,次の計算式を使って静的共用メモリ総量を算出します。

 static_shmpool_size(KB)
  = ↑ { 5,083,180 + lck_limit値 × 144 } ÷ 1,024 ↑

指定する値の目安を,次に示します。
  • lck_limitの値 10,000:static_shmpool_sizeの値 8,000
  • lck_limitの値 20,000:static_shmpool_sizeの値 9,000
  • lck_limitの値 30,000:static_shmpool_sizeの値 10,000
システム共通定義ファイルのパラメタの詳細は,マニュアル「Groupmax Object Server Version 6 システム管理者ガイド」を参照してください。