Teradata Rollback – Abort as an Emergency Solution

Teradata Rollback - Abort As An Emergency Solution | DWHPRO

概要
  • 大量のロールバックはCPUを大量に使うので、システムのパフォーマンスを悪化させる。
  • ロールバック対象のテーブルは長時間ロックされる。何日もロックされっぱなしになった事例を知っている。
  • (トランザクションをアボートする際に)ロールバック処理を回避する方法は
    • 大量の行を削除するならMultiloadを使う。MultiloadはTJを使わないから
    • 空テーブルに対して複数のinsert into ... select ... を発行するなら、マルチステートメントにするとTJが使われない
  • ロールバックを強制終了すれば、対象のテーブルはinconsistentなままになるのだから、強制終了していいのは 1)終わるのを待つより、リストアしたほうが早いとき 2)対象テーブルが再作成できるワークテーブルのとき
  • ロールバックの強制終了方法:
    1. rcvmanagerユーティリティを起動する
    2. LIST ROLLBACK TABLESコマンドでロールバックの進捗を確認する。"Time Est."欄に予測の残り時間が表示される。
    3. CANCEL ROLLBACK ON TABLEコマンドでロールバックを強制終了する。
    4. ロールバックの強制終了後は、対象テーブルには全件DELETE, DROP TABLE, RESTOREぐらいしかできなくなる。SELECTすると7562エラーが返る(全件DELETEすればSELECTできるように戻る)。
語彙
  • middle ground: 中立。中道。
  • it renders the affected table unusable: 対象テーブルを使用不可にする。render+O+Cで「OをCにする」。