ITPub博客

首页 > 数据库 > Oracle > 解析Oracle Database Concepts 12c(3)

解析Oracle Database Concepts 12c(3)

原创 Oracle 作者:Jet_Zhang 时间:2017-07-31 14:40:09 0 删除 编辑

事务管理(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博客 ” ,链接:https://blog.itpub.net/13885898/viewspace-2142846/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论
中国南方Oracle用户组(SOUG)联合创始人,Oracle ACE,曾服务于国外某大型银行,曾担任国内某中型保险公司的技术经理,现为易景科技合伙人、首席架构师、CTO。主要研究方向数据库内核。

注册时间:2024-06-26

  • 博文量
    124
  • 访问量
    542499