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 を設定すると、Flashback Queryを使用して、T - undo_retention から現在時刻 T までの時間範囲内の任意のマルチバージョンを照会できます。
レプリカの選択
ユーザーが特定の履歴バージョンのデータを照会する場合、通常のクエリのように常にリーダーを照会するわけではなく、まずローカルマシンのレプリカを優先的に照会します。ローカルレプリカが存在しない場合は、同ゾーン内の他のマシン上のレプリカを優先的に照会し、最後にリーダーを照会します。
注意事項
T - undo_retention の期間内にDDL操作があった場合は、次のとおりです:
列の追加操作について、フラッシュバッククエリで操作前のデータを照会する場合、新しく追加されたすべての列はデフォルト値となります。
テーブルの作成、削除、または列の削除などの操作について、フラッシュバッククエリで操作前のデータを照会する場合、システムはエラーを返します。
関連ドキュメント
フラッシュバッククエリの詳細な操作手順および例については、フラッシュバッククエリを参照してください。