事物的隔离级别用于指定事物的隔离程度::
1、读未提交:脏读、不可重复读、幻读
2、读已提交:不可重复读、幻读
3、可重复读:幻读
4、可串行化:
脏读:一个事物读取另一个尚未提交的事物。在Oracle中不会出现这种情况,内部控制。
不可重复读:同一查询在同一事物中多次进行,由于其他事物(修改、删除)的提交得到不同的结果。
幻读(幻影):同一查询在同一事物中多次进行,由于其他事物(插入)的提交得到不同的结果。
Oracle的默认级别为:read committed。读已提交
可以设置成serializable。
设置一个事物隔离级别:
set transaction isolation level serializable;
set transaction read only;
默认:read committed.
设置整个会话的隔离级别:
alter session set transaction isolation level serializable;
alter session set transaction isolation level read committed;
一般在程序中保证可串行化,尽量不要进行串行化设置。
read only:该事物中只能进行读。
Java中设置隔离级别:
ct.setTransactionIsolation(Connection.TRANSATION_READ_COMMITTED);
本文详细介绍了Oracle数据库中事务隔离级别的概念及其工作原理,包括读未提交、读已提交、可重复读和可串行化四个级别,并解释了它们在避免脏读、不可重复读和幻读等问题上的作用。
1159

被折叠的 条评论
为什么被折叠?



