Oracle COMMIT語句的處理順序介紹
Oracle COMMIT語句相信大家都有一定的了解,下面就為您介紹Oracle COMMIT語句的處理步驟,希望對您能有所幫助。
Oracle COMMIT語句處理順序
當事務提交時,Oracle分配一個***的順序號SCN(System Change Number)給事務。數(shù)據(jù)庫恢復總是基于該SCN號來進行處理。SCN號是記錄在控制文件、數(shù)據(jù)文件、塊頭及重做日志文件中。
1.Oracle COMMIT語句處理步驟:
Oracle 在下面情況提交事務:
l 發(fā)出一個COMMIT語句。
l 執(zhí)行DDL語句時。
l 離開Oracle時。
Oracle處理COMMIT的順序是:
1)服務器為每個COMMIT產生一個SCN。使改變***化。
2)LGWR進程將日志緩沖區(qū)數(shù)據(jù)并帶有SCN一起寫到重做日志文件。
3)服務器釋放表級和行級鎖。
4)用戶被提示COMMIT完成。
5)服務器使事務已完成。
Oracle處理ROLLBACK的順序是:
當下面情況發(fā)生時執(zhí)行回滾:
l 發(fā)出ROLLBACK命令。
l 服務器進程放棄地終止。
l 會話被DBA終止。
ROLLBACK 是對數(shù)據(jù)庫的操作進行撤消,步驟有:
1)服務器進程不做任何的改變。
2)服務器釋放表級和行級鎖。
3) 服務器使事務已完成。
【編輯推薦】