😽

【Silver DBA】UNDOセグメント

2024/03/15に公開

トランザクションを実行すると、UNDOデータがUNDO表領域内のUNDOセグメントに保存される。

・1つのトランザクションには、特定のUNDOセグメントが対応する。
 1つのトランザクションが複数のUNDOセグメントにまたがることはない。

・1つのUNDOセグメントに複数のトランザクションが格納されることはある。

UNDOセグメントはエクステントを循環的に繋げた論理構造になっている。
トランザクションで生成されたUNDOデータは、カレントエクステントに出力される。

カレントエクステントが満杯になると、次のエクステントがカレントエクステントになる。
(次のエクステントに、未コミットのトランザクションが存在しない場合に限る)

UNDOデータのステータスごとの状況・保存・上書きの動作について

ステータス 状況 保存/上書きの動作
アクティブ そのUNDOデータに関連づけられたトランザクションが実行中。 決して上書きされない
有効期限内 そのUNDOデータに関連づけられたトランザクションはコミット済み。UNDO保存期間内。 原則上書きされない
有効期限切れ そのUNDOデータに関連づけられたトランザクションはコミット済み。UNDO保存期間を超過。 上書きの可能性あり

Discussion