在Oracle中,读取操作不会阻碍更新操作,更新操作也不会阻碍读取操作,这样在Oracle中的各种隔离级别下,读取操作都不会等待更新事务结束,更新操作也不会因为另一个事务中的读取操作而发生等待,这也是Oracle事务处理的一个优势所在。

oracle支持Read Committed和Serializable级别,默认的隔离级别是Read committed,在oracle中隔离级别实现如下:

Read Committed隔离级别(也称为语句级别的隔离)

如果一个事务正在对某个表进行DML操作,而这时另外一个会话对这个表的记录进 行读取操作,则Oracle会去读取回滚段或撤销段中存放的更新之前的记录,而不会象SQL Server一样等待更新事务的结束。


Serializable隔离级别(也称为事务级别的隔离)

事务中的读取操作只能读取这个事务开始之前已经提交的数据结果。如果在读取时, 其他事务正在对记录进行修改,则Oracle就会在回滚段或撤销段中去寻找对应的原来未经更改的记录(而且是在读取操作所在的事务开始之前存放于回滚段或 撤销段的记录),这时读取操作也不会因为相应记录被更新而等待。

标签: 级别, 操作, 读取, Oracle, 隔离, 事务

相关文章推荐

添加新评论,含*的栏目为必填