DB2 のデータ シップの構成
要件
|
•
|
DB2 データベースには、TDV データ シップに参加するデータベースの DB2 SYSTOOLS スキーマ内に作成された EXPLAIN プラン テーブルが必要です。 |
制限事項
この機能は以下に対しては無効です。
データシップおよび 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