DB2 のデータ シップの構成

要件

DB2 データベースには、TDV データ シップに参加するデータベースの DB2 SYSTOOLS スキーマ内に作成された EXPLAIN プラン テーブルが必要です。

制限事項

この機能は以下に対しては無効です。

バイナリおよび BLOB データ タイプ
Kerberos の実装

データシップおよび DB2一時テーブルについて

DB2 データベースが TDV データ シップオペレーションのターゲットである場合、データを一時テーブルにシップできます。[一時テーブルにグローバル一時スペースを使用する] オプションは、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. 次のような構文を使用して、SYSTOOLS スキーマに EXPLAIN 表がすでに存在するかどうかを判別します。
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