ADMIN_MOVE_TABLE_UTIL プロシージャー - オンライン表移動の変更プロシージャー

ADMIN_MOVE_TABLE_UTIL プロシージャーは、アクティブ表データの移動時に、SYSPROC.ADMIN_MOVE_TABLE ストアード・プロシージャーと連動します。

このストアード・プロシージャーは、ADMIN_MOVE_TABLE プロシージャーによって作成および使用される ADMIN_MOVE_TABLE プロトコル表のユーザー定義可能値を変更するための手段として使用できます。

このプロシージャーが ADMIN_MOVE_TABLE プロトコル表の値を変更するのは、TABSCHEMA および TABNAME パラメーターが参照する表の表移動が既に進行中であり、プロシージャーの呼び出し元の許可 ID が表移動を実行しているユーザーと同じである場合のみです。

許可

このルーチンを使用するには、以下のいずれかの許可が必要です。
  • ADMIN_MOVE_TABLE_UTIL プロシージャーに対する EXECUTE 特権
  • DATAACCESS 権限
  • DBADM 権限
  • SQLADM 権限
さらに、使用する許可 ID は、ADMIN_MOVE_TABLE ストアード・プロシージャーの呼び出しに使用されたものと同じでなければなりません。

デフォルトの PUBLIC 特権

制限のないデータベースでは、このプロシージャーが自動的に作成されると、EXECUTE 特権が PUBLIC に付与されます。

構文

Read syntax diagramSkip visual syntax diagramADMIN_MOVE_TABLE_UTIL( tabschema,tabname,action, key,value)

このストアード・プロシージャーのスキーマは SYSPROC です。

プロシージャー・パラメーター

タブ・スキーマ
この入力パラメーターは、移動中の表が含まれるスキーマの名前を指定します。 この名前には、大文字と小文字の区別があります。 データ・タイプは VARCHAR(128) です。
タブ名
この入力パラメーターは、移動中の表の名前を指定します。 このパラメーターには大/小文字の区別があり、データ・タイプは VARCHAR(128) です。
処置
この入力パラメーターは、プロシージャーの実行アクションを指定します。
有効な値は以下のとおりです。
  • UPSERT: 指定された TABSCHEMA.TABNAME.KEY は ADMIN_MOVE_TABLE プロトコル表に存在します。これにより、対応する VALUE が新しい value パラメーターで更新されます。 その他の場合は、ADMIN_MOVE_TABLE プロトコル表にキーと値のペアが挿入されます。
  • DELETE: 指定された TABSCHEMA.TABNAME の場合。 KEY は ADMIN_MOVE_TABLE プロトコル表に存在します。これにより、指定された KEY と VALUE のペアが ADMIN_MOVE_TABLE プロトコル表から削除されます。
このパラメーターのデータ・タイプは VARCHAR(128) です。
キー
この入力パラメーターは、ADMIN_MOVE_TABLE プロトコル表で「UPSERT」または削除を行うためのキーを指定します。
有効な値は以下のとおりです。
  • COMMIT_AFTER_N_ROWS: この数の行がコピーされると COPY フェーズでコミットが実行されます。 値 0 は、COPY 中にコミットを実行しないことを意味します。
  • DEEPCOMPRESSION_SAMPLE: このフィールドは、ソース表の圧縮が有効になっている場合に、圧縮用ディクショナリーの作成時にサンプリングするデータ量 (KB 単位) を指定します。 値 0 は、サンプリングを行わないことを意味します。
  • COPY_ARRAY_SIZE: COPY_ARRAY_INSERT の配列サイズを指定します。0 以下の値は、COPY_ARRAY_INSERT を使用しないことを意味します。
  • COPY_INDEXSCHEMA: COPY フェーズでターゲット表のデータのクラスター化に使用する索引のスキーマ。
  • COPY_INDEXNAME: COPY フェーズでターゲット表のデータのクラスター化に使用する索引の名前。
  • REPLAY_MAX_ERR_RETRIES: REPLAY フェーズでエラー (ロック・タイムアウトまたはデッドロック) が発生した場合の最大再試行回数を指定します。
  • REPLAY_THRESHOLD: REPLAY フェーズの単一反復について、ステージング表に適用される行数がこの値より小さければ、REPLAY は停止します。この動作は、その間に新しい項目が作成されたとしても変わりません。
  • REORG_USE_TEMPSPACE: 表移動で REORG オプションを呼び出す場合は、REORG コマンドの USE 節に TEMPORARY 表スペースを指定することもできます。 この値が指定されない場合、REORG コマンドは再編成される表と同じ表スペースを使用します。
  • SWAP_MAX_RETRIES: SWAP フェーズにおける (ロック・タイムアウトまたはデッドロックが発生した場合の) 再試行の許容最大回数を指定します。
このパラメーターのデータ・タイプは VARCHAR(128) です。
value
この入力パラメーターは、ADMIN_MOVE_TABLE プロトコル表に「UPSERT」する値を指定します。 このパラメーターのデータ・タイプは CLOB(10M) です。 このパラメーターを NULL または空ストリングにすることができます。

使用上の注意

ADMIN_MOVE_TABLE プロトコル表の変更可能キー値についての詳細が、ADMIN_MOVE_TABLE プロシージャーの『使用上の注意』のセクションに記載してあります。

この例では、このストアード・プロシージャーの基本的な呼び出しを取り上げています。ここでは、圧縮の値を更新し、ターゲット表のコピー処理に使用される特定の索引情報を除去するために呼び出します。

まず、ADMIN_MOVE_TABLE プロシージャーを呼び出して表移動プロセスを開始します。その後で、ADMIN_MOVE_TABLE プロトコル表の値を更新または削除するために、ADMIN_MOVE_TABLE_UTIL プロシージャーを呼び出します。
CALL SYSPROC.ADMIN_MOVE_TABLE('SVALENTI','T1','','','','','','','','','INIT')
次に、DEEP_COMPRESSION_SAMPLE 値を 30720 KB に更新します。
CALL SYSPROC.ADMIN_MOVE_TABLE_UTIL('SVALENTI','T1','UPSERT',
     'DEEPCOMPRESSION_SAMPLE','30720')
ここで、COPY_INDEXSCHEMA と COPY_INDEXNAME の値を削除します。
CALL SYSPROC.ADMIN_MOVE_TABLE_UTIL('SVALENTI','T1','DELETE','COPY_INDEXSCHEMA','')
CALL SYSPROC.ADMIN_MOVE_TABLE_UTIL('SVALENTI','T1','DELETE','COPY_INDEXNAME','')
これらの変更後、メタ・テーブル内の新しい値を使用して ADMIN_MOVE_TABLE プロシージャーを続行します。
CALL SYSPROC.ADMIN_MOVE_TABLE('SVALENTI','T1','','','','','','','','','COPY')
CALL SYSPROC.ADMIN_MOVE_TABLE('SVALENTI','T1','','','','','','','','','REPLAY')
CALL SYSPROC.ADMIN_MOVE_TABLE('SVALENTI','T1','','','','','','','','','SWAP')