myVertica  

AHM(Ancient History Mark)が進まない場合の対処方法

AHMが進んでいない場合、次のチェックリストを使用してトラブルシューティングを行います。

ステップ タスク 結果
1 Last Good Epoch(LGE)が進んでいるかどうかを確認します。 => SELECT CURRENT_EPOCH, LAST_GOOD_EPOCH, AHM_EPOCH FROM SYSTEM; LGEが進んでいる場合、Step 2 へ。 LGEが進んでいない場合、Step 5 へ。
2 すべてのノードがUPしているかどうかを確認します。 => SELECT * FROM NODES WHERE NODE_STATE = 'UP'; すべてのノードがUPの場合、Step 3 へ。 1つ以上のノードがDOWNの場合、下記コマンドを使用してすべてのノードをUPにします。 $ admintools -t restart_node -d <database name> -s <node_name> すべてのノードがUPになった後、Step 4 へ。
3 リフレッシュが実行されていないプロジェクションがないかどうか確認します。 => SELECT PROJECTION_NAME, NODE_NAME, IS_UP_TO_DATE FROM PROJECTIONS WHERE IS_UP_TO_DATE != 't'; 1つ以上のプロジェクションが「IS_UP_TO_DATE = f」となっている場合、次のいずれかを実行します。
  • プロジェクションの削除 => SELECT DROP PROJECTION <name of the projection>
  • プロジェクションのリフレッシュ => SELECT REFRESH <table name>
  • 4 AHMは進みましたか? SELECT GET_AHM_EPOCH(); AHMが進んでいる場合、チェックリストは完了です。 AHMが進んでいない場合、このチェックリストを再度開始して、別のパスを探します。AHMが進まない場合、Verticaテクニカルサポートまでお問い合わせください。
    5 WOS上にデータがないかどうか確認します。 => SELECT sum (wos_used_bytes) from projection_storage; WOS上にデータがある場合、MOVEOUTを手動実行します。 => SELECT DO_TM_TASK('moveout');WOS上にデータがない場合、Step 6 へ。
    6 LGEが他のノードよりも古いノードを確認します。 => SELECT GET_EXPECTED_RECOVERY_EPOCH(); 任意のノードのLGEが別のノードのLGEよりも古い場合、Step 7 へ。 すべてのノードが同じLGEである場合、Verticaテクニカルサポートまでお問い合わせください。
    7 Moveoutが実行中で、moveout処理がreplay deleteで遅延していないことを確認します。 => SELECT OPERATION_START_TIMESTAMP, NODE_NAME, OPERATION_NAME, OPERATION_STATUS, TABLE_SCHEMA, PROJECTION_NAME FROM TUPLE_MOVER_OPERATIONS WHERE IS_EXECUTING; Moveoutが実行され、AHMが進んでいる場合、 => SELECT GET_AHM_EPOCH(); このチェックリストは完了です。Moveoutが実行されていない場合、Verticaテクニカルサポートまでお問い合わせください。

    関連詳細情報

    Vertica Documentation の Epochs  をご参照ください。