database oracle中的隔离级别
声明:本页面是StackOverFlow热门问题的中英对照翻译,遵循CC BY-SA 4.0协议,如果您需要使用它,必须同样遵循CC BY-SA许可,注明原文地址和作者信息,同时你必须将它归于原作者(不是我):StackOverFlow 
原文地址: http://stackoverflow.com/questions/13647604/
Warning: these are provided under cc-by-sa 4.0 license.  You are free to use/share it, But you must attribute it to the original authors (not me):
StackOverFlow
Isolation levels in oracle
提问by Touchstone
I would like to know different isolation levels with respect to commit, and would also like to know about row-level and table-level lock.
我想知道关于提交的不同隔离级别,还想知道行级和表级锁。
回答by markusk
ANSI/ISO SQL defines four isolation levels:
ANSI/ISO SQL 定义了四个隔离级别:
- serializable
- repeatable read
- read committed
- read uncommitted
- 可序列化
- 可重复读取
- 读已提交
- 未提交读
According to Oracle's Database Development Guide, chapter 6.6.1: Transaction Interaction and Isolation Level, you can request either isolation level READ COMMITTED(the default) or SERIALIZABLE.
根据 Oracle 的数据库开发指南第 6.6.1 章:事务交互和隔离级别,您可以请求隔离级别READ COMMITTED(默认)或SERIALIZABLE.
Please note, however, that what Oracle call SERIALIZABLEis actually snapshot isolation. 
但是请注意,Oracle 所说SERIALIZABLE的实际上是快照隔离。
For more information about row-level and table-level locks, see Overview of the Oracle Database Locking Mechanismand Locking tables explicitly.
有关行级和表级锁的更多信息,请参阅Oracle 数据库锁定机制概述和显式锁定表。
回答by Kamran Saeed
There are four isolation levels
有四个隔离级别
- Read uncommitted or Read Dirty Buffers
- Read Committed or repeated reads
- Phantom reads
- Serializable
- 读取未提交或读取脏缓冲区
- 读取提交或重复读取
- 幻读
- 可序列化

