zoukankan      html  css  js  c++  java
  • 相克军_Oracle体系_随堂笔记011-事物

    数据库主要实现的功能无非是以下三点:
    ①数据的一致性,
    ②数据的安全,
    ③数据的优化。
     
    事物主要影响数据的一致性。

    1、事务的基本概念
        一组DML语句    insert、delete、update
        COMMIT;
        ROLLBACK;
        SAVEPOINT <savepoint_name>
        ROLLBACK TO [SAVEPOINT] <savepoint_name>

    2、隐式提交和回滚
        DDL
        退出
            异常退出
            正常退出

    正常退出,会隐含提交。
    做的任何DML操作都要显示的提交或者回滚。不要让Oracle隐式的提交或者回滚。
     
    3、事务的含义

            1.原子性(Atomicity)

    事务的原子性是指事务中包含的所有操作要么都做,要么都不做,保证数据库是一致的。
    例如:A帐户向B帐户划账1000,则先将A减少1000,再将B增加1000,这两个动作要么都提交,要么都回退,不可能发生一个有效、一个无效的情况。
     
            2.一致性(Consistency)

    一致性是指数据库在事务操作前和事务处理后,其中的数据必须都满足业务规则约束。
    例如:A、B帐户的总金额在转账前和转帐后必须一致,其中的不一致必须是短暂的,在事务提交前才会出现的。
    再如:约定B帐户不能多于1000元,则A转出1000成功,B转入1000失败,最终由原子性得到——整个事务回滚
     
            3.隔离性(Isolation)

    隔离性是数据库允许多个并发事务同时对数据进行读写和修改的能力,隔离性可以防止多个事务并发执行时由于交叉执行而导致数据的不一致。
    例如:在A、B之间转帐时,C同时向A转帐,若同时进行则A、B之间的一致性不能得到满足。所以在A、B事务执行过程中,其他事务不能访问(修改)当前相关的数值。
     
            4.持久性(Durability)

    持久性表示为:事务处理结束后,对数据的修改就是永久的,即便系统故障也不会丢失。
    在提交之前如果系统故障,则所有信息全部丢失。提交之后数据存放在磁盘中,是永久性的。

    4、事务的隔离级别

        SET TRANSACTION ISOLATION LEVEL SERIALIZABLE;
        commit;
        SET TRANSACTION ISOLATION LEVEL READ COMMITED;
        SET TRANSACTION READ ONLY;
        SET TRANSACTION READ WRITE;
    
    select xidusn,ubablk,ubafil from v$transaction;
    
  • 相关阅读:
    26个新鲜有魅力的自适应网站设计实例
    计划——Redis
    Go语言工具go get的一点问题
    JNDI数据源的配置及使用 (2010-11-21 21:16:43)转载▼
    策略模式
    在Sping的配置文件中,关于dataSource的配置,就我们常用的方法大致可以有三种:
    Spring 中 用 ${xxx} 读取properties文件的说明
    Spring中属性文件properties的读取与使用
    通过Spring @PostConstruct 和 @PreDestroy 方法 实现初始化和销毁bean之前进行的操作
    设置xml以让通知spring 扫描 注解
  • 原文地址:https://www.cnblogs.com/jyzhao/p/3819377.html
Copyright © 2011-2022 走看看