首页 > 代码库 > Oracle的并发控制(事务)

Oracle的并发控制(事务)

1、事务的ACID特性:Atomicity 原子性、Consistency 一致性、Isolation 隔离性、Durability 持久性。

2、事务的操作

①事务提交 SQL>Commit;     ②事务回滚 SQL>Rollback;   ③保存点  SQL>Savepoint 保存点名;     Rollback To 保存点名;

 注意:I.已经提交的事务不能进行回滚。 II.回滚到某个保留点的事务将撤销保留点之后的所有修改。

④Set Transaction 语句:用来设置事务的各种属性。

属性有①指定事务的隔离层 ②规定回滚事务时所使用的存储空间 ③命名事务

3、结束事务

以下情况Oracle认为一个事务结束:

①Commit

②Rollback

③执行DDL语句(Create、Drop、Alter),事务被提交

④断开与Oracle的连接,事务被提交

⑤用户进程意外被终止,事务被回滚

简单说就是提交和回滚两种结束方式,只是提交和回滚的情况不同。

4、隔离级别

通过一些现象,可以反应隔离级别效果。这些现象有:①更新丢失 ②脏读 ③非重复读 ④幻象 

 

 脏读非重复读幻象
读未提交
读提交(默认)不会
重复读不会不会
序列化不会不会不会

5、设置隔离级别

在Oracle中,在事务开始之前可以通过以下方式设置一个事务的隔离级别:

SET TRANSATION ISOLATION LEVEL READ COMMITTED;(Oracle默认的事务隔离级别)

SET TRANSATION ISOLATION LEVEL SERIALIZABLE;

SET TRANSATION READ ONLY;

可以在单独的会话中设置整个会话的隔离级别:

ALTER SESSION SET ISOLATION_LEBEL SERIALIZABLE;

ALTER SESSION SET ISOLATION_LEBEL READ COMMITED;

ALTER SESSION SET ISOLATION_LEBEL READ ONLY;

 

Oracle的并发控制(事务)