DB2用のデータシップの構成
要件
• DB2データベースで、TDVデータシップに参加するデータベースのDB2 SYSTOOLSスキーマ内にEXPLAINプランテーブルを作成する必要があります。
制限
この機能は以下に対しては無効です。
• バイナリーおよびBLOBデータタイプ
• Kerberos実装
データシップおよびDB2一時テーブルについて
DB2データベースがTDVデータシップ操作のターゲットである場合は、データを一時テーブルに送信できます。[Use global temporary space for temporary tables(グローバル一時領域を一時テーブルに使用)]オプションは、DB2にグローバル一時テーブルを作成し、データシップクエリーの完了後にデータとテーブルの構造を削除します。
一時テーブルは、DB2セッションスキーマの下で具体化されます。一時テーブルが作成されるデータベースまたはスキーマに対するCREATE TABLE権限が必要です。スキーマ名は、一時テーブルを作成するためのDDLでは使用されません。テーブル構造が共有データディクショナリーに保存され、TDVがデータを挿入すると、テーブルがセッションスキーマに作成され、データがロードされます。
TDVが一時テーブルを削除すると、セッションに関連付けられたインスタンスと共有テーブル構造が削除されます。
データシップに参加する可能性があるDB2データソースを構成するには
1.DB2システムにログインし、DB2コマンドプロセッサーdb2を開始してシステムプロシージャを呼び出します。
$ db2
2.TDVデータシップに参加するデータベースのDB2 SYSTOOLSスキーマ内でテーブルを作成および変更する権限を持つユーザーとして接続します。例:
db2 => CONNECT TO <db-name> USER '<db-user>' USING '<db-pass>'
3.次のような構文を使用して、EXPLAINテーブルがSYSTOOLSスキーマ内にすでに存在するかどうかを判別します。
db2 => SELECT NAME, CREATOR, TYPE
FROM SYSIBM.SYSTABLES
WHERE TYPE = 'T' AND (NAME LIKE 'ADVISE\_%' ESCAPE '\' OR NAME LIKE 'EXPLAIN\_%' ESCAPE '\')
これらのテーブルが存在する場合は、このセクションの残りの手順をスキップしてください。
4.EXPLAINテーブルが存在しない場合は、次のような構文を使用してテーブルを作成します。
db2 => CALL SYSPROC.SYSINSTALLOBJECTS('EXPLAIN', 'C', CAST (NULL AS VARCHAR(128)),
CAST (NULL AS VARCHAR(128)))
5.コマンドで次のように表示されることを確認します。
Return Status = 0
6.次の構文を使用して、テーブルが作成されたことを確認します。
db2 => list tables for schema systools