COMMIT 详解

COMMIT语句处理顺序

 

当事务提交时,Oracle分配一个唯一的顺序号SCN(System Change Number)给事务。数据库恢复总是基于该SCN号来进行处理。SCN号是记录在控制文件、数据文件、块头及重做日志文件中。

 

1.COMMIT处理步骤:

 

Oracle 在下面情况提交事务:

 

?        发出一个COMMIT语句。

?        执行DDL语句时。

?        离开Oracle时。

 

Oracle处理COMMIT的顺序是:

 

1)服务器为每个COMMIT产生一个SCN。使改变永久化。

2)LGWR进程将日志缓冲区数据并带有SCN一起写到重做日志文件。

3)服务器释放表级和行级锁。

4)用户被提示COMMIT完成。

5)服务器使事务已完成。

 

 

Oracle处理ROLLBACK的顺序是:

 

当下面情况发生时执行回滚:

 

?        发出ROLLBACK命令。

?        服务器进程放弃地终止。

?        会话被DBA终止。

 

ROLLBACK 是对数据库的操作进行撤消,步骤有:

 

1)服务器进程不做任何的改变。

2)服务器释放表级和行级锁。

3) 服务器使事务已完成。


你可能感兴趣的:(oracle)