DB2(R) Query Patroller(TM) リリース情報


目次

Query Patroller バージョン 8 のインストール前提条件

Query Patroller をインストールして使用するための DYN_QUERY_MGMT の設定

Query Patroller バージョン 7 からの移行に関する追加の注意事項

位置指定された UPDATE または DELETE ステートメントを含む履歴データの生成に関する制約事項

Query Patroller を開始するための前提条件の廃止 (AIX)

DB2 管理プログラムを Query Patroller とともに使用する

  • Query Patroller のプロセスに対する DB2 管理プログラムのアクションの影響
  • 同じ実行依頼者アプリケーションに対して Query Patroller と DB2 管理プログラムを実行する
  • Query Patroller のコマンド行ヘルプの修正

    Query Patroller の照会リカバリー

    Query Patroller サーバーのインストール

    Query Patroller を DB2 接続コンセントレーターとともに使用する

    「結果の表示」ダイアログに表示されない DBCLOB オブジェクト

    各データベースに対して qpsetup コマンドを実行する必要がある

    Query Patroller プロファイル ID では大文字小文字を区別する

    DBADM 権限を持つユーザーにはオペレーター・プロファイルが必要ない

    多数の照会を表示する際にはフィルターを適用する

    LIST QUERIES コマンドの説明の訂正

    qpstart コマンドおよび qpsetup コマンドの説明の訂正

    履歴データの生成に関する勧告事項

    履歴データ生成プログラムの停止

    バックグラウンドで実行する照会によるロードの実行

    Query Controller または Query Patroller Center のメモリー不足エラー

    特記事項

  • 商標

  • Query Patroller バージョン 8 のインストール前提条件

    Query Patroller バージョン 8 を DB2 Universal Database Enterprise Server Edition バージョン 8.1.2 にインストールする場合は、FixPak 2+ もインストール済でなければなりません。つまり、Query Patroller をインストールする前に、 DB2 バージョン 8.1.2 (FixPak 2 とも呼ばれています。) と FixPak 2+ をインストールしておく必要があるということです。

    これより後のバージョンの DB2 Enterprise Server Edition がインストールされていれば、この追加の FixPak は必要ありません。

    DB2 バージョン 8.1.2 (Fixpak 2) および FixPak 2+ は両方とも、「DB2 Technical Support」のダウンロード・ページ (http://www-3.ibm.com/cgi-bin/db2www/data/db2/udb/winos2unix/support/download.d2w/report) から入手できます。

    DB2 Enterprise Server Edition バージョン 8.1.2 に FixPak 2+ をインストールしないで Query Patroller バージョン 8 をインストールしようとすると、製品をインストールするには DB2 Universal Database のレベルが正しくないことを示すエラー・メッセージが出ます。


    Query Patroller をインストールして使用するための DYN_QUERY_MGMT の設定

    Query Patroller が照会をインターセプトして管理するためには、 DYN_QUERY_MGMT パラメーターが ENABLE に設定されていなければなりません。しかし、Query Patroller をインストールする際には、インストーラーが実行する内部照会がインターセプトされないようにするために、あらかじめこのパラメーターを DISABLE に設定しておく必要があります。

    デフォルトではこのパラメーターは DISABLE に設定されます。


    Query Patroller バージョン 7 からの移行に関する追加の注意事項

    管理者プロファイルを Query Patroller バージョン 7 から Query Patroller バージョン 8 に移行する際に、オペレーター・プロファイルが作成されます。このプロファイルには、すべての Query Patroller 特権の最大権限レベルが自動的に付与されます。ただし、移行済みプロファイルには Query Patroller データベースに対する DBADM 権限は自動的には付与されません。これは、移行済み管理者プロファイルには履歴データを生成したり、オペレーター・プロファイルを作成、更新、または除去する特権がないという意味です。この移行済みプロファイルを持つユーザー (複数も可) がこれらの作業を実行する必要がある場合、移行後に DBADM 権限をユーザーに対して手動で付与しなければなりません。


    位置指定された UPDATE または DELETE ステートメントを含む履歴データの生成に関する制約事項

    位置指定された UPDATE または DELETE ステートメントを含む照会の履歴データは生成できません。


    Query Patroller を開始するための前提条件の廃止 (AIX)

    Query Patroller の資料では、 Query Patroller を AIX オペレーティング・システムで開始するために、以下の前提条件が必要であることを記述しています。

    この従属関係は廃止されました。また上記の項目は Query Patroller を AIX オペレーティング・システムで開始するための前提条件とはなっていません。


    DB2 管理プログラムを Query Patroller とともに使用する

    Query Patroller の主な機能は、データベース管理者がデータベースに対する照会を管理しやすくすることです。 DB2 管理プログラムの主な機能は、管理者がデータベースに対して実行するアプリケーションを管理しやすくすることです。

    DB2 管理プログラムでは、ロックの数、アイドル時間の長さ、およびアプリケーションが使用する CPU の量などのリソースに対して制限を加えることができます。 DB2 管理プログラムを Query Patroller とともに使用すると、膨大な量の管理制御を提供できます。ただし、これらを効率的に使用するには、相互作用について理解している必要があります。

    Query Patroller は、データベースに対して実行するコラボレーション・アプリケーションのシステムです。管理プログラムはこれらのアプリケーションに対して、他のアプリケーションに対する場合と同様に作用できるため、管理プログラム構成ファイル内の規則を指定する際に従うべきいくつかの指針があります。

    特に、Query Patroller によって使用されるプロセスを管理プログラム構成ファイルの規則に含めないようにすることが重要です。 Query Patroller は、Windows の場合は javaw.exe、java.exe、db2fmp.exe、および qp.exe を、また UNIX の場合は java、db2fmp、および qp を使用して、操作を実行します。管理プログラムが Query Patroller に対して作用しないようにするには、これらのプロセスを管理プログラム構成ファイルに含めないでください。また、デフォルトですべてのアプリケーションをインターセプトする一般規則を設けていないことを確認する必要があります。その代わりに、アプリケーションが DB2 管理プログラムによってインターセプトされるように、アプリケーションのリストを明示的に含めてください。

    注:
    Query Patroller のプロセスに対する作用についての規則に加えて、管理プログラム構成ファイルには、Query Patroller がインターセプトされるようにする他の規則が含まれている場合があります。

    Query Patroller によって使用されるプロセスが DB2 管理プログラムによってインターセプトされないようにできない場合、管理プログラム構成ファイルの規則を作成する際に以下の指針に従う必要があります。


    Query Patroller のプロセスに対する DB2 管理プログラムのアクションの影響

    優先順位またはスケジュール・アクションが Query Patroller のプロセスに適用される場合、 Query Patroller はシステム・リソースを削減して実行を継続します。ただし、強制アクションが Query Patroller のプロセスに適用される場合、プロセスを終了することができます。強制アクションは、SQL1224N 戻りコードを返して Query Patroller のプロセスを正常に終了します。あるいは、強制が実行される前に db2fmp プロセスが開始された場合には、アプリケーション・エラーになるか、または DARI プロセスの異常終了 (SQL1131N) になることがあります。 Query Patroller は、開始された後、db2fmp プロセスを停止できません。 db2fmp プロセスはデータベース接続の正常な実行を求めるため、Query Patroller がデータベース接続をシャットダウンした後でも実行を完了しようとします。

    db2fmp プロセスについての詳細は、「アプリケーション開発ガイド クライアント・アプリケーションのプログラミング」を参照してください。


    同じ実行依頼者アプリケーションに対して Query Patroller と DB2 管理プログラムを実行する

    Query Patroller と DB2 管理プログラムを、同じ照会実行依頼者アプリケーションに対して使用することができます。たとえば、DB2 CLP などの実行依頼アプリケーション (Windows の場合は db2bp.exe および UNIX の場合は db2bp) は、 Query Patroller によってインターセプトされるアプリケーションとしてリストし、さらに管理プログラム構成ファイルに含めることもできます。

    Query Patroller は実行依頼時に照会をインターセプトしますが、 DB2 管理プログラムは照会実行時にアプリケーションをインターセプトします。照会の実行依頼は照会の実行前に行われるため、 Query Patroller は常に DB2 管理プログラムよりも前に照会をインターセプトします。これは、Query Patroller が照会を保留するか、またはキューに入れる場合、 DB2 管理プログラムは照会を実行依頼したアプリケーションをインターセプトする前に、照会が実行されるまで待たなければならないことを意味します。

    Query Patroller によってインターセプトされる照会は、実行依頼アプリケーションか、または qprunquery.exe (Windows の場合) および qprunquery (UNIX の場合) を呼び出した別のアプリケーションによって実行されます。実行依頼者の実行依頼設定で、実行依頼アプリケーションは照会結果が戻されるまで待ってから、アプリケーションを解放しなければならないことが指定される場合、照会を実行するのは実行依頼アプリケーションです。実行依頼アプリケーションが DB2 管理プログラム構成ファイルにリストされている場合、 DB2 管理プログラムは照会の実行時に実行依頼アプリケーションをインターセプトします。

    実行依頼者の実行依頼設定で、実行依頼アプリケーションを解放し、照会結果を結果表に送らなければならないことが指定される場合、照会は qprunquery によって実行されます。この状態では、qprunquery が DB2 管理プログラム構成ファイルに含まれている場合、 DB2 管理プログラムはアプリケーションのみをインターセプトします。


    Query Patroller のコマンド行ヘルプの修正

    Query Patroller の資料では、Query Patroller コマンドのリストを入手するには、コマンド行に "qp ?" と入力すると記述されています。これは誤りです。 Query Patroller コマンドのリストを表示するには、以下のようにデータベース名を入力する必要があります。

    qp -d db_name ?
    

    または

    qp -d db_name help
    

    注:
    Query Patroller コマンドを実行するクライアントがリモート・クライアントである場合、以下のようにユーザーおよびパスワード・オプションも入力する必要があります。
    qp -d db_name -u user_id -p password ?
    

    または

    qp -d db_name -u user_id -p password help
    

    Query Patroller の照会リカバリー

    まれな状況として、キューに入れられた照会または実行中の照会が変更されると、 Query Patroller が新規の状況を即時に記録できなくなることがあります。これは通常、異常終了状態で発生します。それは以下のいずれかです。

    Query Patroller サーバーは起動時および定期的な間隔で自動リカバリーを実行します。照会を検査して、キューに入れられた照会または実行中の照会の現行状況を調べ、状況がまだ正確であるかどうかを調査します。現行状況が正確である場合、照会は正常に処理されます。 Query Patroller サーバーが終了されて再始動された場合、 Query Patroller サーバーの内部データ構造はリストアされます。ただし、DB2 サーバーが終了して再始動されているか、または Query Patroller がダウンして照会の状態を更新できなくなっているために、キューに入れられた状態または実行中の状態の照会がもう存在しないことがわかった場合、照会に対するリカバリーが実行されます。取られるリカバリー・アクションは、照会がクライアント・アプリケーションに結果を戻すか、または DB2 結果表に結果を戻すかによって異なります。


    Query Patroller サーバーのインストール

    Query Patroller サーバーをインストールする際には、以下の事柄に注意してください。


    Query Patroller を DB2 接続コンセントレーターとともに使用する

    Query Patroller が照会をキューに入れると、キューに入っている間 (照会が実行されるまで)、照会はアプリケーションをブロックします。

    DB2 接続コンセントレーターが活動化されていない場合、すべてのアプリケーションは、アプリケーションが切断されるまでデータベース接続を管理する独自のエージェントを獲得します。コンセントレーターが活動化されているときは、すべてのアプリケーションが、トランザクション境界においてアプリケーション間で切り替わるエージェントおよび接続のプールを共用することになります。これは、コンセントレーターが活動化されているときに Query Patroller が照会をキューに入れると、その照会が実行されるまでの間、コンセントレーターがこれらのエージェントと連携することを意味します。これには、使用可能エージェントのプールが減るという影響があるほか、 DB2 のパフォーマンスにも影響を及ぼします。なぜなら、アプリケーションが、エージェントのサービスを獲得できないために、接続や要求の実行を行えなくなるためです。このため、接続コンセントレーターが活動化されているときは、 Query Patroller は照会をキューに入れません。その代わりに、デフォルトでは、キューに入れるはずの照会を、 sql コード 29009、理由コード 6 で拒否します。

    キューに入れるために選択された照会が拒否されないようにするには、コンセントレーターが活動化されているときに、照会を拒否する代わりに実行することを Query Patroller に許可します。これは、UPDATE QP_SYSTEM コマンドを使用してシステム・レベルでオプション BLOCK_OPTION を設定するか、 UPDATE SUBMITTER_PROFILE コマンドを使用してユーザー・レベルでこのオプションを設定することによって行います。デフォルトでは、BLOCK_OPTION は 'reject' ('R') に設定されています。これは、コンセントレーターが活動化されると、照会はキューに入れられるのではなく拒否されることを指定します。コンセントレーターが活動化されたら Query Patroller が照会を拒否するのではなく実行するように指定するには、 BLOCK_OPTION を 'proceed' ('P') に設定します。

    たとえば、コンセントレーターが活動化されたら、Query Patroller が、他の場合には拒否される、データベース "sample" に対する照会を実行できるようにするには、以下のように BLOCK_OPTION オプション 'P' に設定します。

    qp -d sample -u userid -p password "UPDATE QP_SYSTEM USING BLOCK_OPTION 'P'"
    

    コンセントレーターが活動化されたら、Query Patroller が、他の場合には拒否される、プロファイル "STEVED" の下で実行依頼された照会を実行できるようにするには、以下のように BLOCK_OPTION オプション 'P' に設定します。

    qp -d sample -u userid -p password "UPDATE SUBMITTER_PROFILE FOR USER'STEVED' USING BLOCK_OPTION 'P'" 
    

    BLOCK_OPTION の値はデータベースの QP_SYSTEM および SUBMITTER_PROFILE 表に保管されます。

    QP_SYSTEM の BLOCK_OPTION 設定は NULL 不可です。 SUBMITTER_PROFILE の BLOCK_OPTION 設定は NULL 可能です。 QP_SYSTEM とユーザーの実行依頼者プロファイルの両方に BLOCK_OPTION が設定されている場合、そのユーザーについては実行依頼者プロファイルの値が優先されます。その他のユーザーについては、QP_SYSTEM の BLOCK_OPTION 設定が適用されます。 QP_SYSTEM の BLOCK_OPTION 設定が特定のユーザーに適用されるようにするには、そのユーザーの SUBMITTER_PROFILE の BLOCK_OPTION を NULL に設定します。


    「結果の表示」ダイアログに表示されない DBCLOB オブジェクト

    JDBC の制限により、DBCLOB オブジェクトを Query Patroller の「結果の表示」ダイアログ・ウィンドウに表示することはできません。その代わりに、 DBCLOB オブジェクトではなく空ストリングがダイアログ・ウィンドウに表示されます。この制限は Query Patroller Center にのみ適用され、 Query Patroller コマンド行には適用されません。


    各データベースに対して qpsetup コマンドを実行する必要がある

    Query Patroller とともに使用するデータベースごとに、 qpsetup コマンドを実行する必要があります。このコマンドにより、データベースごとに Query Patroller 制御データベース・オブジェクトのセットが作成されます。これには、各データベースの制御表、表に関連するビューおよびトリガー、 QP の実行に必要なユーザー定義関数およびプロシージャーがあります。制御表には、構成設定、ユーザー・プロファイル、および履歴照会データなどの情報が含まれます。詳細については、「DB2 Query Patroller: インストール、管理、使用法のガイド」または DB2 インフォメーション・センターの Query Patroller に関する情報を参照してください。


    Query Patroller プロファイル ID では大文字小文字を区別する

    Query Patroller 実行依頼者プロファイルおよびオペレーター・プロファイルの ID には大文字小文字の区別があることを認識するのは重要です。これらのプロファイル ID は DB2 許可 ID としても存在していなければなりません。これは、ユーザー ID が "TESTUSER" という実行依頼者プロファイルを作成する場合、 "TESTUSER" という DB2 許可 ID も存在しなければならないという意味です。ユーザー ID が "testuser" という実行依頼者プロファイルを作成する場合、このプロファイルは DB2 許可 ID "TESTUSER" とは関連がないため、Query Patroller では使用されません。その代わりに、"TESTUSER" ID で実行依頼された照会は、デフォルトの PUBLIC 実行依頼者プロファイルと関連があります。


    DBADM 権限を持つユーザーにはオペレーター・プロファイルが必要ない

    データベースに対して DBADM 権限を持つユーザーには、オペレーター・プロファイルを作成する必要がありません。そのようなユーザーはすでに最大レベルのオペレーター権限を持っているため、さらにオペレーター・プロファイルを追加することは重複になります。また、DBADM 権限を持つユーザーは、オペレーター・プロファイルに関連したオペレーター特権への制約にもかかわらず、すべての Query Patroller タスクを自動的に実行できるため、そのユーザーについてプロファイルを作成することは誤解を招く可能性もあります。


    多数の照会を表示する際にはフィルターを適用する

    数百の管理対象の照会または履歴照会を表示している場合、 Query Patroller Center の応答時間が大幅にスローダウンする可能性があります。この問題を軽減するには、ビューに対してフィルターを適用し、表示される照会の数を減らすことをお勧めします。クエリー・パトローラー・センターでフィルターを適用する方法の詳細については、「DB2 Query Patroller: インストール、管理、使用法のガイド」または DB2 インフォメーション・センターの Query Patroller に関する情報を参照してください。


    LIST QUERIES コマンドの説明の訂正

    Query Patroller バージョン 8 の資料にある、 LIST QUERIES コマンドの WITH STATUS パラメーターのパラメーター値の説明には誤りがあります。この資料には、値 "R" がリジェクトされたすべての照会をリストすると記されていますが、実際には、この値はすべての実行中の照会のリストを戻すことを示します。

    また、LIST QUERIES コマンドのデフォルト動作の説明にも間違いがあります。この資料には、何もパラメーターを指定せずに LIST QUERIES コマンドを入力すると、最後の 100 の照会が戻されると記されています。これは誤りです。パラメーターを指定せずに LIST QUERIES コマンドを実行した場合は、現行ユーザーに属する管理対象のすべての照会のリストが戻されます。すべての管理対象照会を表示するには、"FOR USER ALL" を指定する必要があります。


    qpstart コマンドおよび qpsetup コマンドの説明の訂正

    Query Patroller バージョン 8 の資料には、 DBADM 権限を持つユーザーが qpstart コマンドを実行できると記されています。これは誤りです。 qpstart コマンドを実行するには、 Query Patroller を実行するデータベースを含むインスタンスの所有者でなければなりません。

    また、この資料には、 DBADM 権限を持っていれば qpsetup コマンドを実行できるとも記されています。これは誤りです。データベース上で qpsetup コマンドを実行するには、 SYSADM 権限を持っていなければなりません。


    履歴データの生成に関する勧告事項

    データベースの使用率が小さい時間に、履歴データ生成プログラムを実行 (GENERATE HISTORICAL_DATA コマンドを使用) することを強くお勧めします。このようなオフピーク時間にこのコマンドを実行すれば、データベースのパフォーマンスへの影響のリスクは最小限に抑えられます。

    加えて、GENERATE HISTORICAL_DATA コマンドを定期的に実行することにより、 1 回にデータを収集する照会の数を少なくすることをお勧めします。


    履歴データ生成プログラムの停止

    履歴データ生成プログラムの実行中に、履歴データの生成を停止するには、以下のコマンドを実行します。

    generate historical_data stop
    

    これを実行すると、1 つのフラグが設定されます。このフラグは履歴データ生成プログラムの実行中、20 照会ごとに検査されるフラグです。このフラグが設定されている場合、履歴データ生成プログラムは実行を停止します。この時点までに生成された照会データは保存され、次に履歴データ生成プログラムが実行されるときには再生成されません。しかし、履歴データが最後に収集されたときを示す値 (QP_SYSTEM コントロール表の中の TIME_HIST_GENERATOR_LAST_RUN)は更新されません。


    バックグラウンドで実行する照会によるロードの実行

    照会をバックグラウンドで実行すると、照会の結果が結果表に保管されます。結果表を生成する照会は、 qprunquery というプロセスによって実行されます。このプロセスは結果表を作成し、カーソルからのロードを実行して表に照会の結果を入力します。このことは、結果表を生成する照会が、他のカーソルからのロードと同じ制約をすべて受けることを意味します。この制約について完全な説明は、 DB2 コマンド・リファレンス の中の LOAD コマンドの説明を参照してください。

    qprunquery によって実行される各ロード中、db2diag.log ファイルにエントリーが置かれます。 UNIX オペレーティング・システムの場合、 INSTANCE/db2dump ディレクトリー (INSTANCE は、 DB2 がインストールされているディレクトリー) の下のサブディレクトリーに、1 つ以上のメッセージが作成されます。 Windows の場合は、 diagpath データベース構成パラメーターで指定されたディレクトリーの下のサブディレクトリーに、1 つ以上のメッセージが作成されます。メッセージ・ファイルのサブディレクトリーの名前は、ロード操作の詳細に基づいて生成されます。以下は、生成されるメッセージ・ファイルのサブディレクトリーの名前の一例です。

    qpTbLoad_SAMPLE_349_2003-05-21-16.51.32
     
    

    ここで、

    このサブディレクトリーに含まれるメッセージ・ファイルの名前は次のようになります。

    qpTbLoad_SAMPLE_349_2003-05-21-16.51.32.MSG.*
    

    注:
    マルチパーティション・データベースの場合、 LOAD コマンドは、複数のメッセージ・ファイルを作成して、各ファイル名に異なるファイル拡張子を付加します。

    メッセージ・ファイルは、ロードが正常に完了すると削除されます。ロードが失敗した場合は、問題判別に役立てるために、メッセージ・ファイルは削除されません。

    並列に実行できる同時ロードの数には制限があります。この制限を超えると、照会は打ち切られ、qpdiag.log ファイルにエラー SQL6555 が記録されます。このエラーが出された場合は、 DB2ATLD_PORTS レジストリー変数で指定された範囲 (これが、同時に実行できる並行ロードの数を決定する) を変更することによって状況を改善できます。システムに必要なおよそのポートの数を計算するには、同時に実行する必要のあるロード (qprunquery および他のロード操作で実行されるロードを含む) の最大数を判別してください。この数に、システム内の物理パーティションあたりの論理パーティションの数を乗算します。そして、この数に 25% を加算してください。

    DB2ATLD_PORTS レジストリ変数を設定するには、以下のコマンドを実行します。

    db2set DB2ATLD_PORTS=num1:num2
    

    (num1< num2)

    Query Patroller は、50000 〜 56000 の範囲の 6000 のポートのデフォルトを使用します。 DB2ATLD_PORTS を設定すると、この値はオーバーライドされます。


    Query Controller または Query Patroller Center のメモリー不足エラー

    Query Patroller が多数の照会を管理していて、Query Controller か Query Patroller Center が実行しているときは、マシンに十分な使用可能メモリーがるにもかかわらずメモリー不足エラーを受け取ることがあります。より多くの使用可能メモリーを使用できるようにするためには、 Java ヒープ環境変数設定を、そのデフォルトのレベルより大きくすることができます。

    更新する環境変数は、QP_INIT_JAVA_HEAP_SIZE および QP_MAX_JAVA_HEAP_SIZE です。これらの変数を設定しない場合、デフォルトはそれぞれ 32 MB および 512 MB です。


    特記事項

    本書に記載の製品、サービス、または機能が日本においては提供されていない場合があります。日本で利用可能な製品、サービス、および機能については、日本 IBM の営業担当員にお尋ねください。本書で IBM 製品、プログラム、またはサービスに言及していても、その IBM 製品、プログラム、またはサービスのみが使用可能であることを意味するものではありません。これらに代えて、IBM の知的所有権を侵害することのない、機能的に同等の製品、プログラム、またはサービスを使用することができます。ただし、IBM 以外の製品とプログラムの操作またはサービスの評価および検証は、お客様の責任で行っていただきます。

    IBM は、本書に記載されている内容に関して特許権 (特許出願中のものを含む) を保有している場合があります。本書の提供は、お客様にこれらの特許権について実施権を許諾することを意味するものではありません。実施権についてのお問い合わせは、書面にて下記宛先にお送りください。
    〒106-0032
    東京都港区六本木 3-2-31
    IBM World Trade Asia Corporation
    Licensing

    以下の保証は、国または地域の法律に沿わない場合は、適用されません。IBM およびその直接または間接の子会社は、本書を特定物として現存するままの状態で提供し、商品性の保証、特定目的適合性の保証および法律上の瑕疵担保責任を含むすべての明示もしくは黙示の保証責任を負わないものとします。 国または地域によっては、法律の強行規定により、保証責任の制限が禁じられる場合、強行規定の制限を受けるものとします。

    この情報には、技術的に不適切な記述や誤植を含む場合があります。本書は定期的に見直され、必要な変更は本書の次版に組み込まれます。 IBM は予告なしに、随時、この文書に記載されている製品またはプログラムに対して、改良または変更を行うことがあります。

    本書において IBM 以外の Web サイトに言及している場合がありますが、便宜のため記載しただけであり、決してそれらの Web サイトを推奨するものではありません。それらの Web サイトにある資料は、この IBM 製品の資料の一部ではありません。それらの Web サイトは、お客様の責任でご使用ください。

    IBM は、お客様が提供するいかなる情報も、お客様に対してなんら義務も負うことのない、自ら適切と信ずる方法で、使用もしくは配布することができるものとします。

    本プログラムのライセンス保持者で、(i) 独自に作成したプログラムとその他のプログラム(本プログラムを含む)との間での情報交換、および (ii) 交換された情報の相互利用を可能にすることを目的として、本プログラムに関する情報を必要とする方は、下記に連絡してください。
    IBM Canada Limited
    Office of the Lab Director
    8200 Warden Avenue
    Markham, Ontario
    L6G 1C7
    CANADA

    本プログラムに関する上記の情報は、適切な使用条件の下で使用することができますが、有償の場合もあります。

    本書で説明されているライセンス・プログラムまたはその他のライセンス資料は、IBM 所定のプログラム契約の契約条項、IBM プログラムのご使用条件、またはそれと同等の条項に基づいて、 IBM より提供されます。

    この文書に含まれるいかなるパフォーマンス・データも、管理環境下で決定されたものです。そのため、他の操作環境で得られた結果は、異なる可能性があります。一部の測定が、開発レベルのシステムで行われた可能性がありますが、その測定値が、一般に利用可能なシステムのものと同じである保証はありません。 さらに、一部の測定値が、推定値である可能性があります。実際の結果は、異なる可能性があります。お客様は、お客様の特定の環境に適したデータを確かめる必要があります。

    IBM 以外の製品に関する情報は、その製品の供給者、出版物、もしくはその他の公に利用可能なソースから入手したものです。 IBM は、それらの製品のテストは行っておりません。したがって、他社製品に関する実行性、互換性、またはその他の要求については確証できません。 IBM 以外の製品の性能に関する質問は、それらの製品の供給者にお願いします。

    IBM の将来の方向または意向に関する記述については、予告なしに変更または撤回される場合があり、単に目標を示しているものです。

    本書には、日常の業務処理で用いられるデータや報告書の例が含まれています。より具体性を与えるために、それらの例には、個人、企業、ブランド、あるいは製品などの名前が含まれている場合があります。これらの名称はすべて架空のものであり、名称や住所が類似する企業が実在しているとしても、それは偶然にすぎません。

    著作権使用許諾:

    本書には、様々なオペレーティング・プラットフォームでのプログラミング手法を例示するサンプル・アプリケーション・プログラムがソース言語で掲載されています。 お客様は、サンプル・プログラムが書かれているオペレーティング・プラットフォームのアプリケーション・プログラミング・インターフェースに準拠したアプリケーション・プログラムの開発、使用、販売、配布を目的として、いかなる形式においても、IBM に対価を支払うことなくこれを複製し、改変し、配布することができます。 このサンプル・プログラムは、あらゆる条件下における完全なテストを経ていません。従って IBM は、これらのサンプル・プログラムについて信頼性、利便性もしくは機能性があることをほのめかしたり、保証することはできません。

    それぞれの複製物、サンプル・プログラムのいかなる部分、またはすべての派生した創作物には、次のように、著作権表示を入れていただく必要があります。

    (c) (お客様の会社名) (西暦年). このコードの一部は、IBM Corp. のサンプル・プログラムから取られています。 (c) Copyright IBM Corp. _年を入れる_. All rights reserved.


    商標

    以下は、IBM Corporation の商標です。

    ACF/VTAM
    AISPO
    AIX
    AIXwindows
    AnyNet
    APPN
    AS/400
    BookManager
    C Set++
    C/370
    CICS
    Database 2
    DataHub
    DataJoiner
    DataPropagator
    DataRefresher
    DB2
    DB2 Connect
    DB2 Extenders
    DB2 OLAP Server
    DB2 Query Patroller
    DB2 Universal Database
    Distributed Relational
    Database Architecture
    DRDA
    eServer
    Extended Services
    FFST
    First Failure Support Technology
    IBM
    IMS
    IMS/ESA
    iSeries
    LAN Distance
    MVS
    MVS/ESA
    MVS/XA
    Net.Data
    NetView
    OS/390
    OS/400
    PowerPC
    pSeries
    QBIC
    QMF
    RACF
    RISC System/6000
    RS/6000
    S/370
    SP
    SQL/400
    SQL/DS
    System/370
    System/390
    SystemView
    Tivoli
    VisualAge
    VM/ESA
    VSE/ESA
    VTAM
    WebExplorer
    WebSphere
    WIN-OS/2
    z/OS
    zSeries

    以下は、他社の商標または登録商標です。

    Microsoft、Windows、Windows NT および Windows ロゴは、Microsoft Corporation の米国およびその他の国における商標です。

    Intel および Pentium は Intel Corporation の米国およびその他の国における商標です。

    Java およびすべての Java 関連の商標およびロゴは、Sun Microsystems, Inc. の米国およびその他の国における商標または登録商標です。

    UNIX は、The Open Group がライセンスしている米国およびその他の国における登録商標です。

    他の会社名、製品名およびサービス名などはそれぞれ各社の商標または登録商標です。