oracle memo 转 字符,Oracle Memo

即:读既不会阻塞读,也不会阻塞写;写不会阻塞读,但会阻塞写。

Oracle 的无阻塞方法有一个副作用,如果确实想保证一次最多只有一个用户访问一行数据,开发人员就得自己做些工作。要加入我们自己的串行化机制来确保业务逻辑的正确性,如for update语句会使读操作也对相应的行加锁,确保了串行访问。

4.   Oracle多版本

①、Oracle多版本特性是Oracle并发控制机制的基础, Oracle 采用了一种多版本、读一致( read-consistent )的并发模型。实质上讲, Oracle 利用这种机制提供了以下特性:

读一致查询:对于一个时间点( point in time ),查询会产生一致的结果。

非阻塞查询:查询不会被写入器阻塞,但在其他数据库中可能不是这样。

②、由于有多版本机制,Oracle中没有“共享读”锁的概念。

只要你修改数据, Oracle 就会创建撤销( undo )条目。这些 undo 条目写至 undo 段(撤销段, undo segment )。如果事务失败,需要撤销, Oracle 就会从这个回滚段读取 “ 之前 ” 的映像,并恢复数据。除了使用回滚段数据撤销事务外, Oracle 还会用它撤销读取块时对块所做的修改,使之恢复到查询开始前的时间点 。这样就能摆脱锁来得到一致、正确的答案,而无需你自己对任何数据锁定。

Oracle非阻塞读是这样实现的: Oracle 只看数据是否改变,它并不关心数据当前是否锁定(锁定意味着数据已经改变)。 Oracle 只是从回滚段中取回原来的值,并继续处理下一个数据块。

在数据库中,可以得到同一个信息处于不同时间点的多个版本。Oracle 能充分使用不同时间点的数据快照来提供读一致查询和非阻塞查询。

5.在SQL Server和Sybase中,NULL就等于NULL,但是,在Oracle中,NULL与NULL既不相等,也不完全不相等。

6.Oracle没有“共享读”锁。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值