解析Oracle Database Concepts 12c(3)

事务管理(Transaction Management

Oracle数据库是一个多用户数据库系统,因此Oracle数据库必须保证多个用户共同使用时用户数据不会相互影响。

事务(Transactions)
简单点说,事务就是包含一个或多个SQL语句的逻辑组合,这个组合具有原子性。所谓原子性就是由一个或多个SQL语句组成的组合要么一起全部提交,要么一起全部回滚,不可能出现组合中的一部分SQL提交,一部分SQL回滚的情况。以简化的银行转账(A转账100元给B)为例:
1、A账户中减去100元
2、B账号中增加100元
3、记日志账
Oracle数据库会保证以上3个操作为一个整体,要么全部成功,要么全部失败(回滚)。

并发(Data Concurrency)
另一个对多用户数据库系统的要求是有并发控制的能力。这里所谓的并发是指多个用户同时访问同样的数据。
并发控制是保证数据完整性的重要手段。没有并发控制,就可能会造成数据的不准确。例如有一个用户在更新某一行的同时,另一个用户也在更新该行,这可能就会造成数据的不正确。
等待是实现多个用户能访问同样的数据的一种方法,但是这会造成系统性能的下降。Oracle数据库采用锁机制(lock)来实现并发控制。关于锁机制后续会详细讨论。

数据一致性(Data Consistency)
Oracle数据库为每个用户提供一份数据一致性视图,包括用户自己事务中的变更和其他用户已提交的变更。
Oracle数据库总是保证语句级读一致性。关于数据一致性后续会再详细讨论。

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/13885898/viewspace-2142846/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/13885898/viewspace-2142846/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值