Oracle中事务的处理过程
1、提交事务(COMMIT语句)提交事务是指把对数据库进行的全部操作持久性地保存到数据库中,这种操作通常使用commit语句来完成。在使用该语句提交事务时,Oracle系统内部会按照如下顺序进行处理:1.在回滚段内记录当前事务已提交,并且声称一个唯一的系统编号(SCN),以唯一标识这个事务。2.启动后台的日志写入进程(LGWR),将SGA区的重做日志缓冲区中的数据和当前事务的SCN写入重做日志。3.Oracle服务器开始释放事务处理所使用的系统资源。4.显示通知,告诉用户事务已经提交成功。

2、回滚事务(ROLLBACK语句)回滚事务是指撤销对数据库进行的全部操作,Oracle利用回滚段来存储修改的数据,通过重做日志来记录对数据所做的修改。如果要回滚整个事务,Oracle系统内部将会执行如下操作过程。1.使用回滚段中的数据撤销对数据库所做的修改。2.Oracle后台服务进程释放掉事务所使用的系统资源。3.显示通知,告诉用户事务回滚成功。Oracle不仅允许回滚整个未提交的事务,还允许回滚事务的一部分,这可以通过“保存点”来完成。在事务的执行过程中,用户可以通过建立保存点将一个较长的失误分隔为几部分。这样用户就可以有选择性地回滚到某个保存点,并且该保存点之后的操作都将被取消。
