テンポラル テーブルに対するアーカイブ操作には、非テンポラル テーブルと同じ構文を使用します。テンポラル テーブルの場合、ARCHIVE、RESTORE、およびCOPYコマンドの操作対象は次のようになります:
- テンポラル テーブル全体
テンポラル テーブル全体をアーカイブすることで、履歴行、現在行、将来行、オープン行、およびクローズ行を含む、すべての行をアーカイブに保存します。
- テンポラル テーブルの指定したパーティション アーカイブ操作は、プライマリ インデックスを持つ行パーティション テンポラル テーブルが列パーティション化されていない場合に、そのテンポラル テーブルの指定したパーティションに限定することができます。例えば、推奨されるパーティション式を使用してパーティション化された二重テンポラル テーブルでは、次に示すパーティションに行を分割して保持します。
- valid-time期間が現在または将来であるオープン行
- valid-time期間が履歴であるオープン行
- クローズ行
最初のパーティションにある、現在および履歴のオープン行のみをアーカイブに格納するように限定できます。
現在行と履歴行にパーティション化されているテンポラル テーブルをアーカイブする際には、次に示すガイドラインを使用してください。
- 履歴行は、現在行と将来行を格納するパーティション内で自動的に発生します。また、現在のオープン行が変更されると、オープン行を格納するパーティションに履歴行が自動的に生成されます。ALTER TABLE TO CURRENT文を使用して、テーブルを再パーティション化し、現在パーティション内の履歴行を移動してください。
現在行と将来行をアーカイブする場合には、ARCHIVE操作の直前に、テーブルに対してALTER TABLE TO CURRENT文を発行し、現在パーティションが確実に現在行と将来行のみを含むようにしてください。
現在行と将来行のみを既存のテンポラル テーブルに復元する場合には、復元操作の直前に、テーブルに対してALTER TABLE TO CURRENT文を発行してください。
- オープンの現在行と将来行を分離したパーティション全体をアーカイブするか、テーブル全体をアーカイブしてください。履歴行を単独でアーカイブしたり、オープンの現在行と将来行のパーティションのサブセットをアーカイブしたりしないでください。
- テンポラル アーカイブ全体を復元してください。絶対に、アーカイブの一部のみを復元してはいけません。
- テンポラル テーブルに現在パーティションのみを復元すると、そのテーブルの既存の履歴パーティションが削除され、復元した時刻から始まる新しい履歴が開始されます。こうなると、既存のテーブルから履歴情報が失われてしまいます。
Teradataでは、テンポラル テーブルに対して、二重アーカイブ戦略をお勧めしています。一方のアーカイブにはテンポラル テーブル全体を保存し、別のアーカイブには現在テンポラル パーティションを保存します。テーブル全体を格納するアーカイブは、履歴情報を含めたテンポラル テーブルの復元に使用します。現在パーティションを格納するアーカイブは、履歴行を復元する必要のないときの、障害回復に使用します。
関連情報
事項 | 参照先 |
---|---|
テンポラル テーブルのパーティション化 | |
ALTER TABLE TO CURRENT |
|