Oracle 11g R2 事物的控制
admin
2023-04-18 13:45:17
0

控制事务

银行转账

李四给张三汇款

ACID

A:原子性:整个事务中所有的步骤是不可分割的,原子性原则规定一个事务的各个步骤都必须完成,否则整个事务都不会完成。即保证一个事务中所有的操作都能完成或者都不能完成,如果事务在完成之前出现任何错误,那么数据库自身必须保证自动回滚所做过的任何事务部分(并且必须自动进行)

C:一致性:无论是事务前,事务中,事务后,数据始终处于一致的状态。例如李四给张三汇款10000,那么就需要从李四账户减去10000,给张三的账户增加10000。Oracle使用撤销段来保证数据的一致性。

I:隔离性:隔离性的原则规定,未完成的事务必须不可视。在某个事务进行期间,只有执行该事务的会话能看见所做的变化,而其他所有的会话看见的都是没有变化的数据(而不是更改后的新值)。这个规定的逻辑含义是:首先,由于整个事务可能没有全部完成,因此不允许其他用户看到可能回滚的变化;其次,在某个事务进行期间,数据是不连贯的,李四的账户减掉10000,但张三的账户还没有增加10000。事务的隔离性要求数据库必须对其他用户隐藏正在进行的事务,这些用户只能看到没有被更新的数据,只有在事务完成时,他们才能看到所有变化。Oracle使用撤销段来保证事务的隔离性。

创建练习环境:创建一个aa表,插入3条记录,并提交事物。
Oracle 11g R2 事物的控制
查看aa表的记录,插入一条记录,当我们执行一条DML语句时候,就自动开始了一个事物
Oracle 11g R2 事物的控制
此时insert记录的事务并没有提交,没有提交事务就没有真正的完成,此时还有rollback的机会。

Scott用户在当前会话中查看aa表时可以看到被插入的记录
Oracle 11g R2 事物的控制
打开一个新的sqlplus会话,查看aa表时会发现并没有新插入的记录:这是事物的隔离性
Oracle 11g R2 事物的控制
在第一个sqlplus会话中提交事物
Oracle 11g R2 事物的控制
提交之后才能在第二个会话中看到被插入的第四条记录
Oracle 11g R2 事物的控制
D:持久性:一旦使用commit命令来结束某个事务,那么就必须保证数据库不丢失这个事务。在事务进行期间,隔离性的原则要求除了指定会话涉及的用户之外的任何用户都不能查看当前所做的变化。不过事务一旦完成,所有用户都必须能够立即看到所做的变化,同时数据库必须保证这些变化绝不会丢失。Oracle通过使用日志文件来满足这个需求。日志文件具有两

种形式:联机重做日志文件,归档重做日志文件。

一个正确配置的oracle数据库是不可能丢失数据的。当然用户的错误(包括不恰当的DML或删除对象)也会造成数据的丢失

DDL语句有自动提交功能(create、drop、truncate、alter)
Oracle 11g R2 事物的控制
创建表AA,插入一条记录
Oracle 11g R2 事物的控制
回退事物
Oracle 11g R2 事物的控制
在表中插入一条记录
Oracle 11g R2 事物的控制
在sqlplus中正常退出
Oracle 11g R2 事物的控制
在另外一个sqlplus中查看aa表中的记录,会发现新插入的tom1的记录了。如果使用sqlplus工具更改了数据之后,正常退出sqlplus时,oracle会自动提交事物。
Oracle 11g R2 事物的控制
目前aa表中只有tom1的记录
Oracle 11g R2 事物的控制
模拟实例重启
Oracle 11g R2 事物的控制
使用scott用户连接,查看aa表中的内容,发现insert tom2的记录由于实例重启自动被回滚了。
Oracle 11g R2 事物的控制
使用autocommit实现事物的自动提交
Oracle 11g R2 事物的控制
即使执行回滚,查询结果仍然包含新插入的数据,关闭自动提交时可以使用set autocommit off
Oracle 11g R2 事物的控制
关于事物的总结:

  1. 需要注意的是,Commit:只是用来确认这个数据已经正式的修改了,不一定非得写入硬盘,DBWn什么都不做。执行commit命令时发生的所有物理操作时LGWR进程将日志缓冲区的内容写入磁盘。DBWN进程完全没有执行任何操作。DBWN进程与提交事物处理没有关系,不过最终DBWN进程会将变化的数据块写入磁盘。

  2. commit和rollback语句只应于DML语句,我们无法回滚DDL语句。DDL语句一旦被执行就会立即具有持久状态。

3.自动提交和隐式提交:oracle在某些情况下可以进行自动提交:执行DDL语句是一种情况,退出某个用户进程也是一种自动提交。

如果对此有兴趣,请扫下面二维码免费获取更多详情
Oracle 11g R2 事物的控制

相关内容

热门资讯

“特高课”再现?日本强推“国家... 无视反对战争正义呼声 复刻战前军国主义体制日本强推“国家情报局”引发广泛担忧和批评(国际视点)本报记...
6G相比5G不只是速度更快 将...   6G相比5G不只是速度更快  【6G相比5G不只是速度更快】7月28日,相比5G,6G不仅是速度...
趣享夏日消保同行 泰康人寿深圳...   7月12日,为落实2026年“7·8全国保险公众宣传日”工作部署,泰康人寿深圳分公司结合三十周年...
泰康人寿深圳分公司联合泰康养老...   为深入践行金融工作的政治性、人民性,切实守护新就业群体的财产安全,7月23日下午,在深圳市居民金...
中牟改善买房必看:三代宅和四代... 准备在中牟买改善房的人,十有八九会纠结同一个问题:到底是买传统的第三代住宅,还是紧跟郑州置业主流买第...
徐巧芯剖析赖清德:最怕自己丢掉... 海峡导报综合报道 大罢免投票一周年纪念活动26日举行,台北市长蒋万安出席并怒轰,民进党一年过后仍没有...
中国红十字会总会紧急向广东调拨... 记者从中国红十字会总会了解到,针对台风“红霞”给广东造成的灾情,中国红十字会总会启动四级应急响应,紧...
这些少年,正被“毒蛋”围猎 李梦抽了几口电子烟,吐出了白色的烟雾,有一股浓烈的水果香味。随后,她看着自己握电子烟的手,跟身边人说...
蒋万安号召“倒阁”,卢秀燕认为... 海峡导报综合报道 台北市长蒋万安27日抛出震撼议题,表示多名民代向他提议推动“倒阁”,要求台行政机构...
特朗普将在白宫会见两位重要客人 俄乌战争仍未结束,美伊冲突又有升级风险。在此背景下,美国总统特朗普将在白宫接见乌克兰和以色列领导人。...