テーブルおよびデータベースの回復 - Teradata Tools and Utilities

Teradata Archive/Recovery Utilityリファレンス

Product
Teradata Tools and Utilities
Release Number
16.20
Published
2018年4月
Language
日本語
Last Update
2018-09-07
dita:mapPath
ja-JP/byt1512701979771.ditamap
dita:ditavalPath
ja-JP/byt1512701979771.ditaval
dita:id
B035-2412
Product Category
Teradata Tools and Utilities

Teradata ARCには、ジャーナル テーブルからデータベースまたはテーブルをロールバックまたはロールフォワードする機能があります。 回復するデータベースかデータ テーブル、またはその両方を識別するためには、Teradata ARC文を使用します。 複数のデータベースまたはデータ テーブルを指定する場合は、すべて同一のジャーナル テーブルを使用する必要があります。これは、回復操作で使用される変更イメージは1つのジャーナルになければならないからです。

PPIテーブルまたは列パーテョション(CP)テーブルが復元されると、Teradata ARCは、BUILD段階で自動的に再検証ステップを実行します。 再検証プロセスによって、テーブルのUtilVersionの値が増加します。 これは、テーブルの構造上の変更と見なされます。 この変更のために、PPIテーブルまたはCPテーブルは、復元後にロールバック操作やロールフォワード操作によって回復することができなくなります。

また、Teradata ARC文では、回復に使用されるサブテーブル(保存ジャーナル サブテーブルまたは現在のジャーナル サブテーブル)を識別します。

複数のジャーナル アーカイブからデータ テーブルを回復する場合は、回復操作を次の3つの手順で実行します。

  1. ジャーナルを復元します。
  2. 復元されたジャーナルを使用してデータ テーブルを回復します。
  3. すべてのテーブルが復元されるまで、手順1と2を繰り返します。

回復処理が完了するのは、テーブルの構造が変更イメージと同じ場合のみです。 構造が異なる場合、Teradata ARCは、データ テーブルの回復リクエストを停止し、エラー メッセージを返します。 複数のテーブルを回復している場合は、1つのテーブルの回復が停止しても、その他のテーブルの回復には影響しません。

ロールバックまたはロールフォワード操作時に、一時ジャーナル イメージは生成されません。 そのため、途中で処理が終了した場合には、回復しようとしていたデータ テーブルがどのような状態にあるかを推測することができません。

ロールバックまたはロールフォワードが完了しなかった場合は、その原因に応じて以下のように処理します。

  • ハードウェアの障害が原因の場合は、Teradata ARCによって回復操作が自動的に再開されます。
  • クライアントの障害が原因の場合は、RESTARTオプションを指定してTeradata ARCを再実行します。

    Teradata ARCロールバックまたはロールフォワードの操作を再開して完了する前にデータ テーブルのHUTロックを解除する場合、データの状態は予測できません。

ロールバックまたはロールフォワード操作時に、永久ジャーナル イメージは生成されません。 したがって、ロールバック操作が適切に行なわれない場合もあります。

例えば、次のような場合です。

  1. バッチ ジョブがデータ テーブルを更新して、更新前および更新後イメージを作成する。
  2. バッチ ジョブが完了する。
  3. 後で(バッチ更新のエラーが原因で)更新前イメージを使用してテーブルをロールバックする。
  4. ディスクを交換し、最新のアーカイブを復元する。 ロールフォワードを実行して、変更を適用する。

上記のロールバックで使用したジャーナルをロールフォワードでも使用した場合には、バッチ ジョブでロールバックが行なわれているため、バッチ ジョブでの更新の結果が、ロールフォワードで反映されないと思うユーザーもいるでしょう。 回復操作ではジャーナル テーブルは変更されません。その結果、バッチ プログラムでの更新がロールフォワードでデータ テーブルに再度適用されることになります。