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