若何故事物的方法对数据库举行拜候-体系架构[Oracle防范]
本文“若何故事物的方法对数据库举行拜候-体系架构[Oracle防范]”是由七道奇为您精心收集,来源于网络转载,文章版权归文章作者所有,本站不对其观点以及内容做任何评价,请读者自行判断,以下是其具体内容:
一 事件的概念
事件是由相关操作构成的一个完好的操作单元.两次持续成功的COMMIT或ROLLBACK之间的操作,称为一个事件.在一个事件内,数据的改正一同提交或撤消,假如发生弊端或系统错误,整个事件也会自动撤消.
oracle的数据语音分为数据定义语言(DDL)、数据掌握语言(DCL)和数据操作语言(DML).此中的DML语言会生成事件,其他两种语言只要履行,事件就会完毕.
简单的说DML语言可以成立事件,DDL和DCL不能成立事件.
DML语言包含几个号令,比方 select insert delete update等等,这些号令履行后,当前用户的显示信息是更改了,但是其他人拜候你改的表的时刻数据并没有更改,需求利用commit确认后才能更改.假如当前用户在没有履行commit前反悔操作了,那利用rollback号令可以回退到履行操作语句之前,但是假如已经履行了commit语句是无法回退的.
比方,我们去银行转账,操作可以分为下面两个环节:
(1) 从第一个账户划出款项.
(2) 将款项存入第二个账户.
在这个历程中,两个环节是关联的.第一个账户划出款项必须保证精确的存入第二个账户,假如第二个环节没有完成,整个的历程都应当撤消,不然就会发生丧失款项的问题.整个交易历程,可以看做是一个事物,成功则全部成功,失利则需求全部撤消,这样可以避免当操作的中间环节呈现问题时,产生数据不一致的问题.
一个事件是由一个可履行的SQL语句开始,一个可履行SQL语句产生对实例的调用.在事件开始时,被赋给一个可用回滚段,记录该事件的回滚项.一个事件以下列任何一个呈现而完毕.数据库事件是一个逻辑上的划分,有的时刻并非很明显,它可以是一个操作步骤,也可以是多个操作步骤.
我们可以这样理解数据库事物:对数据库所做的一系列改正,在改正历程中,暂时不写入数据库,而是缓存起来,用户在自己的终端可以预览改变,直到全部改正完成,并经过查抄确认无误后,一次性提交并写入数据库,在提交之前,必要的话所做的改正都可以撤消.提交之后,就不能撤消,提交成功后其他用户才可以通过查询浏览数据的改变.
以事件的方法对数据库举行拜候,有以下的长处:
* 把逻辑相关的操作分成了一个组.
* 在数据永久改变前,可以预览数据改变.
* 可以保证数据的读一致性.
二 数据库事件的利用
数据库事件处理可分为隐式和显式两种.显式事件操作通过号令实现,隐式事件由系统自动完成提交或撤消(回退)工作,无需用户的干涉.
隐式提交的情形包含:当用户正常退出SQL*Plus或履行CREATE、DROP、GRANT、REVOKE等号令时会发闹事件的自动提交.
还有一种情形,假如把系统的环境变量AUTOCOMMIT设置为ON(默许状况为OFF),则每当履行一条INSERT、DELETE或UPDATE号令对数据举行改正后,就会即刻自动提交.设置号令格局以下:
SET AUTOCOMMIT ON/OFF
隐式回退的情形包含:当非常完毕SQL*Plus或系统弊端发生时,会发闹事件的自动回退.
显式事件处理的数据库事件操作语句有3条,辨别是COMMIT,ROLLBACK,SAVEPOINT语句.
以上是“若何故事物的方法对数据库举行拜候-体系架构[Oracle防范]”的内容,如果你对以上该文章内容感兴趣,你可以看看七道奇为您推荐以下文章:
本文地址: | 与您的QQ/BBS好友分享! |