第 4 章 データベースのセットアップおよび構成


DB2 のセットアップおよび構成

このセクションは、データベース管理者が WebSphere Product Center 用の DB2 データベースを作成して構成するために使用する、データベース構成のガイドラインを扱っています。

前提条件

上記の前提条件が満たされているならば、このセクションに概説する以下のガイドラインを使用して、WebSphere Product Center データベースを作成およびセットアップしてください。

WebSphere Product Center データベースのインスタンスの作成

db2inst1 という名前の、WebSphere Product Center データベースのインスタンスを作成してください。望む場合には、このデータベースの 64 ビット・インスタンスを作成してください。DB2 ソフトウェアのインストール時にインスタンスを作成するというオプションもあります。 

新規データベースの作成

マシン上の既存データベースを WebSphere Product Center ミドルウェア・データベースと共用することはお勧めしません。WebSphere Product Center スキーマ用に新しいデータベースを作成してください。DB2 ソフトウェアのインストール時に、必要なデータベース、バッファー・プール、およびテーブル・スペースを作成できます。

: データベースは CODESET UTF-8 を使用して作成しなければなりません。本書の例で使用されているデータベース名は WPCDB です。

新規バッファー・プールの作成

WebSphere Product Center 内のテーブルのサイズが大きくなるため、バッファー・プールを作成するために使用されるページ・サイズは 16KB になっています。

テーブル・スペースによって使用される、以下のバッファー・プールが必要です。

次の表は、各バッファー・プールのサイズを示しています。

バッファー・プール サイズ (16KB ページの数)*
USERSBP 30000
INDXBP 30000
BLOBBP 1000
TEMPUSRBP 10000
TEMPSYSBP 10000

* これらの数値は、4 GB のメモリーを使用するサーバー用に調整されています。 サイズは、データベース・サーバー・メモリーが 1 GB 増えるごとに、0.25 倍ずつ増やすことができます。

* 新規テーブル・スペースを作成する前に、バッファー・プールをアクティブ化するため、db2stop および db2start コマンドを使用してインスタンスを再開する必要があります。

コントロール・センターによって作成されたサンプル SQL:

db2 CONNECT TO wpcdb
db2 CREATE BUFFERPOOL USERSBP SIZE 30000 PAGESIZE 16384
db2 CREATE BUFFERPOOL INDXBP SIZE 30000 PAGESIZE 16384
db2 CREATE BUFFERPOOL BLOBBP SIZE 1000 PAGESIZE 16384
db2 CREATE BUFFERPOOL TEMPUSRBP SIZE 10000 PAGESIZE 16384
db2 CREATE BUFFERPOOL TEMPSYSBP SIZE 10000 PAGESIZE 16384

新規テーブル・スペースの作成

WebSphere Product Center 内のテーブルのサイズが大きくなるため、テーブル・スペースを作成するために使用されるページ・サイズは 16KB になっています。

WebSphere Product Center は、以下のテーブル・スペースを必要とします。

次の表は、テーブル・スペースのタイプ、バッファー・プール、およびノード・グループの割り当ての一覧です。

テーブル・スペース

タイプ

管理

バッファー・プール

USERS

REGULAR

データベース

USERSBP

INDX

REGULAR

データベース

INDXBP

BLOB_TBL_DATA

REGULAR

データベース

BLOBBP

TEMP_USER

USER TEMPORARY

システム

TEMPUSRBP

TEMP_SYSTEM

SYSTEM TEMPORARY

システム

TEMPSYSBP

: データベース管理のテーブル・スペースを使用する場合は、 それぞれのテーブル・スペースに対して十分なコンテナーが作成され、 割り振られていることを確認してください。 TEMP_USER が USER TEMPORARY テーブル・スペースとして作成され、TEMP_SYSTEM が SYSTEMTEMPORARY テーブル・スペースとして作成され、両方ともシステムによって管理されていることを確認してください。

コントロール・センターによって作成されたサンプル SQL:

: 次の例でテーブル・スペースの作成に使用されるディレクトリー・パスは、 /u01/db2data/wpcdb/ です。

db2 CONNECT TO wpcdb; 
db2 CREATE REGULAR TABLESPACE USERS PAGESIZE 16K MANAGED BY DATABASE 
USING (file '/u01/db2data/wpcdb/users01' 90000) 
EXTENTSIZE 32 PREFETCHSIZE 64 BUFFERPOOL USERSBP 
OVERHEAD 24.100000 TRANSFERRATE 0.900000 DROPPED TABLE RECOVERY ON;

db2 CREATE REGULAR TABLESPACE INDX PAGESIZE 16K MANAGED BY DATABASE
USING (file '/u01/db2data/wpcdb/indx01' 190000) 
EXTENTSIZE 32 PREFETCHSIZE 64 BUFFERPOOL INDXBP 
OVERHEAD 24.100000 TRANSFERRATE 0.900000 DROPPED TABLE RECOVERY ON;

db2 CREATE REGULAR TABLESPACE BLOB_TBL_DATA PAGESIZE 16K MANAGED BY DATABASE
USING (file '/u01/db2data/wpcdb/blob01' 60000)
EXTENTSIZE 32 PREFETCHSIZE 64 BUFFERPOOL BLOBBP
OVERHEAD 24.100000 TRANSFERRATE 0.900000 DROPPED TABLE RECOVERY ON;

db2 CREATE USER TEMPORARY TABLESPACE TEMP_USER PAGESIZE 16K MANAGED BY SYSTEM
USING ('/u01/db2data/wpcdb/usertemp01')
EXTENTSIZE 32 PREFETCHSIZE 64 BUFFERPOOL TEMPUSRBP
OVERHEAD 24.100000 TRANSFERRATE 0.900000;

db2 CREATE SYSTEM TEMPORARY TABLESPACE TEMP_SYSTEM PAGESIZE 16K MANAGED BY SYSTEM
USING ('/u01/db2data/wpcdb/systemtemp01')
EXTENTSIZE 32 PREFETCHSIZE 64 BUFFERPOOL TEMPSYSBP
OVERHEAD 24.100000 TRANSFERRATE 0.900000;

AIX ユーザーの作成

WebSphere Product Center データベース・スキーマは、サーバー・レベルでユーザー認証が行われたデータベース・ユーザーを必要とします。 

: AIX 5L の SMIT Administration Utility を使用して、新規 AIX ユーザーを作成することをお奨めします。

データベース・ユーザーの追加および許可の付与

O/S レベルでユーザーを作成し終えたら、インスタンス所有者ログインを使用して、データベース・ユーザー WPC を作成し、このユーザーに以下の許可を付与してください (デフォルトのインスタンス所有者ログインは db2inst1)。

コントロール・センターによって作成されたサンプル SQL:

db2 CONNECT TO wpcdb

GRANT DBADM, CREATETAB, BINDADD, CONNECT, CREATE_NOT_FENCED, IMPLICIT_SCHEMA, LOAD ON DATABASE TO USER WPC;

これに加えて、WebSphere Product Center 固有のすべてのテーブル・スペース上のスペースを使用する許可を付与してください。

コントロール・センターによって作成されたサンプル SQL:

GRANT USE OF TABLESPACE USERS TO WPC;
GRANT USE OF TABLESPACE INDX TO WPC;
GRANT USE OF TABLESPACE BLOB_TBL_DATA TO WPC;
GRANT USE OF TABLESPACE TEMP_USER TO WPC;

新規スキーマの作成

ユーザー WPC 用の新規スキーマ WPC を作成してください。

コントロール・センターによって作成されたサンプル SQL:

CREATE SCHEMA WPC AUTHORIZATION WPC;

: WebSphere Product Center の別のインスタンス用に追加のデータベース・スキーマが使用されるようにしたい場合は、前述の『AIX ユーザーの作成』から『新規スキーマの作成』までのステップを繰り返してください。例えば、WebSpehere Product Center の別のテスト・インスタンスを、同じデータベース中にデータベース・スキーマが必要なアプリケーション・サーバー上で実行したい場合は、このデータベース中に WPCTEST という名前のデータベース・ユーザーとスキーマを作成する必要があります。このデータベースには WPCTEST という名前の O/S ユーザーが必要です。

アプリケーション・サーバー上にノードおよびデータベースをカタログする

別々のサーバー上で WebSphere Product Center とデータベースを実行する場合

別個のサーバー上で WebSphere Product Center を実行する場合は、データベースをカタログして、WebSphere Product Center からデータベースに接続できるようにしてください。アプリケーション・サーバー上で以下のコマンドを実行してください。

db2 "catalog tcpip node <nodename> remote <dbhostname> server <sname/port#>"
db2 terminate
db2 "catalog database <dbname> as <dbname> at node <nodename>"
db2 terminate

ここで、 

: 正しい接続ポートを確認するためには、 データベース・マネージャー (DBM) の SVCNAME パラメーターの値を参照してください。
Db2 get dbm cfg|grep “SVCNAME”

例:

db2 "catalog tcpip node NODE0001 remote trigprd server 50000/tcp"
db2 terminate
db2 "catalog database wpcdb as wpcdb at node NODE0001"
db2 terminate

同じサーバー上で WebSphere Product Center とデータベースを実行する場合

AIX で、DB2 と同じコンピューターで WebSphere Product Center を実行する場合、問題が 1 つあります。 WebSphere Product Center を作動させるには、以下の 2 つの修正が必要です。

1. WebSphere Product Center アプリケーションのインストールに使用される、DB2 データベース・インスタンス所有者およびユーザーの .profile ファイルと .bashrc ファイル中で、export EXTSHM=ON とします。

    export EXTSHM=ON

2. db2set コマンドを使用して、データベースを作成した DB2 インスタンス所有者として DB2ENVLIST を設定します。

    db2set DB2ENVLIST=EXTSHM

「db2stop force」および「db2start」を発行します。

DB2 データベース・プロファイル・レジストリーの更新

WebSphere Product Center が使用できるよう、以下のプロファイル・レジストリー変数が必要です。

他のプロファイル・レジストリー変数は不要ですが、特定の要件がある場合には設定することができます。

DB2_RR_TO_RS

説明 : Next Key Locking は、反復可能読み取り (RR) 分離レベルを保証します。すべての INSERT および DELETE ステートメントの場合には次のキーを、SELECT ステートメントの場合には結果セットより大きい次のキー値を自動的にロックすることにより、これを保証します。

索引のキー部分を変更する UPDATE ステートメントの場合、元の索引キーが削除されて、新規キー値が挿入されます。 Next Key Locking は、キーの挿入とキーの削除の両方に対して行われます。 スキップの動作は、RR、読み取り固定 (RS)、およびカーソル固定 (CS) の各分離レベルに影響します。 (非コミット読み取り (UR) 分離レベルのための行ロックはありません。) DB2_RR_TO_RS がオンの場合、ユーザー・テーブルのスキャンで RR の動作は保証されません。それは、索引キーの挿入および削除の間に Next Key Locking が行われないからです。

カタログ・テーブルはこのオプションの影響を受けません。 動作に関係する他の変更事項は、DB2_RR_TO_RS がオンの場合、削除されたもののコミットされていない行がスキャンでスキップされるというものです。その行がスキャンの対象としての資格を備えている場合でもスキップされます。

値: ON に設定します。

例:

db2set db2_rr_to_rs=ON

DB2CODEPAGE

説明 : DB2 のデータのエクスポートおよびインポート中に使用される文字セットの指定には、コード・ページが使用されます。 これを 1208 に設定してください。

値: 1208 に設定します。

例:

db2set db2codepage=1208

DB2COMM

説明 : db2comm レジストリー変数は、データベース・マネージャーの開始時にどのプロトコルの接続マネージャーが使用可能になるか判別します。キーワードをコンマで区切って、複数の通信プロトコルの変数を設定できます。

値: tcpip に設定します。

例:

db2set db2comm=tcpip

DB2 データベース・マネージャーの構成

WebSphere Product Center で使用するため、以下のデータベース・マネージャー構成パラメーターを設定する必要があります。

説明
MON_HEAP_SZ データベース・システム・モニター・データの専用ビューを維持するために必要なメモリーは、モニター・ヒープから割り振られます。そのサイズは、mon_heap_sz 構成パラメーターによって制御されます。 30000 に設定します。
SHEAPTHRES 専用および共有ソートは、2 つの異なるメモリー・ソースからメモリーを使用します。共有ソート・メモリー領域のサイズは、データベースへの最初の接続時に SHEAPTHRES の値に基づいて静的に事前決定されます。 これは、DB2 インスタンスによってホスティングされるデータベースのソート・ヒープのサイズの最低 2 倍でなければなりません。 20000 に設定します。
ASLHEAPSZ アプリケーション・サポート層ヒープは、ローカル・アプリケーションとその関連エージェントの間の通信バッファーを示します。このバッファーは、開始された各データベース・マネージャー・エージェントによって、共用メモリーとして割り振られます。 4200 に設定します。
QUERY_HEAP_SZ このパラメーターは、クエリー・ヒープに割り振ることができるメモリーの最大数を指定します。クエリー・ヒープは、各クエリーをエージェントの専用メモリーに格納するために使用されます。 最小値として、query_heap_sz を少なくとも aslheapsz の 5 倍より大きい値に設定してください。 524280 に設定します。
MAXAGENTS このパラメーターは、コーディネーター・エージェントかサブエージェントかにかかわらず、どの特定の時点においても、WebSphere Product Center の要求を受け入れるために使用可能なデータベース・マネージャー・エージェントの最大数を示します。MAXAGENTS の値は、少なくとも、同時にアクセスできるそれぞれのデータベース内の maxappls の値の合計であることが必要です。 データベースの数が numdb パラメーターよりも多い場合は、numdb と maxappls の最大値の積を使用するのが最も安全な方法です。 400 に設定します。

スクリプト例:

update dbm cfg using MON_HEAP_SZ 30000;

update dbm cfg using SHEAPTHRES 20000;

update dbm cfg using ASLHEAPSZ 4200;

update dbm cfg using QUERY_HEAP_SZ 524280;

update dbm cfg using MAXAGENTS 400;

 

DB2 データベース構成パラメーター

WebSphere Product Center で使用するため、以下のデータベース構成パラメーターを設定する必要があります。

  説明
DFT_QUERYOPT クエリー最適化クラスは、SQL クエリーのコンパイルに別々の度合いの最適化を使用するように、オプティマイザーに指示するために使用します。このパラメーターでは、デフォルトのクエリー最適化クラスを設定することによって、さらに柔軟性が得られます。 9 に設定します。
DBHEAP

データベースごとに 1 つのデータベース・ヒープが存在し、データベース・マネージャーは、データベースに接続されているすべての WebSphere Product Center のインスタンスの代わりに、データベース・ヒープを使用します。これにはテーブル、索引、テーブル・スペース、およびバッファー・プールのコントロール・ブロック情報が含まれます。 また、ログ・バッファー (logbufsz)、およびカタログ・キャッシュ (catalogcache_sz) 用のスペースも含まれます。 したがってヒープのサイズは、その時点でヒープに保管されているコントロール・ブロックの数によって異なります。 コントロール・ブロック情報は、WebSphere Product Center のすべてのインスタンスがデータベースから切断されるまで、ヒープ内に保持されます。

データベース・マネージャーが始動のために取得する必要がある最低量は、最初の接続時に割り振られます。 データ域は、DBHEAP によって指定されている最大値を上限として、必要に応じて拡張されます。

65448 に設定します。
CATALOGCACHE_SZ このパラメーターは、カタログ・キャッシュがデータベース・ヒープ (dbheap) から使用できるスペースの最大容量を示します。 6000 に設定します。
LOGBUFSZ このパラメーターを使用すると、データベース・ヒープの量 (DBHEAP パラメーターで定義されます) を指定して、ログ・レコードをディスクに書き込む前に、ログ・レコードのバッファーとして使用できます。また、このパラメーターは DBHEAP パラメーター以下でなければなりません。 4096 に設定します。

UTIL_HEAP_SZ

このパラメーターは、BACKUP、RESTORE、および LOAD (ロード・リカバリーを含む) ユーティリティーによって同時に使用できるメモリーの最大量を示します。 5000 に設定します。
BUFFPAGE BUFFPAGE パラメーターは、CREATE BUFFERPOOL または ALTER BUFFERPOOL ステートメントが NPAGES -1 を指定して実行されるときに、バッファー・プールのサイズを制御します。それ以外の場合は、BUFFPAGE パラメーターは無視され、バッファー・プールは NPAGES パラメーターの指定するページ数だけ作成されます。 22000 に設定します。
LOCKLIST このパラメーターは、ロック・リストに割り振られているストレージ量を示します。データベースごとに 1 つのロック・リストが存在し、ロック・リストには、データベースに同時に接続している WebSphere Product Center のすべてのインスタンスが保持しているロックが含まれています。 このパラメーターは、データベースのサイズに応じて大きくする必要があるかもしれません。 6000 に設定します。
APP_CTL_HEAP_SZ このパラメーターは、アプリケーション・コントロール共用メモリーの最大サイズを、4 KB 単位で指定します。アプリケーション・コントロール・ヒープは、この共用メモリーから割り振られます。 4500 に設定します。
SORTHEAP このパラメーターでは、専用ソートで使用される専用メモリー・ページの最大数、または共有ソートで使用される共有メモリー・ページの最大数を定義します。 2650 に設定します。
STMTHEAP ステートメント・ヒープは、SQL ステートメントのコンパイル時に SQL コンパイラー用のワークスペースとして使用されます。このパラメーターでは、このワークスペースのサイズを指定します。 30000 に設定します。
APPLHEAPSZ このパラメーターは、特定エージェントまたはサブエージェントの代わりに、データベース・マネージャーが使用可能な専用メモリー・ページの数を定義します。 45000 に設定します。
STAT_HEAP_SZ このパラメーターは、RUNSTATS コマンドによる統計の収集の際に使用される、ヒープの最大サイズを示します。 22000 に設定します。
MAXLOCKS ロック・エスカレーションは、行ロックをテーブル・ロックに置き換えて、リスト内のロック数を削減する処理です。このパラメーターは、データベース・マネージャーがエスカレーションを実行する前に満たされる必要がある、アプリケーションが保持するロック・リストのパーセンテージを定義します。 30 に設定します。
LOCKTIMEOUT このパラメーターは、WebSphere Product Center がロックを獲得するために待機する秒数を指定します。 8 に設定します。
NUM_IOCLEANERS このパラメーターを使用すると、データベースの非同期ページ・クリーナーの数を指定できます。これらのページ・クリーナーは、バッファー・プール内のスペースがデータベース・エージェントによって必要とされる前に、変更済みページをバッファー・プールからディスクに書き込みます。 7 に設定します。
NUM_IOSERVERS 入出力サーバーは、データベース・エージェントの代わりに、バックアップおよびリストアなどのユーティリティーによるプリフェッチ入出力および非同期入出力を実行するために使用されます。このパラメーターは、データベースのための入出力サーバー数を指定します。 8 に設定します。
MAXAPPLS このパラメーターは、データベースに (ローカルとリモートの両方で) 接続できる WebSphere Product Center の並行インスタンスの最大数を指定します。 400 に設定します。
AVG_APPLS このパラメーターを SQL オプティマイザーで使用すると、選択されたアクセス・プラン用として実行時に使用可能になる、バッファー・プールの量を見積もるのに役立ちます。 2 に設定します。
MAXFILOP このパラメーターは、それぞれのデータベース・エージェントごとにオープンしておけるファイル・ハンドルの最大数を指定します。 640 に設定します。

スクリプト例: (使用されるデータベースの名前は WPCDB)

db2 connect to wpcdb
update db cfg for wpcdb using DFT_QUERYOPT 9;
update db cfg for wpcdb using DBHEAP 65448;
update db cfg for wpcdb using CATALOGCACHE_SZ 6000;
update db cfg for wpcdb using LOGBUFSZ 4096;
update db cfg for wpcdb using UTIL_HEAP_SZ 5000;
update db cfg for wpcdb using BUFFPAGE 22000;
update db cfg for wpcdb using LOCKLIST 6000;
update db cfg for wpcdb using APP_CTL_HEAP_SZ 4500;
update db cfg for wpcdb using SORTHEAP 2650;
update db cfg for wpcdb using STMTHEAP 30000;
update db cfg for wpcdb using APPLHEAPSZ 45000;
update db cfg for wpcdb using STAT_HEAP_SZ 22000;
update db cfg for wpcdb using MAXLOCKS 30;
update db cfg for wpcdb using LOCKTIMEOUT 8;
update db cfg for wpcdb using NUM_IOCLEANERS 7;
update db cfg for wpcdb using NUM_IOSERVERS 8;
update db cfg for wpcdb using MAXAPPLS 400;
update db cfg for wpcdb using AVG_APPLS 2;
update db cfg for wpcdb using MAXFILOP 640;

 

       WebSphere Product Center データベースのトランザクション・ログ・ファイルのセットアップ

ログ・ファイルがあるので、ご使用の環境を整合した状態にリカバリーしてデータの整合性を保持できる機能が備えられています。データベースのリカバリー時にデータベース・マネージャーがログ・ファイルを読み取る必要があるので、ログ・ファイルのストレージを最適化するようにしてください。

ファイル・システム上にログを置くことをお勧めします。また、データベース・テーブル・スペースおよびデータベース・ソフトウェアとは離して独自の物理ディスク上に常駐させる必要があります。理想的には、これらのディスクを DB2 ロギング専用にして、他のプロセスがこれらのディスクにアクセスしたり書き込んだりする可能性をなくすべきです。このログの置き場所は、トラック当たりのデータ・ブロックが多いディスクの外端が理想的です。RAID 10 または RAID 5 配列を使用して、単一ディスク障害に対してログを保護することを強くお勧めします。

説明
NEWLOGPATH

このパラメーターは、ログ・パスを変更して、デフォルトのボリュームやデータベース・テーブル・スペース・コンテナーとして使用されているボリューム以外の独立した区画/ボリューム上にトランザクション・ログ・ファイルを作成するのに使用します。

ログ・ファイルの宛先のディレクトリーに設定してください。設定する前に、このディレクトリーが作成されていることを確認してください。新しいログ・パスを設定する前に、宛先にスペースが十分あることを確認してください。

 

update db cfg for wpcdb using NEWLOGPATH /u02/db2data/logs

 

LOGFILSIZ  このパラメーターは、1 次および 2 次ログ・ファイルの各サイズを定義します。これらのログ・ファイルのサイズは、ファイルがいっぱいになり、新しいログ・ファイルが必要になる前に書き込めるログ・レコード数を制限します。 開発/テスト・データベースの場合は 30000 に設定し、それ以外の場合は 60000 に設定してください。個々のサイズが 4 KB のページの数が、このサイズになります。 update db cfg for wpcdb using LOGFILSIZ 30000
LOGPRIMARY  1 次ログ・ファイル数によって、リカバリー・ログ・ファイルに割り振られる固定量のストレージが設定されます。このパラメーターを使用すると、事前割り振りされる 1 次ログ・ファイルの数を指定できます。 開発データベースの場合は 20 に設定し、それ以外の場合は 40 に設定してください。 update db cfg for wpcdb using LOGPRIMARY 20
LOGSECOND  このパラメーターは、リカバリー・ログ・ファイルとして作成および使用される (必要な場合のみ) 2 次ログ・ファイルの数を指定します。1 次ログ・ファイルがいっぱいになると、2 次ログ・ファイル (サイズ logfilsiz) が、必要に応じて一度に 1 つずつ、このパラメーターが制御する最大数まで割り振られます。 開発/テスト・データベースの場合は 10 に設定し、それ以外の場合は 20 に設定してください。 update db cfg for wpcdb using LOGSECOND 10

db2stop および db2start コマンドを使用して DB 構成を変更した後で、データベースを再始動してください。

  db2stop force
  db2start

       Application Server 上に DB2 Admin/Developer/Run-Time クライアントをインストールする

       WAS 上での DB2 インスタンスの作成

WebSphere Application Server 上に DB2 インスタンスを作成します。 db2inst1 ユーザーまたは WebSphere Product Center ミドルウェア・ユーザーがインスタンスを所有できます。 WebSphere Product Center アプリケーションがデータベースに接続するには、アプリケーション・サーバー上に 32 ビット・インスタンスを作成する必要があります。アプリケーション・サーバー上の 32 ビット・インスタンスを、データベース・サーバー上の 64 ビット・インスタンスに接続できます。

注: db2inst1 ユーザー (または WebSphere Product Center ミドルウェア・ユーザー以外の他のユーザー) がインスタンスを所有する場合には、WebSphere Product Center ミドルウェア・ユーザーの $HOME/sqllib から、インスタンス所有者の同じディレクトリーへのソフト・リンクを作成してください。

:

以下のコマンドを WebSphere Product Center ミドルウェア・ユーザーのホーム・ディレクトリーから実行してください。

ln -s /home/db2inst1/sqllib/ sqllib

        DB2 データベースのセットアップのチェックリスト

以下のチェックリストを使用して、必要な DB2 データベースが、WebSphere Product Center と一緒に使用できるよう正しくセットアップされているかどうかを確認してください。

X

DB2 のセットアップのチェックリスト

  DB2 サーバー・リリースの確認 DB2 サーバー・リリースが、本書で略述されているインストール要件に適合しているか確認してください。
  データベースのコード・セットの確認

文字セットおよび国別文字セットは UTF8 でなければなりません。 システム・ユーザーとして接続し、データベースの文字セットを確認してください。

(インスタンス所有者としてログインしたデータベース・サーバー上で)

$db2 get db cfg for <database name>

これによって「データベース・コード・セット」が UTF-8 に設定されるはずです。

  パラメーター・ファイル項目の確認 この章の DB2 構成セクションに従い、DB2 レジストリー変数、データベース・マネージャー、およびデータベースのパラメーターに対して、必要な変更を行ったか確認してください。
  テーブル・スペースのセットアップの確認 必要なテーブル・スペースがデータベース内でセットアップされているかを確認してください。
  トランザクション・ログのセットアップの確認

トランザクション・ログが独立した区画に作成されているか確認してください。 

  データベース・ユーザーのセットアップの確認 $TOP/etc/default/common.properties ファイル内のデータベース・ユーザー名とパスワードを表示して、データベース・ユーザーが作成され、必要なすべての特権がそのユーザーに付与されていることを確認してください。
  データベース・サーバーへの接続の確認

データベース・サーバーおよびデータベース・サーバー・ノードは、アプリケーション・サーバー上でカタログされていなければならず、またデータベースはアプリケーション・サーバーからアクセス可能でなければなりません。

  • $TOP/bin/ test_db.sh によるデータベース接続の確認
  • $TOP/bin/ test_java_db.sh によるデータベース接続の確認

データベースがアプリケーション・サーバーからアクセス可能でなければなりません。


Oracle データベースのセットアップおよび構成        

Oracle の場合の OS 設定

Oracle 社が推奨する System V のセマフォーと共用メモリーの設定はいくつかあります。これらの設定は、プラットフォームおよびデータベースのサイズによって変わります。正しい設定については、Oracle マニュアルを参照するか、DBA に相談してください。

以下のセクションでは、Oracle データベース・オペレーティング・システムにおける推奨パラメーターを定義しています。

Linux 上の Oracle

次のファイルを編集します。

        /etc/sysctl.conf

パラメーターを設定します。

fs/file-max=16384
kernel/msgmni=1024
kernel/shmmax=3221225472

: メモリーが 4GB ある場合には、kernal/shmmax の値を設定することをお勧めします。 サイズは、メモリーの大きさによって異なります。

        Oracle 9i の構成

このセクションは、WebSphere Product Center を正しくインストールするために使用される Oracle データベース構成のガイドラインを記載しています。

前提条件

WebSphere Product Center データベースの作成と設定には、以下のガイドラインを使用してください。

新規データベースの作成

WebSphere Product Center アプリケーション用に別のデータベースをセットアップすることをお勧めします。お勧めする理由の 1 つは、WebSphere Product Center データベースは他の使用中のデータベースの可用性や既存の構成に (パフォーマンス調整の点で) 従属する必要がないことです。

既存の Oracle データベース・インスタンスを使用して WebSphere Product Center データを保管できますが、WebSphere スキーマ中の特定の基本キーの長さのために、ブロック・サイズは 8192 KB 以上でなければなりません。

文字セットおよび国別文字セット

WebSphere Product Center は、UTF8 文字セットを使用しています。そのため、 WebSphere Product Center のデータベース作成時には、データベース文字セット、 国別文字セットは、UTF8 でなければなりません。 

       WebSphere Product Center 固有の Oracle パラメーター・ファイル項目 (init.ora)

Oracle では構成パラメーターを使用して、ファイルの位置を指定したり、すべての Oracle 製品に共通の実行時パラメーターを指定したりします。 Oracle プログラムやアプリケーションの特定の構成変数を変換する必要がある場合、Oracle 社は関連パラメーターを提供しています。すべての Oracle パラメーターは、レジストリーに保管されています。 

WebSphere Product Center と併用するために設定するパラメーターは、以下のとおりです。

  説明
DB_BLOCK_SIZE  このパラメーターは、Oracle データベース・ブロックのサイズ (バイト単位) を設定します。この値は、データベースの作成時に設定され、その後に変更することはできません。DB BLOCK SIZE は、Trio スキーマにとって重要で、8192 以上でなければなりません。db_block_size が小さすぎる場合、スキーマの作成は失敗します。 WebSphere Product Center データベースの場合、この値を 8192 に設定します。

:

db_block_size = 8192

QUERY_REWRITE_ENABLED マテリアライズ・ビューのためのクエリーの再書き込みを使用可能にしたり使用不可にしたりするのに使用します。 このパラメーターは true に設定しなければなりません。

:

query_rewrite_enabled = true

COMPATIBLE  このパラメーターを使用すると、新規リリースを使用すると同時に、旧リリースとの後方互換性を保証できます。 9.2.0.0.0 またはそれ以降に設定します。

:

Compatible = 9.2.0.0.0

PROCESSES このパラメーターは、Oracle Server に同時に接続できるオペレーティング・システム・ユーザー・プロセスの最大数を指定します。 最小でも 500 に設定します。

:

Processes = 500

OPEN_CURSORS このパラメーターは、セッションが一度に保持できるオープン・カーソルの最大数を指定し、PL/SQL カーソル・キャッシュ・サイズを制約します。このキャッシュ・サイズは、ユーザーが再実行したステートメントが再解析されないようにするために PL/SQL で使用されます。 600 に設定します。

:

Open_cursors = 600

MAX_ENABLED_ROLES ユーザーが使用可能にできるデータベース役割 (副役割を含む) の最大数を指定します。 60 に設定します。

:

Max_enabled_roles = 60

DB_CACHE_SIZE このパラメーターは、バッファー・キャッシュ中の Oracle ブロックの数を指定します。このパラメーターは、インスタンスの合計 SGA サイズに大きな影響があります。 使用可能なメモリーの合計に応じた値に設定します。  少なくとも 1048576000 に設定します。

:

Db_cache_size = 1048576000

SHARED_POOL_SIZE このパラメーターは、共用プールのサイズをバイト単位で指定します。共用プールには、共用カーソル、ストアード・プロシージャー、制御構造、および並列実行メッセージ・バッファーなどのオブジェクトが含まれます。 DB サーバーのメモリー・サイズに基づいて値を設定します。

:

Shared_pool_size = 209715200 # 200 MB (DB サーバーのメモリーが 2 GB の場合)

LOG_BUFFER LGWR によってバッファー再実行項目が再実行ログ・ファイルに書き込まれる前に、この項目に使用されるメモリーの量をバイト単位で指定します。再実行項目は、データベース・ブロックに加えられた変更のレコードを保持します。 この値を 5242880 に設定します。

:

Log_buffer = 5242880

SORT_AREA_SIZE このパラメーターは、ソートに使用されるメモリーの最大量をバイト単位で指定します。ソートの完了後に、行が戻されてメモリーが解放されます。 大量データのソートの効率を改善するには、このサイズを大きくします。メモリーを超過した場合は、ユーザー一時テーブル・スペース中の一時ディスク・セグメントが使用されます。 使用可能なメイン・メモリーに応じて、5MB から 10 MBの間の値に設定します。sort_area_size の設定値が大きすぎると、他のプロセス用に残っているメモリーが少なすぎる場合にスワッピングが発生します。

:

Sort_area_size = 5242880

OPTIMIZER_INDEX_CACHING  バッファー・キャッシュ中にあることが予期される、ネスト・ループ結合用の索引ブロックのパーセンテージに関する、コスト・ベースのオプティマイザーの想定を調整します。この値は、索引が使用されるネスト・ループ結合の実行のコストに影響します。このパラメーターの設定値が大きいほど、オプティマイザーでネスト・ループ結合が低コストであると認識されます。値の範囲は 0 パーセントから 100 パーセントまでです。 値: 90 に設定します。

:

Optimizer_index_caching = 90

OPTIMIZER_INDEX_COST_ADJ 考慮される索引アクセス・パスが少なすぎたり多すぎたりする場合に、オプティマイザーのパフォーマンスを調整するのに使用します。値が小さいほど、オプティマイザーが索引を選択する可能性が高くなります。値の範囲は 1 パーセントから 10000 パーセントまでです。 50 に設定します。

:

optimizer_index_cost_adj=50

OPTIMIZER_FEATURES_ENABLE init.ora パラメーター (オプティマイザーの動作を制御する) を変更できるようにします。 8.1.7 に設定します。

:

optimizer_features_enable=8.1.7

       テーブル・スペースのセットアップ

WebSphere Product Center データベース中に以下のテーブル・スペースを作成しなければなりません。

: 1500 MB のサイズを超えているデータ・ファイルがないことを確認してください。割り振られるスペースを増やすには、テーブル・スペースに追加するデータ・ファイルを増やしてください。

 テーブル・スペース 説明
SYSTEM これは、Oracle データベース中に自動的に作成されるデフォルト・テーブル・スペースです。システム・テーブル・スペースは、システム・ユーザーが作成したデータ・ディクショナリーやオブジェクトを保管するのに使用されます。これは永続テーブル・スペースです。 

推奨: system テーブル・スペース用に 400MB 以上のサイズ。

USERS  このテーブル・スペースは、ラージ・オブジェクト (LOB) の保管に使用されるテーブルを除くすべての WebSphere Product Center データベース・テーブルを保管するのに使用されます。このテーブル・スペースは、Oracle Database Configuration Assistant (ODCA) を使用してデータベースを作成する際に自動的に作成されます。これは永続的なローカル管理のテーブル・スペースです。 

推奨: users テーブル・スペース用に 15 GB 以上のサイズ。

INDX

このテーブル・スペースは、すべての WebSphere Product Center データベース索引を保管するのに使用されます。このテーブル・スペースは、ODCA を使用してデータベースを作成する際に自動的に作成されます。これは永続的なローカル管理のテーブル・スペースです。 

推奨: indx テーブル・スペース用に 40 GB 以上のサイズ。

BLOB_TBL_DATA  このテーブル・スペースは、カタログやイメージなどのラージ・オブジェクトを含む WebSphere Product Center データベース・テーブルを保管するのに使用されます。このテーブル・スペースは、 データベースを作成する際に Oracle Database 構成アシスタントによって自動的に作成されません。したがって、データベースの作成後にこのテーブル・スペースを手動で作成したことを確認してください。これは永続的なローカル管理のテーブル・スペースです。 

推奨: blob_tbl_data テーブル・スペース用に 5 GB 以上のサイズ。

UNDOTBS1 このテーブル・スペースは、Oracle データベース中にロールバック・セグメントを保管するのに使用されます。このテーブル・スペースは、ODCA によってデータベース中に自動的に作成されます。 

推奨: undotbs1 テーブル・スペース用に 15 GB 以上のサイズ。

TEMP このテーブル・スペースは、ソートやグループ化などのデータベース操作中にオブジェクトを一時的に保管するのに使用されます。このテーブル・スペースも ODCA によって自動的に作成されます。これは一時テーブル・スペースです。 

推奨: temp テーブル・スペース用に 6 GB 以上のサイズ。

       Oracle テーブル・スペースに関する情報

テーブル・スペース

最小サイズ

推奨されるストレージ・パラメーター

SYSTEM 400 MB デフォルト
USERS 5 GB EXTENT MANAGEMENT 

LOCAL SEGMENT SPACE MANAGEMENT AUTO

INDX 20 GB EXTENT MANAGEMENT 

LOCAL SEGMENT SPACE MANAGEMENT AUTO

BLOB_TBL_DATA 2 GB  EXTENT MANAGEMENT LOCAL

SEGMENT SPACE MANAGEMENT AUTO

UNDOTBS1 10 GB UNDO TABLESPACE

LEAVE DEFAULT VALUES

TEMP 5 GB TEMPORARY TABLESPACE

LEAVE DEFAULT VALUES

再実行ログ・ファイルのセットアップ

Oracle では、トランザクションを記録するのに、オンライン再実行ログ・ファイルに依存します。データベース中でトランザクションが行われるたびに、再実行ログ・ファイルに項目が追加されます。再実行ログ・ファイルのサイズを正しく調整すると、データベースのパフォーマンスを向上できます。非コミット・トランザクションの場合も再実行ログ項目が生成されます。6 つの再実行ログ・ファイルを作成し、個々のサイズを 300 MB にしてください。 

データベース・サーバー上でこのデータベースのリスナーをセットアップする 

WebSphere Product Center は、アプリケーション・サーバー上で JDBC シン・クライアントを使用してデータベースに接続します。WebSphere Product Center スキーマの作成などの特定のタスク用に、WebSphere Product Center SQL スクリプトの一部もアプリケーション・サーバー上で使用されます。DB サーバー上でリスナーをセットアップして、JDBC または SQL Plus を使用してクライアントがデータベースに接続できるようにしてください。

データベース・スキーマ・ユーザーの作成

WebSphere Product Center のデータベース・ユーザーを作成してください。このユーザーは common.properties ファイル中で参照されます。 

必要なユーザー情報は以下のとおりです。

例えば、以下の SQL コマンドを SQL プロンプトで実行してください。

SQL> Create user WPC identified by WPC default tablespace users temporary tablespace temp;
SQL> Grant connect, resource, unlimited tablespace, select any dictionary, query rewrite to WPC

アプリケーション・サーバー上に Oracle 9i Client をインストールする 

アプリケーション・サーバー上に Oracle 9i Client をインストールし、この Oracle クライアントのインストール先のアプリケーション・サーバー上の tnsnames.ora ファイル中にデータベースの項目があることを確認してください。ファイル tnsnames.ora は "$ORACLE_HOME/network/admin" ディレクトリーにあります。アプリケーション・サーバー上で tnsping、SQLPlus、またはその両方を使用して、アプリケーション・サーバーとデータベース・サーバーとの間の接続を確認してください。

X

Oracle のセットアップのチェックリスト

  Oracle 9i サーバー・リリースの確認 Oracle Server は、Oracle 9.2.0.5 Standard/Enterprise Edition Database Server である必要があります。
  データベースの文字セットの確認 文字セットおよび国別文字セットは UTF8 でなければなりません。 システム・ユーザーとして接続し、データベースの文字セットを確認してください。

SQL>select * from nls_database_parameters where PARAMETER in ('NLS_CHARACTERSET',’ NLS_NCHAR_CHARACTERSET’);

  init パラメーター・ファイル項目の確認 この章の Oracle の構成に関するセクションを読み通して、必要なパラメーター・ファイル項目が設定されているか確認してください。
  テーブル・スペースのセットアップの確認 必要なテーブル・スペースがデータベース内でセットアップされているかを確認してください。
  ロールバック・セグメント状況の確認 すべてのロールバック・セグメントがオンラインになっているか確認してください。システム・ユーザーとして接続し、ロールバック・セグメントの状況を検査してください。

SQL> select SEGMENT_NAME, STATUS from dba_rollback_segs;

  再実行ログ・ファイルの確認 データベース中に作成される再実行ログ・ファイルの数が十分か確認してください。データベース中の既存の再実行ログ・ファイルに関する情報を入手するには、システム・ユーザーとして接続し、以下のクエリーを発行してください。

SQL> select * from v$log;

  データベース・ユーザーのセットアップの確認 $TOP/etc/default/common.properties ファイル内のデータベース・ユーザー名とパスワードを表示して、データベース・ユーザーが作成され、必要なすべての特権がそのユーザーに付与されていることを確認してください。
  データベースの tnsnames.ora ファイル項目の確認 Oracle クライアントのインストール先のアプリケーション・サーバー上の tnsnames.ora ファイル中にデータベースの項目があることを確認してください。tnsnames.ora ファイルは $ORACLE_HOME/network/admin ディレクトリーにあります。

: スキーマのインストール時の制限のために、tnsnames.ora 中のサービス名はデータベースの SID と一致していなければなりません。言い換えれば、sqlplus などの OCI ユーティリティーが、SID と同じサービス名を使用して接続できなければなりません。

  データベース・サーバー上のリスナーの確認 データベースがアプリケーション・サーバーからアクセス可能でなければなりません。