Oracle事務控制總結

weixin_34321977發表於2010-07-10

一、Oracle事務控制:
     1、組成單個邏輯工作單元的一系列操作被稱為事務。
     2、資料庫事務組成:
          1、0~多條DML語句
          2、1條DDL(Data Define Language)語句
          3、1條DCL(Data Control Language)語句
     3、事務特性(ACID):
          -原子性(Atornicity)
          -一致性(Consistency)
          -隔離性(Isolation)
          -永續性(Durability)
     4、事務的開始和結束
      1、事務開始於第一條可執行語句
      2、事務結束:
         -遇到commit 或rollback語句
         -遇到DDL 或DCL語句
         -使用者會話結束
         -系統崩潰
   5、事務的提交和回滾
        顯式的提交和回滾操作是為了更好的保證資料的一致性,下述情況下事務會被自動提交:
      -執行一個DDL語句
      -執行一個DCL語句
      -正常結束會話
     -會話異常終止/系統崩潰時事務被自動回滾
     6、提交/回滾前資料狀態
     -當前事務中資料狀態的改變是可以恢復的
     -當前事務中的DML操作結果只對當前使用者(會話)可見,其它使用者(會話)看不到當前事務中資料狀態的改變,直到當前事務結束。
     -當前事務中DML語句所涉及到的行被鎖定,其它使用者(會話)不能對其進行修改操作。
     7、事務提交後資料狀態
     -資料的修改永久生效,不可再撤消
     -資料以前的狀態永久丟失,無法恢復
     -所有的使用者(會話)都將看到操作後的結果
     -記錄鎖被釋放,其它使用者可對這些進行修改操作
     -事務中的儲存點(savepoints)被清除
     8、事務回滾後資料狀態
     -資料的修改被撤消
     -資料恢復到修改前的狀態
     -記錄鎖被釋放
     9、儲存點
         ---通過儲存點在當前的事務中建立標記,將來可回退到指定的標記(儲存點)處,實現事務的部分回滾。
     ---用法舉例
       insert into dept values (22,'adf','BeiJing');
       insert into dept values (23,'fda','Shanghai');
       savepoint p1;
       insert into dept values (24,'gdf','Tianjing');
       select * from dept; 
       rollback to p1;
       select * from dept;

 

 

相關文章