第二十一讲--事务概述

从开发者的角度来讲,oracle的事务很简单,就是commit和rollback。

事务关系到数据的一致性。

事务的基本概念:

一组DML语句:insert、update、delete

Commit;

Rollback;

Savepoint<savepoint name>;

Rollback to[savepoint] <savepoint name>;

 

数据库正常运行期间一个会话登录上来,这个会话有自己的SID,会话开始了一个事务,事务由10条DML组成,但是只执行了5条,产生的8个脏buffer,其中6个脏buffer对应的日志写到了磁盘上,有2个日志在log buffer里面,此时数据库崩溃,然后重启。重启之后oracle开始跑日志,跑日志的时候6个脏buffer被构造出来了,但是有一个原则:一个会话死掉以后不能再生,那么会话当初执行的没有完成的事务不可能再完成了,这时候事务只能被回滚。6个脏buffer修改的数据自动被oracle rollback。对未完成的事务oracle进行的是回滚。

对oracle来讲,一个事务要么全成功要么全失败。

执行DDL语句时,oracle自动把DDL语句前的事务提交。正常或者异常退出以后,事务被隐含的提交了。

为了避免隐式的提交和回滚,我们做的所有DML语句都要显式的提交和回滚。

你可能感兴趣的:(oracle)