oracle的事务和隔离级别

(一)什么是事务
事务:
  事务是指作为单个逻辑工作单元执行的一组相关操作。  
  这些操作要求全部完成或者全部不完成。
使用事务的原因:保证数据的安全有效。
事务的四个特点:( ACID
   1 、原子性( Atomic ):事务中所有数据的修改,要么全部执行,要么全部不执行。
   2 、一致性( Consistence ):事务完成时,要使所有所有的数据都保持一致的状态,换言之:通过事务进行的所有数据修改,必须在所有相关的表中得到反映。
   3 、隔离性( Isolation ):事务应该在另一个事务对数据的修改前或者修改后进行访问。
   4 、持久性( Durability ):保证事务对数据库的修改是持久有效的,即使发生系统故障,也不应该丢失。
(二) 相关概念
回滚: RollBack 只能对未提交的数据撤销,已经 Commit 的数据是无法撤销的,因为 commit 之后已经持久化到数据库中。
脏读( Dirty Read ):事务 T1 更新了一行数据,还没有提交所做的修改, T2 读取更新后的数据, T1 回滚, T2 读取的数据无效,这种数据称为脏读数据。
不可重复读( UNrepeatable Read ):事务 T1 读取一行数据, T2 修改了 T1 刚刚读取的记录, T1 再次查询,发现与第一次读取的记录不相同,称为不可重复读。
幻读( Phantom Read ):事务 T1 读取一条带 WHERE 条件的语句,返回结果集, T2 插入一条新纪录,恰好也是 T1 WHERE 条件, T1 再次查询,结果集中又看到 T2 的记录,新纪录就叫做幻读。
(三) 隔离级别
   NO_TRANSACTION        不支持事务
   READ_UNCOMMITED     允许脏读、不可重复读、幻读
   READ_COMMITED        允许不可重复读、幻读,不允许脏读
   REPEATABLE        允许幻读,不允许脏读、不可重复读
   SERIALIZABLE        脏读、不可重复读、幻读都不允许
Oracle 支持 SQL92 标准的 READ_COMMITED SERIALIZABLE ,自身特有的 READ_ONLY
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值