5.5 DB2 データベースの作成

この節で説明しているスクリプトのいずれかを実行して DB2 データベースを作成します。このスクリプトは、1 GB のメモリをデータベースに使用するシステムに合わせたものです。システムのデータベース用に割り当てられているメモリ容量がこれより少ない場合、システム設定の調整について詳しくは、DB2 のドキュメントを参照してください。LiveCycle は、DB2 と WebSphere 7.0 および WebLogic 11g の組み合わせをサポートしています。

アプリケーションサーバーでデータソースを設定する場合は、次の情報が必要です。

  • データベース名

  • DB2 ユーザーアカウントのユーザー名とパスワード

  • データベースサーバーのホスト名または IP アドレス

  • DB2 ポート番号

5.5.1 DB2 ユーザーアカウント

LiveCycle では、専用のシステムデータベースアカウントが必要です。アカウントがスキーマ所有者の場合は、それ以外の権限は必要ありません。スキーマ所有者は、スキーマ内の任意のオブジェクトを変更、作成、破棄できます。アカウントがスキーマ所有者ではない場合は、スキーマの権限 ALTERIN、CREATEIN、DROPIN が必要です。さらに、ユーザーは DB2USERS グループに属している必要があります。

DB2 ユーザーアカウントは、製品のインストール時とシステムの実行時の両方にテーブルを作成するために、スキーマ所有者の権限を持つ必要があります。アプリケーションサーバーによっては、データベースユーザーとスキーマに対して、データベースを内部で使用するための要件が追加される場合があります。

ユーザーアカウントの作成について詳しくは、DB2 のドキュメントを参照してください。

ユーザー名は、AIX、Linux または Solaris 上にデプロイする場合は 8 文字以下に、Windows の場合は 12 文字以下にする必要があります。

5.5.2 DB2 データベースの作成

 (Content Services を含まない場合)DB2 をホストするコンピューターで、使用しているデータベースバージョン用の次の DB2 スクリプトを含む新しいテキストファイルを作成します。

注意: 次のテキストには、改行が含まれています。このドキュメント以外の場所にこのテキストをコピーする場合は、改行を削除してください。
-- Create a database, using a custom USERSPACE1 definition 
-- Configures the database for typical LC use. For large number of connections, add: 
--     num_remote_apps 
-- to the AUTOCONFIGURE section 
-- To use: Globally replace (case sensitive) DB_NAME with the name of the database to be created. 
-- Modify the FILE locations based on system configuration 
-- Note: The size of the file has to be specified in pages (4K pages in this case) when used as part of the create database command 
create database DB_NAME using codeset utf-8 territory default 
USER TABLESPACE MANAGED BY DATABASE USING (FILE'C:\Db2\DB_NAME\DATA_4K_1.db2' 8192) AUTORESIZE YES 
AUTOCONFIGURE using workload_type mixed isolation CS admin_priority performance apply DB and DBM; 
-- Create required buffer pools. Let the DB manage the sizes based on load. 
-- Creates 8K pool for LC 
-- Let DB2 manage the sizes based on usage patterns 
connect to DB_NAME; 
CREATE BUFFERPOOL DB_NAME_BP8K IMMEDIATE SIZE AUTOMATIC PAGESIZE 8192; 
ALTER BUFFERPOOL IBMDEFAULTBP IMMEDIATE SIZE AUTOMATIC; 
connect reset; 
-- Create required tablespaces for tables requiring 8K and 32K pools. 
connect to DB_NAME; 
-- 8K tablespace used by a number of tables. 
-- Note that the majority of data is stored in the 4K tablespace (created as part of the databse create) 
CREATE TEMPORARY TABLESPACE DB_NAME_TEMP_8K IN DATABASE PARTITION GROUP IBMTEMPGROUP PAGESIZE 8192 MANAGED BY SYSTEM 
USING ('C:\Db2\DB_NAME\TEMP_8K') PREFETCHSIZE AUTOMATIC BUFFERPOOL DB_NAME_BP8K; 
-- Start off large enough to allow a reasonable test to run without needing to extend the space 
-- Should be modified to fit expected usage patterns 
CREATE LARGE TABLESPACE DB_NAME_DATA_8K IN DATABASE PARTITION GROUP IBMDEFAULTGROUP PAGESIZE 8192 MANAGED BY 
DATABASE USING (FILE'C:\Db2\DB_NAME\DATA_8K.db2'1G) 
PREFETCHSIZE AUTOMATIC BUFFERPOOL DB_NAME_BP8K AUTORESIZE YES INCREASESIZE 1 G; 
commit work; 
connect reset; 
deactivate database DB_NAME; 
activate database DB_NAME;

 (Content Services を含む場合)Content Services を他の LiveCycle モジュールと共に使用する場合は、使用しているデータベースバージョン用の次の DB2 スクリプトを使用します。

注意: 次のテキストには、改行が含まれています。このドキュメント以外の場所にこのテキストをコピーする場合は、改行を削除してください。
-- Create a database, using a custom USERSPACE1 definition 
-- Configures the database for typical LC use. For large number of connections, add: 
--     num_remote_apps 
-- to the AUTOCONFIGURE section 
-- To use: Globally replace (case sensitive) DB_NAME with the name of the database to be created. 
-- Modify the FILE locations based on system configuration 
-- Note: The size of the file has to be specified in pages (4K pages in this case) when used as part of the create database command 
create database DB_NAME using codeset utf-8 territory default 
USER TABLESPACE MANAGED BY DATABASE USING (FILE'C:\Db2\DB_NAME\DATA_4K_1.db2' 8192) AUTORESIZE YES 
AUTOCONFIGURE using workload_type mixed isolation CS admin_priority performance apply DB and DBM; 
-- Create required buffer pools. Let the DB manage the sizes based on load. 
-- Creates 8K pool for LC and 32K for Content Services use 
-- LEt DB2 manage the sizes based on usage patterns 
connect to DB_NAME; 
CREATE BUFFERPOOL DB_NAME_BP8K IMMEDIATE SIZE AUTOMATIC PAGESIZE 8192; 
CREATE BUFFERPOOL DB_NAME_BP32K IMMEDIATE SIZE AUTOMATIC PAGESIZE 32768; 
ALTER BUFFERPOOL IBMDEFAULTBP IMMEDIATE SIZE AUTOMATIC; 
connect reset; 
-- Create required tablespaces for tables requiring 8K and 32K pools. 
connect to DB_NAME; 
-- 8K tablespace used by a number of tables. 
-- Note that the majority of data is stored in the 4K tablespace (created as part of the databse create) 
CREATE TEMPORARY TABLESPACE DB_NAME_TEMP_8K IN DATABASE PARTITION GROUP IBMTEMPGROUP PAGESIZE 8192 MANAGED BY SYSTEM 
USING ('C:\Db2\DB_NAME\TEMP_8K') PREFETCHSIZE AUTOMATIC BUFFERPOOL DB_NAME_BP8K; 
-- Start off large enough to allow a reasonable test to run without needing to extend the space 
-- Should be modified to fit expected usage patterns 
CREATE LARGE TABLESPACE DB_NAME_DATA_8K IN DATABASE PARTITION GROUP IBMDEFAULTGROUP PAGESIZE 8192 MANAGED BY 
DATABASE USING (FILE'C:\Db2\DB_NAME\DATA_8K.db2'1G) 
PREFETCHSIZE AUTOMATIC BUFFERPOOL DB_NAME_BP8K AUTORESIZE YES INCREASESIZE 1 G; 
-- For Content Services - Size has to change based on anticipated use.  Sample values provided 
CREATE TEMPORARY TABLESPACE DB_NAME_TEMP_32K IN DATABASE PARTITION GROUP IBMTEMPGROUP PAGESIZE 32768 MANAGED BY SYSTEM 
USING ('C:\Db2\DB_NAME\TEMP_32') PREFETCHSIZE AUTOMATIC BUFFERPOOL DB_NAME_BP32K; 
CREATE LARGE TABLESPACE DB_NAME_DATA_32K IN DATABASE PARTITION GROUP IBMDEFAULTGROUP PAGESIZE 32768 MANAGED BY 
DATABASE USING (FILE'C:\Db2\DB_NAME\DATA_32K.db2'1G) PREFETCHSIZE AUTOMATIC BUFFERPOOL DB_NAME_BP32K AUTORESIZE YES INCREASESIZE 1 G; 
commit work; 
connect reset; 
deactivate database DB_NAME; 
activate database DB_NAME; 
  1. スクリプトを次のように変更します。

    • dbname および DBNAME のインスタンスを、使用する LiveCycle データベースの名前に置き換えます。

    • 同じホストに複数のデータベースインスタンスを作成する場合、総物理メモリの 10% 以下のバッファープールサイズを使用して、各データベースインスタンスに対して一意の名前のバッファープールを作成します(BP8K_1 など)。例えば、物理メモリが 1 GB のマシンでは、合計のバッファープールサイズが 100 MB(「SIZE 100000」)以下となるようにします。

    • DB2_root を、DB2 がインストールされているルートディレクトリへのパスに置き換えます。

    • コマンドに改行が含まれていないことと、各コマンドがセミコロン(;)で終了していることを確認します。

    • 次の行の 9000 を、データベースのサイズに基づいて変更します。

    (FILE'DB2_root\DBNAME_DATA'9000)

    この値は、データベースを初期化するのに必要な最小ページ数を指定します。データベースを初期化した後に、DB2 管理ツールを使用してこの値を変更することもできます。

  2. テキストファイルを DB2 コマンドラインプロセッサーがアクセスできる場所に保存します。

  3. DB2 コマンドプロンプトを開き、次のコマンドを入力してスクリプトを実行します。

db2 -tf <path_to_script_file>/<script_file_name>

5.5.3 DB2 の同時使用対応の設定

  1. DB2 Control Center を開きます。

    • (Windows)スタート/すべてのプログラム/IBM DB2/General Administration Tools/Control Center を選択します。

    • (AIX、Linux および Solaris)コマンドプロンプトから、db2jcc コマンドを入力します。

  2. DB2 Control Center のオブジェクトツリーで、「All Databases」をクリックします。

  3. LiveCycle 製品用に作成したデータベースを右クリックし、「Configuration Advisor」をクリックします。

  4. Configuration Advisor ウィザードの手順に従い、次のプロパティを設定します。

    DB2 のプロパティ

    必要な値

    Workload type

    Mixed

    Average number of SQL transactions per unit of work

    10 未満

    Database Administration Priority

    Faster transaction performance

    Populated Database

    データベースインスタンスの現在の状態に従って設定します。Configuration Manager によって初期化されていない場合、インスタンスは設定されません。

    Isolation Level

    Read Committed

  5. Finish」をクリックします。

5.5.4 新規データベースへのユーザーの追加

  1. IBM Control Center にログインします。

  2. [database_name]/User and Group ObjectsDB Users をクリックします。

  3. Add User」を選択してユーザーを選択します。

  4. 「Authorities」で、「Connect to database」、「Create tables」および「Database administration authority」を選択し、「Apply」を選択します。

  5. OK」をクリックします。

5.5.5 コンテンツサービスのための DB2 のその他の要件

5.5.2 DB2 データベースの作成の手順 2 に示したスクリプトにより、DB2 の追加データベースページサイズが作成され、32 KB に設定されます。Content Services をデプロイしない場合は、既定の DB2 データベースページサイズ 8 KB を使用できます。

5.5.5.1 複数の DB2 スキーマの設定

1 つの DB2 データベースインスタンスで複数のスキーマを使用して実行するように Content Services を設定すると、Content Services のデプロイは、最初のノードでは成功しますが、後続のノードではすべて失敗します。DB2 では大文字と小文字が区別され、値は大文字で入力する必要があります。この問題を回避するには、次の JVM 引数をアプリケーションサーバーに追加する必要があります。

-Dhibernate.default_schema=<schema_name>

注意: <schema_name> は、大文字のスキーマ名に置き換える必要があります。