使用上の注意 - Advanced SQL Engine - Teradata Database

Teradata Vantage™ - SQL演算子およびユーザー定義関数

Product
Advanced SQL Engine
Teradata Database
Release Number
17.10
Published
2021年7月
Language
日本語
Last Update
2021-09-23
dita:mapPath
ja-JP/fsi1592016213432.ditamap
dita:ditavalPath
ja-JP/wrg1590696035526.ditaval
dita:id
B035-1210
Product Category
Software
Teradata Vantage

指定されたSerialTableActionListまたはParallelTableActionListの一部であり'Exclude'でない型を持つ、TDMaps.ActionsTbl内に格納されるすべてのアクションは、実行のために一度に1つのグループにフェッチされ待ち行列に置かれます。SerialTableActionList内のオブジェクトは、1つのセッションによってのみ処理されます。ParallelTableActionList内のオブジェクトは、1つ以上のセッションによって処理されます。1つまたは両方のパラメータを指定する必要があります。両方を指定すると、1つのセッションはSerialTableActionListで動作し、他のセッションはParallelTableActionListで動作します。すべての'Exclude'でないアクションが処理されると、ALTER TABLEを送信せずに'Exclude'アクションが履歴テーブルに移動されます。

TDMaps.AnalyzeSPへの以前の呼び出しからテーブル アクション リストを生成します。AnalyzeSPパラメータOutputActionListに指定された値は、パラメータSerialTableActionListまたはParallelTableActionListに指定された値と同じである必要があります。ManageMoveTablesSPを呼び出す前に、TDMaps.ActionsTblでUPDATE文、DELETE文、INSERT文を実行することにより、OutputActionListで生成されるアクションをカスタマイズできます。

実行のため待ち行列に配置される前に、すべての修飾アクションがグループ化され、ActionsTbl.GroupOrderとActionsTbl.ActionOrderの指定された列値に従って順序付けられます。ログ データを使用してAnalyzerが実行され結合リレーションシップがあると判定された場合は、プロシージャAnalyzeSPへの以前の呼び出しによって決定されたのと同じグループにテーブルのセットが割り当てられます。

ManageMoveTablesSPの呼出し後に、1つ以上の同時並行呼び出しを関連プロシージャMoveTablesSPに対して行ない、待ち行列に置かれたアクションを実行する必要があります。すべてのアクションが完了するまで(またはTimeLimitの有効期限が切れるまで)はManageMoveTablesSPへの呼び出しは完了せず何も返されないので、MoveTablesSPへの呼び出しを発行するために別個のDBSセッションが必要になります。

システムでは、ManageMoveTablesSPの1つのアクティブな実行のみが許可されます。アクションをスケジュールし実行するために使われる基礎となるシステム キュー テーブルは、一度に複数のSerialTableActionListまたはParallelTableActionListをサポートしません。

このプロシージャとこのプロシージャが管理するワーカー プロシージャを実行して得られる結果は、完了済みアクションまたは進行中のアクションを表わす行を持つテーブルTDMaps.ActionHistoryTblに書き込まれます。テーブルで標準SELECT文を発行することで、結果を監視して表示します。

SerialTableActionListまたはParallelTableActionListの全アクションが完了する前に、指定したTimeLimitの期限が切れる場合は、新たなアクション グループが実行のために待ち行列に置かれることはありません。

デフォルトの動作は、スケジューリング、実行、時間制限の有効期限処理に関して、同じグループを持つアクションを1つのユニットとして管理することです。入力パラメータGroupActionsを'N'として指定することで、動作を上書きします。グループ化の動作によって、強い結合リレーションシップを持つテーブル グループ上のAlter(移動)アクションが、ManageMoveTablesSPへの特定の呼び出しで完了することが保証されます。ログ データを使わずにAnalyzerを実行すると、テーブルはデータベースごとにグループ化されます。

GroupActionsが'Y'(またはNULL)で非NULLのTimeLimitが指定される場合、アクションの推定される合計完了時間が現在の残り時間を超えるときは、ManageMoveTablesSPはアクション グループの実行をスケジュールできません。同様に、GroupActionsが'N'で非NULLのTimeLimitが指定される場合、アクションの推定完了時間が現在の残り時間を超えるときは、ManageMoveTablesSPは指定されたテーブルに対してアクションを実行しません。実行されるGroupOrderまたはActionOrderが割り当てられている特定のグループまたはテーブルに対してこれが発生すると、Skippedのステータス値によってActionHistoryTblに記録されます。

特定グループ内の全アクションが完了する前にTimeLimitが期限切れになると、そのグループ内の全アクションは実行停止前に完了します。

GroupActionsが'N'で、時間制限の有効期限が切れると、実行しなかったTDMaps.ActionQueueTblに含まれる待ち行列内のアクションは、テーブルTDMaps.ActionsTblに転送され戻されます。それらのアクションにはGroupOrderが割り当てられ、それらの指定されたActionListName内で最高の優先順位を表わします。

出力パラメータTimeExpiredの戻り値が'Y'の場合、同じTableActionListを使用して再度ManageMoveTablesSPを呼び出すことで、残りのアクションをすべて完了します。ManageMoveTablesSPは、リスト内の未完了アクションを自動的に再開します。

ManageMoveTablesSPへの呼び出し実行を停止するには、プロシージャStopMoveTablesSPを呼び出します。