Oracle 支持的 2 种事务隔离级别 Read committed , Serializable
来自 oracle 官方网站的 Read committed , Serializable 的解释
Isolation Level | Description |
Read committed | This is the default transaction isolation level. Each query executed by a transaction sees only data that was committed before the query (not the transaction) began. An Oracle query never reads dirty (uncommitted) data. Because Oracle does not prevent other transactions from modifying the data read by a query, that data can be changed by other transactions between two executions of the query. Thus, a transaction that runs a given query twice can experience both nonrepeatable read and phantoms. |
Serializable | Serializable transactions see only those changes that were committed at the time the transaction began, plus those changes made by the transaction itself through INSERT , UPDATE , and DELETE statements. Serializable transactions do not experience nonrepeatable reads or phantoms. |
2 者的区别也是来自官方网站
summarizes key differences between read committed and serializable transactions in Oracle.
Table 13-2 Read Committed and Serializable Transactions
| Read Committed | Serializable |
Dirty write | Not possible | Not possible |
Dirty read | Not possible | Not possible |
Nonrepeatable read | Possible | Not possible |
Phantoms | Possible | Not possible |
上面的 2 个表来自 http://download-west.oracle.com/docs/cd/B19306_01/server.102/b14220/consist.htm