標籤:style io color 使用 sp on bs cti ad
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的並發控制(事務)