ウェアハウス・マネージャー インストールの手引き

AS/400 (iSeries) ウェアハウス・エージェントのインストール

この節には以下の情報が含まれています。

iSeries ウェアハウス・エージェントをインストールする前に

ウェアハウス・エージェントをインストールする前に、ウェアハウスのセキュリティーと特権を定義しなければなりません。ウェアハウスのセキュリティーの定義については、データウェアハウスセンター 管理の手引き およびデータウェアハウスセンターのオンライン・ヘルプを参照してください。また、インストールされている iSeries ウェアハウス・エージェントもすべて除去してください。

iSeries ウェアハウス・エージェント・コードを除去するには、iSeries コマンド・プロンプトで、コマンド DLTLICPGM LICPGM(PRODUCT ID) を入力します。ここで PRODUCT ID は、インストールされている iSeries または AS/400 バージョンです。

このコマンドは以下の処置を行います。

ソフトウェア要件

この節には、iSeries ウェアハウス・エージェントをインストールするために必要なソフトウェア、権限、および PTF (プログラム一時修正) についての情報が含まれます。

ソフトウェア要件

権限の要件

コレクションおよび表の作成、取り込みはどのユーザー・クラスも使用できます。

PTF 要件

表 5 では、ご使用の AS/400 バージョンに必須の PTF を示しています。


表 5. 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 システムに iSeries ウェアハウス・エージェントをインストールする際の考慮事項

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 ウェアハウス・エージェントのインストール

iSeries ウェアハウス・エージェントをインストールするには、以下の手順に従ってください。

  1. DB2 ウェアハウス・マネージャーの CD-ROM を iSeries CD-ROM ドライブに挿入します。
  2. iSeries にログオンします。
  3. iSeries コマンド・プロンプトで、次のように入力します。

    RSTLICPGM LICPGM(5724B08) DEV(OPT01)
     
    
    ここで、OPT01 は、CD-ROM ドライブです。 インストール処理により、/QIBM/UserData/IWH および /QIBM/ProdData/IWH サブディレクトリーが作成されます。 トレースは、/QIBM/UserData/IWH サブディレクトリーに書き込まれます。
  4. iSeries ウェアハウス・エージェントが正常にインストールされたことを検査するには、「ライセンス・プログラムでの作業 (Work with Licensed Programs)」画面を使用してください。 iSeries コマンド・プロンプトから GO LICPGM を入力して、オプション 10 「ライセンス交付を受けたインストール済みプログラムを表示 (Display Licensed Installed Programs)」を使用します。

インストール後の考慮事項

ウェアハウス・エージェントは現在、すべてのステップの関数を単一の作業単位 (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 ウェアハウス・マネージャー) での問題を診断して解決するには、以下のステップに従ってください。

  1. DB2 ウェアハウス・マネージャー・オンライン・メッセージ ブックでエラー・メッセージを調べます。
  2. 該当する DB2 ウェアハウス・マネージャー・トレースを見ます。
  3. iSeries ジョブ・ログを参照します。

関係のあるエラー・メッセージを見つけたら、DB2 ウェアハウス・マネージャー・オンライン・メッセージ ブックを使用して、問題の原因およびそれを修正するために必要な一連の処置を判別します。 IBM ソフトウェア・サポートに問題を報告するときには、該当するエラー・メッセージについてブックで提供されている情報を最初に知らせてください。

RC 2 エラー・フィールド

RC2 エラー・フィールドは、多目的のフィールドで、異なるコンテキストで異なる意味を持ちます。これは、1 次エラー (RC 1) に応じて、データウェアハウスセンターのエラー・コード (VW で始まる)、システム・コード、またはアプリケーションの戻りコードを保管します。

TCP/IP 接続エラー

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 ウェアハウス・エージェントに接続されているか、またその逆方向も接続されているかを確認してください。

サーバーとエージェントとの間の通信が双方向であることを検査するには、以下のようにします。

  1. TCP/IP ホスト名を PING します。ご使用のホスト名は、iSeries ウェアハウス・エージェント・サイト定義の Parameters ページで指定されています。これは、ご使用のウェアハウス・サーバー・ワークステーションから見つけることができます。

    PING が失敗した場合は、以下のことを検査してください。

  2. iSeries コマンド行から、ウェアハウス・サーバー・ワークステーションの完全修飾 TCP/IP ホスト名を PING します。完全修飾名 (hostname.domain) を使用する必要があります。たとえば、yourmachine.yourcompany.com。完全修飾ホスト名は、サーバーがエージェントに渡す戻りアドレスです。

    PING が失敗した場合は、以下のことを検査してください。

PING が両方とも成功した場合、PING によって戻された IP アドレスの数値が、接続を試行しているワークステーションの実際の IP アドレスと同じかを検査してください。

iSeries データベースからローカル・データベースに接続する際のエラー

iSeries データベースからローカル・データベースに接続する際にエラー・メッセージが出された場合、以下のステップに従って接続エラーの原因を判別してください。

  1. ローカル・データベースを iSeries の RDBDIRE に追加します。必ず正しいポート番号を使用してください。正しいポート番号を見つけるには、C:\WINNT\system32\drivers\etc ディレクトリーに移動し、「サービス (Services)」フォルダーを開きます。 DB2 インスタンス用に定義されているポートを探します。
  2. ご使用の iSeries データベースがクライアント構成アシスタント内にあるかを検査します。ない場合は、それを追加してください。
  3. 接続を検査するために、対話式 SQL アシスタントを開き、正しいユーザー名とパスワードを使用してローカル・データベースへの接続を試行します。

データウェアハウスセンター・トレース・ファイル

データウェアハウスセンターのトレース・ファイルの多くは、iSeries 統合ファイル・システムに保管されています。これらのトレース・ファイルを編集するには、FTP を使用してワークステーションにファイルを移動させるか、または iSeries クライアント・アクセスを使用することができます。

クライアント・アクセス (iSeries 版) でファイルを表示するには、以下のようにします。

  1. クライアント・アクセス操作ナビゲーターに、ご使用のシステム接続を追加します。
  2. システム名を拡張します。
  3. 「ファイル・システム (File Systems)」ツリーを展開します。
  4. 「統合ファイル・システム (Integrated File System)」 上で右クリックし、「プロパティー (Properties)」をクリックします。すべてのファイル拡張子を選択し (たとえば .log、.iwh4msgq、.trc)、「追加 (Add)」をクリックします。
  5. 「了解 (OK)」をクリックします。

表6 〜 9 に、メッセージ・キュー・プロセスで作成されるトレース・ファイルについての情報を示します。


表 6. エージェント・トレース・ファイル
エージェント・トレース ウェアハウス・サーバーからエージェントに渡される情報、および完了したコマンド・ステップをすべて表示します。
ロケーション /QIBM/UserData/IWH ディレクトリー (IFS のルート)。
ファイル名 AGNTxxxxx.LOG。ここで xxxxx はエージェント・インスタンスのプロセス ID です。
使用時 エラー・メッセージに問題を解決するために十分な情報がない場合は、まずこのトレース・ファイルを調べてください。
使用法 トレースはテキスト・エディターで表示できます。スクロールダウンして、失敗したオペレーションを見つけます。そのオペレーションについてウェアハウス・サーバーが送信したパラメーターが、失敗したオペレーションを含む行の下に表示されます。ほとんどの問題を解決するのにこの情報が役立ちます。


表 7. メッセージ・キュー・トレース
メッセージ・キュー・トレース メッセージ・キュー・プロセスの関数をトレースし、受け取ったメッセージ・バッファーのダンプをコード・ページ変換の前後に印刷します。
ロケーション /QIBM/UserData/IWH ディレクトリー (IFS のルート)。
ファイル名 VWxxxxxx.IWH4MSGQ。ここで xxxxxx は、メッセージ・キュー・プロセスを開始したプロセスのプロセス ID です。
使用時 エラー・コード情報だけでは診断できない通信の問題の場合に役立ちます。「取り消し (Cancel)」および「行カウントの取得 (Get Row Count)」の問題にも使用できます。
使用法 このトレースは、エージェントまたはデーモンのいずれかに対してトレースがオンになったときに自動的に開始されます。このトレースを読み取るには、Microsoft Wordpad や他のユニコード対応エディターを使用してください。このトレースには印刷不能文字が含まれている可能性があり、Notepad のような基本テキスト・エディターでは正しく書式が設定されません。

メッセージ・キュー・プロセスにより、追加のトレース・ファイルが作成される場合があります。 msgq_err.log ファイルは累積トレース・ファイルで、回復不能のすべてのメッセージ・キュー・エラーを記録します。このファイルは、通常のメッセージ・キュー・トレース・ファイルに記録できない、メッセージ・キュー・プロセスの終了をトラックするために役立ちます。


表 8. デーモン・トレース
デーモン・トレース デーモンが正常に完了できなかった操作を記録する、累積トレースです。
ロケーション /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 システム上のフラット・ファイルでの作業

iSeries 並列ロード・ユーティリティー (フラット・ファイル・ウェアハウス・ソースに使用される) を使用するには、表 5 にリストされている PTF を iSeries ウェアハウス・エージェント・サイトに適用してください。サンプル・ウェアハウス・プログラム VWPLOADI または VWPLOADR を使用する予定の場合、これらの PTF を適用する必要があります。

以下のステップを使用して、ローカル・ファイルをローカル表にロードするプロセスを定義します。このプロセスは、ウェアハウス・プログラム AS/400 Load with Replace を開始し、以下のようにローカル表にローカル・ファイルをロードします。

  1. ソース・ファイルに対してフラット・ファイル・ウェアハウス・ソースを定義します。 「ファイル名 (File name)」 フィールドに、完全修飾ファイル名を入力します (命名規則については、iSeries Load with Replace の資料を参照)。
  2. ウェアハウス提供の AS/400 Load with Replace プログラムでステップを作成します。
  3. フラット・ファイル・ソースを選択し、ソース・ファイルをステップに追加します。

    制約事項: フラット・ファイルに対しては SQL ステートメントは使用できません。 SQL は、iSeries ウェアハウス・エージェント バージョン 7 ではサポートされていません。また、iSeries ウェアハウス・エージェントを使用して、フラット・ファイルのサンプル内容を使用することはできません。データは必ず AS/400 Load with Replace ウェアハウス・プログラムを使用して転送してください。

  4. ウェアハウス・ターゲットからターゲット表を選択し、ステップと接続します。
  5. ステップをテスト・モード用にプロモートして実行します。これで、フラット・ファイルからのすべてのソース・データがターゲット表に入ります。

FTP を使用したウェアハウス・ステップの定義、および入手したテキスト・ファイルのローカル表へのロード

ウェアハウス・ステップを作成すると、2 つのウェアハウス・プログラムが開始されます。最初のプログラムである Copy File using FTP は、リモート・システムからローカル iSeries システムにファイルをコピーします。ファイルが正常にコピーされた後、2 番目のプログラム、iSeries Load with Replace が、転送されたファイルをローカル表にロードします。ターゲット表はエージェント・サイト・ワークステーション上になければなりません。

FTP を使用してウェアハウス・ステップを定義し、テキスト・ファイルを入手してローカル表にロードするには、以下のステップに従います。

  1. ソース・ファイルに対してリモート・フラット・ファイルを定義します。「ファイル (Files)」ページで、「拡張機能 (Advanced)」をクリックし、ホスト名、ユーザー ID、およびパスワードを指定します。

    制約事項: フラット・ファイルに対しては SQL ステートメントは使用できません。 SQL は、iSeries ウェアハウス・エージェント バージョン 7 ではサポートされていません。

  2. iSeries 上でローカル・フラット・ファイル・ターゲットを定義します。
  3. ウェアハウスの「FTP を使用したファイルのコピー (Copy File using FTP)」プログラムを使用して、ステップを作成します。
  4. リモート・ソースおよびローカル・ターゲットにステップを接続します。
  5. このステップを AS/400 Load with Replace ステップにリンクさせます。
  6. ローカル・ターゲット・ファイルを AS/400 Load with Replace ステップに対するソースとして接続します。
  7. ローカル・ターゲット表をステップに接続します。

この 2 つの結合したステップにより、リモート・フラット・ファイルを iSeries 上のローカル・ファイルにロードし、その後データを表にロードすることができます。

iSeries ウェアハウス・エージェントでトランスフォーマーを使用する前に

ウェアハウス・トランスフォーマーは Java ストアード・プロシージャーです。ウェアハウスおよび統計トランスフォーマーは、iSeries V4R5 以上でサポートされています。ウェアハウス・トランスフォーマーを使用する前に、Java ストアード・プロシージャーを IWH コレクション内に作成する必要があります。 iSeries コマンド行から WRKLIB IWH を入力し、IWH コレクションが、ご使用の iSeries システムに存在しているかどうかを検査します。 IWH コレクションが存在しない場合、iSeries SQL 対話式画面で CREATE COLLECTION IWH SQL ステートメントを使用して、コレクション IWH を作成します。

また、iSeries ウェアハウス・エージェントでトランスフォーマーを使用する前には、以下のステップも完了する必要があります。

  1. 環境を設定します。
  2. ストアード・プロシージャーを登録します。
  3. トランスフォーマー用のターゲット・データベースを使用可能にします。

環境の設定

Java Development Kit (JDK) 1.1.8 およびすべての JVM オプションが iSeries 上にインストールされていることを検査してください。

環境を設定するには、以下のステップに従ってください。

  1. iSeries コマンド行に WRKENVVAR を入力し、CLASSPATH および PATH が適切にセットアップされていることを検査します。
  2. XF.PROPERTIES ファイルを、ローカル SQLLIB/FUNCTION DB2 ディレクトリーから、iSeries 上の QIBM/USERDATA/OS400/SQLLIB/FUNCTION IFS ディレクトリーにコピーします。

ストアード・プロシージャーの登録

iSeries IFS の QIBM/PRODDATA/IWH/SQLLIB/FUNCTION/COM/IBM/DATA/XF ディレクトリーに提供されている、DROPXFSQL および CREATEXFSQL という 2 つの SQL スクリプトを実行します。

クライアント・アクセスがインストールされている場合は、以下のステップに従って SQL スクリプトを実行してください。

  1. Windows エクスプローラを使用して、iSeries IFS 内の QIBM ディレクトリーにネットワーク・ドライブをマップします。
  2. クライアント・アクセス操作ナビゲーターを開始し、「マイ・コネクション (My Connections)」にリストされている、ご使用のシステム名を展開します。
  3. 「データベース (Database)」を右クリックし、「SQL スクリプトの実行 (Run SQL Scripts)」をクリックします。「SQL スクリプトの実行 (Run SQL Scripts)」ウィンドウがオープンします。
  4. QIBM ディレクトリーからスクリプト・ファイルを開き、DROPXFSQL コマンドを発行します。このコマンドは、すでに IWH コレクションに登録されているプロシージャーをすべて除去します。
  5. iSeries コマンド行で、CREATEXFSQL を入力し、IWH コレクションにすべてのストアード・プロシージャーを登録します。

システムにクライアント・アクセスがインストールされていない場合は、以下のステップに従って SQL スクリプトを実行してください。

  1. FTP を使用して、2 つのスクリプト・ファイル DROPXFSQL および CREATEXFSQL を、iSeries IFS からご使用のワークステーションに移動します。
  2. DB2 クライアント構成アシスタントを使用して、iSeries データベースのカタログをワークステーションに作成します。
  3. DB2 コマンド・ウィンドウを開き、iSeries ユーザー ID およびパスワードを使用して iSeries データベースに接続します。
  4. 以下のコマンドを入力してスクリプトを実行します。
    db2 -tvf dropxfsql
    db2 -tvf createxfsql
    

トランスフォーマー用にターゲット・データベースを使用可能にする

トランスフォーマー用にターゲット・データベースを使用可能にするには、以下のステップに従ってください。

  1. ワークステーション上の「DB2 コマンド・センター (DB2 Command Center)」またはコマンド・ウィンドウを開きます。
  2. データウェアハウスセンター・コントロール・データベースに接続します。
  3. 次の 2 つの SQL ステートメントを実行します。 UPDATE IWH.INFORESOURCE SET TRANSFENCED = 1 WHERE DBNAME = localdbname および UPDATE IWH.INFORESOURCE SET TRANSREGISTERED = 1 WHERE DBNAME = localdbname

localdbname を iSeries ローカル・データベース名に置き換えてください。データベース名を見つけるには、iSeries コマンド行から WRKRDBDIRE コマンドを入力してください。

これで、ウェアハウスおよび統計トランスフォーマーを使用することができます。

IWH.LOGTABLE ファイルには、トラブルシューティング情報およびトランスフォーマーが生成する追加のトレースが入ります。 SQL 関数 JULIAN_DAY は、OS/400 V4R5 ではサポートされていません。この非互換性のため、Generate Period Table トランスフォーマーは Julian_day 列には何も出力を生成しません。


[ ページのトップ | 前ページ | 次ページ ]