ocp知识点:控制事务

本文深入探讨了Oracle数据库的事务管理,包括事务的概念、ACID特性、事务操作过程以及如何使用COMMIT和ROLLBACK命令。文章还详细阐述了执行SELECT、UPDATE、INSERT和DELETE语句时的内部机制,并通过OCP真题解析了事务的结束条件。
摘要由CSDN通过智能技术生成

原创作品,出自 “深蓝的blog” 博客,深蓝的blog:http://blog.csdn.net/huangyanlong/article/details/47281071

051.9 操作数据

051.9.5 控制事务

一、数据库事务

1、事务的概念?

事务是关系数据库范例的一部分,是由一个或者多个DML语句组成,后面紧跟ROLLBACK或者COMMIT命令;

 

2、事务的特性?

ACID:原子性(Atomicity)、一致性(Consistency)、隔离性(Isolation)、持久性(Durability)。

 

3、事务原子性的原则?

一个事务的所有部分必须都完成,或都不完成。

 

4、事务一致性的原则?

规定查询的结果必须与数据库在查询开始的时候状态一致。

 

5、事务隔离性的原则?

对于其它部分来说,未完成的(未提交的)事务必须不可见。

 

6、事务持久性的原则?

规定一旦某个事务完成,数据库就不可能丢失这个事务。

 

二、执行SQL语句

1、执行SELECT语句

(1)、服务器进程,是将数据块从数据文件读取至数据缓存区的进程;

(2)、DDWn进程,是将数据块从数据库缓存区写入数据文件的进程;

(3)、SELECT执行过程

步骤<1>:用户进程发出select指令,传输给服务器进程,此时服务器进程将从数据库缓存区中查询是否有所需的select数据,如果

         有则则步骤<4>把数据读取到服务器进程,结果集返回到用户进程,返回客户;

步骤<2>:如果查询后数据库缓存区中没有有用的数据,则进入步骤<2>,会到数据文件中查找所需的块;

步骤<3>:步骤<2>结束后,会经历步骤<3>把从数据文件中获取到的数据块复制到数据库缓冲区中;

步骤<4>:步骤<3>后,会经历步骤<4>将数据传输到服务器进程中;

步骤<5>:该步骤会把接收到数据,即查询结果,返回给用户进程;

 

2、执行UPDATE语句

步骤<1>:从缓存拿数据:客户端发出命令语句后,会在数据缓冲区中查找所需的数据块是否存在,如果不存在DML操作会完成将所

         需的数据块从数据文件复制至数据块缓冲区。区别于select语句,DML语句还需要某个undo段的一个空数据块;

步骤<2>:放置锁:会在所有记录以及相关索引键上放置锁;

步骤<3>:生成redo:此时服务器进程在日志缓冲区中写入即将应用于指定数据块的变更向量。(redo要在后面应用于“表块”的变

         更和“撤销块”的变更)。如果更新某列,该列的rowid和新值以及旧值都会被写入日志缓冲区。如果这列是某索引键的

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值