この節には以下の情報が含まれています。
ウェアハウス・エージェントをインストールする前に、ウェアハウスのセキュリティーと特権を定義しなければなりません。ウェアハウスのセキュリティーの定義については、データウェアハウスセンター 管理の手引き およびデータウェアハウスセンターのオンライン・ヘルプを参照してください。また、インストールされている iSeries ウェアハウス・エージェントもすべて除去してください。
iSeries ウェアハウス・エージェント・コードを除去するには、iSeries コマンド・プロンプトで、コマンド DLTLICPGM LICPGM(PRODUCT ID) を入力します。ここで PRODUCT ID は、インストールされている iSeries または AS/400 バージョンです。
このコマンドは以下の処置を行います。
この節には、iSeries ウェアハウス・エージェントをインストールするために必要なソフトウェア、権限、および PTF (プログラム一時修正) についての情報が含まれます。
コレクションおよび表の作成、取り込みはどのユーザー・クラスも使用できます。
表 5 では、ご使用の AS/400 バージョンに必須の PTF を示しています。
OS/400 システム | 製品 ID | 必須 PTF | VWPLOADI または VWPLOADR 用の PTF |
---|---|---|---|
バージョン 4 リリース 2 | 5769SS1 | SF51534 | SF46911、SF46976、SF49466 |
バージョン 4 リリース 3 | 5769SS1 | SF51535 | SF49467 |
バージョン 4 リリース 4 | 5769SS1 | なし | SF56124 |
AS/400 バージョン 4 リリース 5 以上では、ウェアハウスと統計トランスフォーマーはどちらもサポートされています。トランスフォーマーを使用する予定の場合、最新の Java 仮想マシン (JVM) およびその各リリース用の JDBC PTF がインストールされていることを確認してください。使用可能な最新の PTF についての情報は、IBM ソフトウェア・サポートにお問い合わせください。
iSeries システムに存在させることができるのは、1 つの言語バージョンの iSeries ウェアハウス・エージェントのみです。 iSeries ウェアハウス・エージェントは言語には依存しません。すべてのデータは、内部的にはユニコードで表現されています。
STRVWD および ENDVWD コマンドが作成するすべてのトレースおよびメッセージは、米国英語以外のシステム上でも米国英語で表示されます。エージェントが作成するメッセージはワークステーションで解釈され、ご使用の DB2 ウェアハウス・マネージャーがサポートする言語で表示されます。
デーモンを開始するのに使用するユーザー・プロファイルは、使用中の CCSID に合った正しいロケールに設定されている必要があります。正しいロケールが選択されていない場合、特に DBCS コンピューターを使用している場合は、エラー IWH9149 が出されて停止します。
ご使用のシステム上で使用可能な *LOCALE ファイルすべてのリストは、コマンド WRKOBJPDM QSYS *ALL *LOCALE を入力して入手できます。
スクロールダウンして、iSeries ウェアハウス・エージェントを実行している CCSID に対応する地域の名前を見つけます。選択したロケールに合わせてユーザー・プロファイルを構成するには、CHGUSRPRF コマンドを使用します。「ユーザー・プロファイルの変更 (Change User Profile)」画面で、F10 を押して続きのオプションを表示します。スクロールダウンして、LOCALE オプションを見つけます。以下の構文を使用して、完全修飾ロケール・パスを入力します。
/QSYS.LIB/your_locale.LOCALE
ここで your_locale は、ユーザー・プロファイルに選択した CCSID に対応するロケールです。たとえば、CCSID 500 のロケール・パスは、/QSYS.LIB/FR_CA.LOCALE のようになります。
以下のコマンドを使用して、米国英語以外の iSeries システムに米国英語の iSeries ウェアハウス・エージェントをインストールします。
RSTLICPGM LICPGM(5724B08) DEV(OPT01) LNG(2924)
ここで、OPT01 は、CD-ROM の名前です。
iSeries ウェアハウス・エージェントをインストールするには、以下の手順に従ってください。
RSTLICPGM LICPGM(5724B08) DEV(OPT01)ここで、OPT01 は、CD-ROM ドライブです。 インストール処理により、/QIBM/UserData/IWH および /QIBM/ProdData/IWH サブディレクトリーが作成されます。 トレースは、/QIBM/UserData/IWH サブディレクトリーに書き込まれます。
ウェアハウス・エージェントは現在、すべてのステップの関数を単一の作業単位 (UOW) で処理します。 IBM DB2 (iSeries 版) では、単一コミットの効力範囲に挿入できる行数は 4,000,000 に制限されています。このサイズを超える照会がある場合は、照会を分割するか、または VWPFTP、VWPRCPY、 VWPLOADI、および VWPLOADR プログラムを使用してデータを移動させます。
推奨: これらのプログラムを使用すると、照会パフォーマンスがかなり向上します (10 の因数)。データの大規模な移動、特にネットワークを経由しての移動にはこれらのプログラムを使用してください。
データウェアハウスセンターがウェアハウス・プログラムに渡すすべてのパラメーターは、ストリング・パラメーターとして渡されます。パック 10 進数のパラメーターを必要とするアプリケーションがある場合は、入力パラメーターを非ストリング形式に変換する CL スクリプトでそのアプリケーションをラップしてください。
SQL ドリブンのプロセスは、フラット・ファイル LAN ソース情報のリソース・タイプ用にはサポートされていません。 ODBC フラット・ファイル・ドライバーに当たるものが iSeries システムにはないため、SQL を使用してデータをコンマ区切りのファイルなどからデータを検索することはできません。 iSeries システム上のファイルは、たいてい DB2 表です。ただし、固定フィールドやコンマ区切りのテキスト・ファイルを作成するアプリケーションは多くあります。これらのファイルを DB2 表にロードする必要を扱う場合、60 ページの『iSeries システム上のフラット・ファイルの作業』を参照し、FTP を使用してローカル・フラット・ファイルまたはリモート・フラット・ファイルからローカル DB2 ターゲット表にデータを転送してください。 iSeries ウェアハウス・エージェントに組み込まれているウェアハウス・プログラムを使用して、転送を完了することができます。
DBCS ステップ名は、iSeries ウェアハウス・エージェントでは使用できません。また、DB2 (iSeries 版) は DBCS オブジェクト名もサポートしていません。これには列名、表名、およびスキーマ名が含まれます。
QIWH ライブラリー (ここに DB2 ウェアハウス・マネージャー製品をインストールします) には、FTPCMD という名前のファイルが含まれています。 DB2 ウェアハウス・マネージャーは、サンプル・プログラム VWPFTP および VWPRCPY 用にこのファイルを使用します。 *QSYS ユーザーがこのファイルを所有し、このファイルに対する *PUBLIC および *CHANGE 権限を授与し、どのユーザー・プロファイルでも DB2 ウェアハウス・マネージャー・プログラムを実行できるようにします。ただし、VWPRCPY プログラムを使用すると機密漏れのリスクが高まります。 VWPRCPY の運用中に、このプログラムは一時コマンド・ファイルを作成しますが、これには接続先のリモート・システムのユーザー ID とパスワードが入っています。
iSeries ウェアハウス・エージェント (または他の DB2 ウェアハウス・マネージャー) での問題を診断して解決するには、以下のステップに従ってください。
関係のあるエラー・メッセージを見つけたら、DB2 ウェアハウス・マネージャー・オンライン・メッセージ ブックを使用して、問題の原因およびそれを修正するために必要な一連の処置を判別します。 IBM ソフトウェア・サポートに問題を報告するときには、該当するエラー・メッセージについてブックで提供されている情報を最初に知らせてください。
RC2 エラー・フィールドは、多目的のフィールドで、異なるコンテキストで異なる意味を持ちます。これは、1 次エラー (RC 1) に応じて、データウェアハウスセンターのエラー・コード (VW で始まる)、システム・コード、またはアプリケーションの戻りコードを保管します。
iSeries ウェアハウス・エージェントのインストール中に、以下のエラー・メッセージが出されることがあります。
Return Code = 7183 (Method = VWRemoteAgent::Initialize; Secondary Code = 9117) Message: The warehouse server tried to spawn an agent but did not receive a valid start up acknowledgement from either the agent or the daemon.
RC7183 の最も一般的な原因は、ウェアハウス・サーバーと iSeries ウェアハウス・エージェントとの間の TCP/IP 接続の構成が不適切なことです。サーバーとエージェントとの間の通信は双方向です。つまり、サーバーはエージェントにメッセージを送信し、エージェントはサーバーにメッセージを戻します。ウェアハウス・サーバー・ワークステーションが iSeries ウェアハウス・エージェントに接続されているか、またその逆方向も接続されているかを確認してください。
サーバーとエージェントとの間の通信が双方向であることを検査するには、以下のようにします。
PING が失敗した場合は、以下のことを検査してください。
PING が失敗した場合は、以下のことを検査してください。
PING が両方とも成功した場合、PING によって戻された IP アドレスの数値が、接続を試行しているワークステーションの実際の IP アドレスと同じかを検査してください。
iSeries データベースからローカル・データベースに接続する際にエラー・メッセージが出された場合、以下のステップに従って接続エラーの原因を判別してください。
データウェアハウスセンターのトレース・ファイルの多くは、iSeries 統合ファイル・システムに保管されています。これらのトレース・ファイルを編集するには、FTP を使用してワークステーションにファイルを移動させるか、または iSeries クライアント・アクセスを使用することができます。
クライアント・アクセス (iSeries 版) でファイルを表示するには、以下のようにします。
表6 〜 9 に、メッセージ・キュー・プロセスで作成されるトレース・ファイルについての情報を示します。
エージェント・トレース | ウェアハウス・サーバーからエージェントに渡される情報、および完了したコマンド・ステップをすべて表示します。 |
ロケーション | /QIBM/UserData/IWH ディレクトリー (IFS のルート)。 |
ファイル名 | AGNTxxxxx.LOG。ここで xxxxx はエージェント・インスタンスのプロセス ID です。 |
使用時 | エラー・メッセージに問題を解決するために十分な情報がない場合は、まずこのトレース・ファイルを調べてください。 |
使用法 | トレースはテキスト・エディターで表示できます。スクロールダウンして、失敗したオペレーションを見つけます。そのオペレーションについてウェアハウス・サーバーが送信したパラメーターが、失敗したオペレーションを含む行の下に表示されます。ほとんどの問題を解決するのにこの情報が役立ちます。 |
メッセージ・キュー・トレース | メッセージ・キュー・プロセスの関数をトレースし、受け取ったメッセージ・バッファーのダンプをコード・ページ変換の前後に印刷します。 |
ロケーション | /QIBM/UserData/IWH ディレクトリー (IFS のルート)。 |
ファイル名 | VWxxxxxx.IWH4MSGQ。ここで xxxxxx は、メッセージ・キュー・プロセスを開始したプロセスのプロセス ID です。 |
使用時 | エラー・コード情報だけでは診断できない通信の問題の場合に役立ちます。「取り消し (Cancel)」および「行カウントの取得 (Get Row Count)」の問題にも使用できます。 |
使用法 | このトレースは、エージェントまたはデーモンのいずれかに対してトレースがオンになったときに自動的に開始されます。このトレースを読み取るには、Microsoft Wordpad や他のユニコード対応エディターを使用してください。このトレースには印刷不能文字が含まれている可能性があり、Notepad のような基本テキスト・エディターでは正しく書式が設定されません。 |
メッセージ・キュー・プロセスにより、追加のトレース・ファイルが作成される場合があります。 msgq_err.log ファイルは累積トレース・ファイルで、回復不能のすべてのメッセージ・キュー・エラーを記録します。このファイルは、通常のメッセージ・キュー・トレース・ファイルに記録できない、メッセージ・キュー・プロセスの終了をトラックするために役立ちます。
デーモン・トレース | デーモンが正常に完了できなかった操作を記録する、累積トレースです。 |
ロケーション | /QIBM/UserData/IWH ディレクトリー (IFS のルート)。 |
ファイル名 | vwd_err.log |
使用時 | エージェントがトレースを開始する前に終了、または異常終了した場合の問題を診断するのに最も役立ちます。また、デーモン内の回復不能エラーを診断するためにも役立ちます。 |
使用法 | このトレースは、デーモンが処理中に何らかのエラー条件を検出したときに自動的に追加されます。 |
デーモンのメッセージ・キュー・トレースは、STRVWD コマンドを使用するのではなく、コマンド行から 1 つのパラメーターを指定してデーモン・プロセスを開始することによっても活動化できます。たとえば、以下のようにします。
CALL PGM(QIWH/IWHVWD) PARM('1')
この付加的なトレースは、デーモン自体の内部に問題のあることが疑われる場合に役立ちます。
表 9. サンプル・データウェアハウスセンター・プログラム・トレース
サンプル・ウェアハウス・プログラム・トレース | サンプル iSeries ウェアハウス・プログラムが実行中の、主要なイベントの関数トレースです。 |
ロケーション | /QIBM/UserData/IWH |
ファイル名 | VWxxxxxx.yyyyyyyy。ここで xxxxxx はウェアハウス・プログラムが開始されたプロセス ID で、yyyyyyyy はウェアハウス・プログラムの名前です。ウェアハウス・プログラムがエージェント・プロセスによって開始される場合、エージェント・プロセスと同じジョブ内で実行されるので、同じプロセス ID が共用されます。メッセージ・キュー・トレース、エージェント・トレース、およびウェアハウス・プログラム・トレースは同じ xxxxxx の値を共用します。 |
使用時 | このトレースを使用して、ゼロでない戻りコードの原因を判別します。 |
iSeries 並列ロード・ユーティリティー (フラット・ファイル・ウェアハウス・ソースに使用される) を使用するには、表 5 にリストされている PTF を iSeries ウェアハウス・エージェント・サイトに適用してください。サンプル・ウェアハウス・プログラム VWPLOADI または VWPLOADR を使用する予定の場合、これらの PTF を適用する必要があります。
以下のステップを使用して、ローカル・ファイルをローカル表にロードするプロセスを定義します。このプロセスは、ウェアハウス・プログラム AS/400 Load with Replace を開始し、以下のようにローカル表にローカル・ファイルをロードします。
制約事項: フラット・ファイルに対しては SQL ステートメントは使用できません。 SQL は、iSeries ウェアハウス・エージェント バージョン 7 ではサポートされていません。また、iSeries ウェアハウス・エージェントを使用して、フラット・ファイルのサンプル内容を使用することはできません。データは必ず AS/400 Load with Replace ウェアハウス・プログラムを使用して転送してください。
ウェアハウス・ステップを作成すると、2 つのウェアハウス・プログラムが開始されます。最初のプログラムである Copy File using FTP は、リモート・システムからローカル iSeries システムにファイルをコピーします。ファイルが正常にコピーされた後、2 番目のプログラム、iSeries Load with Replace が、転送されたファイルをローカル表にロードします。ターゲット表はエージェント・サイト・ワークステーション上になければなりません。
FTP を使用してウェアハウス・ステップを定義し、テキスト・ファイルを入手してローカル表にロードするには、以下のステップに従います。
制約事項: フラット・ファイルに対しては SQL ステートメントは使用できません。 SQL は、iSeries ウェアハウス・エージェント バージョン 7 ではサポートされていません。
この 2 つの結合したステップにより、リモート・フラット・ファイルを iSeries 上のローカル・ファイルにロードし、その後データを表にロードすることができます。
ウェアハウス・トランスフォーマーは Java ストアード・プロシージャーです。ウェアハウスおよび統計トランスフォーマーは、iSeries V4R5 以上でサポートされています。ウェアハウス・トランスフォーマーを使用する前に、Java ストアード・プロシージャーを IWH コレクション内に作成する必要があります。 iSeries コマンド行から WRKLIB IWH を入力し、IWH コレクションが、ご使用の iSeries システムに存在しているかどうかを検査します。 IWH コレクションが存在しない場合、iSeries SQL 対話式画面で CREATE COLLECTION IWH SQL ステートメントを使用して、コレクション IWH を作成します。
また、iSeries ウェアハウス・エージェントでトランスフォーマーを使用する前には、以下のステップも完了する必要があります。
Java Development Kit (JDK) 1.1.8 およびすべての JVM オプションが iSeries 上にインストールされていることを検査してください。
環境を設定するには、以下のステップに従ってください。
iSeries IFS の QIBM/PRODDATA/IWH/SQLLIB/FUNCTION/COM/IBM/DATA/XF ディレクトリーに提供されている、DROPXFSQL および CREATEXFSQL という 2 つの SQL スクリプトを実行します。
クライアント・アクセスがインストールされている場合は、以下のステップに従って SQL スクリプトを実行してください。
システムにクライアント・アクセスがインストールされていない場合は、以下のステップに従って SQL スクリプトを実行してください。
db2 -tvf dropxfsql db2 -tvf createxfsql
トランスフォーマー用にターゲット・データベースを使用可能にするには、以下のステップに従ってください。
localdbname を iSeries ローカル・データベース名に置き換えてください。データベース名を見つけるには、iSeries コマンド行から WRKRDBDIRE コマンドを入力してください。
これで、ウェアハウスおよび統計トランスフォーマーを使用することができます。
IWH.LOGTABLE ファイルには、トラブルシューティング情報およびトランスフォーマーが生成する追加のトレースが入ります。 SQL 関数 JULIAN_DAY は、OS/400 V4R5 ではサポートされていません。この非互換性のため、Generate Period Table トランスフォーマーは Julian_day 列には何も出力を生成しません。