Oracle 和 DB2 比較與相容性/程序模型/事務管理/Oracle
外觀
在 Oracle 中,事務在連線到資料庫後隱式開始,之後在每個 SQL 語句之後,在提交或回滾之後開始。根據定義,事務在您提交、回滾或斷開與資料庫的連線時結束。在每個 DDL 語句(例如 Alter、Drop、Create)之後都會發出隱式提交。這種隱式事務控制意味著每個會話只能有一個邏輯事務,這是 Oracle 的另一個功能,旨在透過防止事務巢狀來簡化事務控制。
也可以在事務期間設定儲存點。雖然您可能不知道事務是否已完成到足以提交的程度,但您可能知道事務的某些部分已成功執行(並且這些可能是已成功執行的重大工作單元,消耗了大量資源)。如果您在這些元素成功執行後設置了一個儲存點,那麼隨後整個事務出現的問題可以回滾到此儲存點。這使您可以選擇嘗試修復問題並繼續,繼續進行另一組操作,甚至在適當的時候回滾整個事務。
事務管理透過 Orace 在撤消日誌緩衝區和緩衝區快取記憶體中儲存修改資料的之前和之後映像而成為可能。此時提交將強制日誌寫入器 (LGWR) 將撤消日誌緩衝區條目複製到磁碟上的撤消日誌檔案組。在日誌切換時,LGWR 將呼叫檢查點,將緩衝區快取記憶體中所有已更改(稱為“髒”)塊重新整理到磁碟。