テーブルのマップへの再割り当て - Advanced SQL Engine - Teradata Database

Teradata Vantage™ - データベースの管理

Product
Advanced SQL Engine
Teradata Database
Release Number
17.05
17.00
Published
2020年6月
Language
日本語
Last Update
2021-03-30
dita:mapPath
ja-JP/rgu1556127906220.ditamap
dita:ditavalPath
ja-JP/rgu1556127906220.ditaval
dita:id
B035-1093
Product Category
Software
Teradata Vantage
次の手順を使用して、テーブルを別のマップに再割り当てし、処理効率を最大化します。Moverプロセスは、ストアド プロシージャを使用してActionsTblの推奨事項に基づいて動作します。
  1. BTEQまたはTeradata Studioのウィンドウで、マネージャ プロシージャManageMoveTablesSPを呼び出して、AnalyzeSPによって事前に生成されたマップのアクションの実行をスケジュールします。
    この手順では、テーブルのグループをActionsTblからキュー テーブルに移動します。次の例では、DBAはMyNewMapActions内のアクションの実行をスケジュールし、12時間(720分)の制限時間を課しています。
    Session #1:
    CALL TDMaps.ManageMoveTablesSP(NULL, NULL, 'MyNewMapActions', 720, 'Y',
    	:ActionsCompleted, :NumErrors, :TimeExpired); 
    

    次の例では、DBAはスケジューラを使用して、BTEQでマネージャ プロシージャを呼び出します。

    CALL TDMaps.ManageMoveTablesSP(DATE+SESSION, NULL, 'MyNewMapActions', 4*60,
    'Y', :ActionsCompleted, :NumErrors, :TimeExpired);
    Vantageで同時にアクティブにできるManageMoveTablesSPのインスタンスは1つのみです。

    構文を含むManageMoveTablesSPの詳細については、<Teradata Vantage™ - SQL演算子およびユーザー定義関数、B035-1210>を参照してください。

  2. BTEQまたはTeradata Studioの1つ以上のウィンドウでワーカー プロシージャMoveTablesSPを呼び出して、マップの再割り当てを開始します。
    MoveTablesSPのそれぞれの呼び出しには、個別のセッションが必要です。これを行なう1つの方法は、SET SESSIONSとREPEATというBTEQコマンドを使用することです。MoveTablesSPは、キュー テーブルの各行にALTER TABLE要求を発行します。次の例では、DBAは2つのワーカー セッションを同時に開始します(各BTEQウィンドウで1つずつ)。
    Session #2:
    CALL TDMaps.MoveTablesSP('P',NULL,NULL,NULL,NULL);
    
    Procedure has been executed.
     *** Total elapsed time was 11 hours 3 minutes and 5 seconds.
    Session #3:
    CALL TDMaps.MoveTablesSP('P',NULL,NULL,NULL,NULL);
    
    Procedure has been executed.
     *** Total elapsed time was 11 hours 19 minutes and 45 seconds.

    このプロシージャは、TDMaps.ActionHistoryTblで完了したアクションと進行中のアクションを記録します。

    構文を含むMoveTablesSPの詳細については、<Teradata Vantage™ - SQL演算子およびユーザー定義関数、B035-1210>を参照してください。

  3. オプションとして、MonitorMoveTablesSPを呼び出して、マップの再割り当ての進捗状況を監視します。
    この手順では、マネージャ セッションとワーカー セッションのの両方の進捗状況を報告します。変更されたテーブルの数、未変更のテーブルの数、および完了した割合(パーセント)が報告されます。 例えば、
    CALL tdmaps.MonitorMoveTablesSP('MyNewMapActions', :NumTables, 
                              :NumComplete, :NumInProgress, :NumWaitingToStart, :PercentComplete);
    
     *** Procedure has been executed.
     *** Warning: 3212 The stored procedure returned one or more result sets.
     *** Total elapsed time was 1 second.
    
          NumTables         2712
        NumComplete         2526
      NumInProgress            1
     NumWaitingToStart          185
    
    PercentComplete           .93
    
     *** ResultSet# 1 : 1 rows returned by "TDMAPS.MONITORMOVETABLESSP".
    
                  ZoneName ?
                 JobNumber        2016042801
                    Action Alter
                    Status InProgress
              DatabaseName MHM
                 TableName TAB21_PI
                GroupOrder   1.00
                 SourceMap TD_Map1
            DestinationMap TD_Map2
             ActionSQLText ALTER TABLE MHM.TAB21_PI, MAP=td_map2
            ActionListName MyNewMapActions
                 TableSize              1118482
      FractionOfPermDBFree  9.99999999610461E-001
                    Issues N
     PrevGroupsBytesPerSec
    EstElapsedTimeInSecond                                        ?
               ElapsedTime                                        ?
                 StartTime 2016-02-02 12:22:45.270000+00:00
                   EndTime                                ?
                 ErrorCode              0
                    RunUID 0000F903
     ActionsTblDescription Move table for system expansion.
               Description ?
                  WorkerId           1

    構文を含むMonitorMoveTablesSPの詳細については、<Teradata Vantage™ - SQL演算子およびユーザー定義関数、B035-1210>を参照してください。