UNDO_RETENTION
undo retention の文字通りの意味は、Undoの保持ポイントです。つまり、現在時刻からどの程度遡った期間のUndoログを保持するかということです。OceanBaseデータベースでは、この期間内のすべてのデータの複数バージョンを保持します。テナントレベルの構成パラメータ undo_retention で設定でき、デフォルト単位は秒です。
フラッシュバッククエリ
フラッシュバッククエリ(Flashback Query)は、ユーザーが特定の履歴バージョンのデータを照会することを許可します。OceanBaseデータベースは、以下の構文を提供しています:
Oracleモード:
AS OF SCNおよびAS OF TIMESTAMP。MySQLモード:
AS OF SNAPSHOT。
ユーザーがテナントレベルの構成パラメータ undo_retention を設定すると、T - undo_retention から現在時刻 T の時間範囲内の任意の複数バージョンをフラッシュバッククエリで照会できるようになります。
レプリカの選択
ユーザーが特定の履歴バージョンのデータを照会する場合、通常のクエリのように常にリーダーをチェックするわけではなく、まずローカルマシンのレプリカを優先的にチェックします。ローカルレプリカが存在しない場合は、同ゾーン内の他のマシン上のレプリカを優先的にチェックし、最後にリーダーをチェックします。
注意事項
T - undo_retention 時間帯内にDDL操作があった場合は、次のとおりです:
列の追加操作について、フラッシュバッククエリで操作前のデータを照会する場合、新しく追加されたすべての列はデフォルト値となります。
テーブルの作成、削除、または列の削除などの操作について、フラッシュバッククエリで操作前のデータを照会する場合、システムはエラーを返します。
関連ドキュメント
フラッシュバッククエリの詳細な操作手順と例については、フラッシュバッククエリを参照してください。