zoukankan      html  css  js  c++  java
  • oracle中事务处理

    转自:https://www.cnblogs.com/wakey/p/4477698.html

    事务用于保证数据的一致性,它由一组相关的dml语句组成,该组的dml语句要么全部成功,要么全部失败。

    事务和锁

    当执行事务操作时(dml语句),oracle会在被作用的表上加锁,防止其它用户改表的结构,这里对我们用户来讲是非常重要的。

    提交事务

    当执行commit语句可以提交事务,当执行了commit语句后,会确认事务的变化、结束事务、删除保存点、释放锁,当使用commit语句结束事务后,其它会话将可以查看到事务变化后的新数据。

    回退事务

    在介绍回退事务前,我们先介绍一下保存点(savepoint)的概念和作用,保存点是事务中的一点,用于取消部分事务,当结束事务时,会自动的删除该事务所定义的所有保存点。当执行rollback时,通过指定保存点可以回退指定的点。

    所有的事务处理操作都是针对于每一个session进行的,在Oracle数据库之中,把每一个连接到数据库上的用户都称为一个session,每一个session之间彼此独立,不会有任何的通讯,而每一个session独享自己的事务控制,而事务控制之中主要使用两个命令:

    • 事务的回滚:ROLLBACK,更新操作回到原点;
    • 事务的提交:COMMIT,真正的发出更新的操作,一旦提交之后无法回滚;

    但是这样一来也会出现一些问题,例如:某一个session在更新数据表的时候还没有提交事务,其他session是无法更新的,必须等待之前的session提交后才可以;

    这种问题从大的方面讲可以称为死锁,但是在Oracle之中死锁有很多的种类,这些与开发者没有太大的关系,是由DBA负责的。

    所有的数据更新一定都会受到事务的控制。

  • 相关阅读:
    CSS3(4)---动画(animation)
    MDT 2010驱动管理新方法。
    windows 2012 试用180天
    Mac地址绑定的wifi
    用于主题检测的临时日志(b2d5c7b3-e3f6-4b0f-bfa4-a08e923eda9b
    samba4.1.9安装
    samba权限之easy举例说明--原创
    NFS性能优化
    工作组环境下管理windows.
    管理windows防火墙
  • 原文地址:https://www.cnblogs.com/sharpest/p/10508349.html
Copyright © 2011-2022 走看看