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

提示:将鼠标放在中文语句上可以显示对应的英文。显示中英文
时间:2020-09-08 08:48:18  来源:igfitidea点击:

Isolation levels in oracle

databaseoracleisolation-leveltransaction-isolation

提问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

有四个隔离级别

  1. Read uncommitted or Read Dirty Buffers
  2. Read Committed or repeated reads
  3. Phantom reads
  4. Serializable
  1. 读取未提交或读取脏缓冲区
  2. 读取提交或重复读取
  3. 幻读
  4. 可序列化