零点起飞学Oracle之数据库控制.pptx
《零点起飞学Oracle之数据库控制.pptx》由会员分享,可在线阅读,更多相关《零点起飞学Oracle之数据库控制.pptx(23页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、17.1数据一致性和事务事务在数据库中主要用于保证数据的一致性,防止出现错误数据。事务是单个的工作单元。如果某一事务成功,则在该事务中进行的所有数据均会提交;如果事务遇到错误且必须取消或回滚,则所有数据修改均被清除,从而保证数据一致性。第1页/共23页17.1数据一致性和事务事务是数据库的核心概念之一。事务控制很有必要的。下面以两个银行账号之间转账的例子来理解事务的重要。例如,账号A(假定账号A有足够金额)转出10000元至账号B。对此转账业务可分解为:账号A减去10000元。账号B增加10000元。当然,要求这两项操作或者同时成功(转账成功),或者同时失败(转账失败)。如果只有其中一项操作成
2、功,则不可接受。例如帐号A减去10000元成功,但帐号B增加10000元失败,则帐号A将损失10000元。因此,如果发生一个事务只有部分操作成功时,应该能够回滚事务,就好像什么操作都没有发生一样。类似的场景还有很多,但作为存储基础数据的数据库,必须避免任何犯错的可能,即必须保持数据一致性。第2页/共23页17.2 Oracle中的事务处理在Oracle中,事务生命周期包括,事务开始、事务执行和事务结束。当事务开始时,数据库处于初始状态;然后执行SQL操作语句,如果执行成功,则执行语句提交事务,这时更新数据库并终止事务;如果SQL操作语句执行失败,则取消事务进行的任何操作,数据库恢复到初始状态。
3、本节将讲述Oracle中的事务处理:利用Commit命令提交事务、利用Rollback命令结束事务、事务属性和隔离级别。第3页/共23页17.2.1 利用commit提交事务commit提交事务语句可以结束当前事务,并永久地保存事务中对于数据库的所有改变。而在未提交事务以前,这些改变都是暂时的。一般情况下,其他事务中不能看到本事务中对数据库所做的修改。【示例19-1】利用commit命令界定事务。第4页/共23页17.2.2 利用rollback回滚事务rollback命令可以结束当前事务,并永久地保存事务所做的全部工作,即事务中对于数据库的任何改变都将无效。回滚一般是回到事务开始时的状态,但
4、是可以在事务中设置保存点,然后回滚到事务指定的保存点。在示例17-1中,无论进行了多少次运行,使用rollback命令将忽略所有操作。【示例17-2】利用rollback命令界定事务。第5页/共23页17.2.3 Oracle事务的属性和隔离级别Oracle中,可以设定事务的属性和隔离级别,以保证事务运行在某种特定环境。因为数据库状态总是在不断进行变化的,特定的环境有利于事务在一个稳定的状态下工作。这些属性和隔离级别包括:read only属性、read write属性、serializable隔离级别、read commited隔离级别。第6页/共23页17.2.3 Oracle事务的属性和
5、隔离级别1read only属性默认情况下,在一个事务中可以对数据库进行增、删、改、查等各种数据库操作。但是,有时候事务只是为了数据查询和统计而设计,并不希望修改数据库中的数据。此时,可以将事务设置为read only,即只读事务。设置Oracle事务的属性,应该使用set transaction命令。将事务设置为只读事务的语法如下所示。set transaction read only【示例17-3】利用read only设置只读事务。第7页/共23页17.2.3 Oracle事务的属性和隔离级别2read write属性read write属性可以将事务设置为可读、可写状态。这种状态也是事
6、务的默认状态。在这种状态下,事务可以查询、更新数据库内容。第8页/共23页17.2.3 Oracle事务的属性和隔离级别3serializable隔离级别隔离级别是指当前事务对数据库状态变化的屏蔽程度。具有serializable隔离级别的事务是串行化事务。串行化事务与只读事务具有完全相同的隔离级别,外界其他事务对数据库的修改没有认知度。将事务的隔离级别设置为serializable的语法如下所示。set transaction isolation level serializable【示例17-4】串行化事务屏蔽其他事务对数据库的状态修改。第9页/共23页17.3 事务处理原则事务是构成单一
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 零点 起飞 Oracle 数据库 控制
限制150内