• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      淺析Oracle事務(wù)

      2012-08-15 00:44:25山西郭如菊
      職業(yè)技術(shù) 2012年8期
      關(guān)鍵詞:事務(wù)完整性語句

      山西 郭如菊

      在IT技術(shù)高速發(fā)展的今天,數(shù)據(jù)庫技術(shù)的地位越來越重要。任何大型信息系統(tǒng),都需要有數(shù)據(jù)管理系統(tǒng)作為支撐。其中,Oracle以其卓越的性能獲得了廣泛的應(yīng)用。保持?jǐn)?shù)據(jù)一致性和完整性,是每一款成功商業(yè)數(shù)據(jù)庫都必須做到的基本要求。Oracle的事務(wù)正是保證數(shù)據(jù)庫一致性和完整性的機(jī)制。了解和掌握事務(wù)的特點(diǎn)和使用技巧,可有效保證數(shù)據(jù)庫的安全性和完整性。

      一、事務(wù)及特性

      (一)事務(wù)

      事務(wù)是用戶定義的由一條或多條SQL語句組成的邏輯操作單位,是數(shù)據(jù)庫應(yīng)用程序的基本邏輯單位。事務(wù)是保證數(shù)據(jù)庫一致性和完整性的機(jī)制。一個事務(wù)中的SQL語句,全部執(zhí)行時(shí),就是提交事務(wù),對數(shù)據(jù)庫的修改會永久的保存到數(shù)據(jù)庫;全部取消執(zhí)行時(shí),即撤銷事務(wù),回到執(zhí)行前的數(shù)據(jù)庫狀態(tài)。

      (二)事務(wù)的ACID特性

      對一組SQL語句操作構(gòu)成事務(wù),數(shù)據(jù)庫操作系統(tǒng)必須確保這些操作的原子性、一致性、隔離性、持久性。

      1.原子性(Atomicity)

      事務(wù)的原子性是指事務(wù)中包含的所有操作要么全做,要么不做,也就是說所有的活動在數(shù)據(jù)庫中要么全部反映,要么全部不反映,以保證數(shù)據(jù)庫的一致性。

      2.一致性(Consistency)

      事務(wù)的一致性是指數(shù)據(jù)庫在事務(wù)操作前和事務(wù)處理后,其中數(shù)據(jù)必須滿足業(yè)務(wù)的規(guī)則約束。事務(wù)執(zhí)行的結(jié)果必須是使數(shù)據(jù)庫從一個一致性狀態(tài)變到另一個一致性狀態(tài)。

      3.隔離性(Isolation)

      隔離性是指數(shù)據(jù)庫允許多個并發(fā)的事務(wù)同時(shí)對其中的數(shù)據(jù)進(jìn)行讀寫或修改的能力,隔離性可以防止多個事務(wù)的并發(fā)執(zhí)行時(shí),由于它們的操作命令交叉執(zhí)行而導(dǎo)致數(shù)據(jù)的不一致性。

      4.持久性(durability)

      事務(wù)的持久性也稱永久性,是指一個事務(wù)一旦提交,它對數(shù)據(jù)庫中數(shù)據(jù)的改變就應(yīng)該是永久性的。接下來的其他操作不應(yīng)該對其執(zhí)行結(jié)果有任何影響。即便是系統(tǒng)在遇到故障的情況下也不會丟失,這是數(shù)據(jù)的重要性決定的。

      二、事務(wù)控制語句

      在Oracle數(shù)據(jù)庫中,沒有提供開始事務(wù)處理語句,所有的事務(wù)都是隱式開始的,也就是在Oracle中,用戶不可以顯示使用命令來開始一個事務(wù)。oracle任務(wù)第一條修改數(shù)據(jù)庫的語句,或者一些要求事務(wù)處理的場合都是事務(wù)的隱式開始。但是當(dāng)用戶想要終止一個事務(wù)處理時(shí),必須顯示使用commit和rollback語句結(jié)束。

      根據(jù)事務(wù)ACID屬性,Oracle提供了如下的事務(wù)控制語句:

      (一)Set transaction設(shè)置事物屬性

      set transaction語句可用來設(shè)置事物的各種屬性。該語句必須放在事務(wù)處理的第一個語句。也就是說,必須在任何insert、update、delete語句以及其他的事務(wù)處理。

      Set transaction的語句可以讓用戶對事務(wù)的以下屬性進(jìn)行設(shè)置:

      1.指定事務(wù)的隔離層

      2.規(guī)定回滾事務(wù)所使用的存儲空間

      3.命名事務(wù)

      值得注意的一點(diǎn)是:set transaction只對當(dāng)前事務(wù)有效;事務(wù)終止,事務(wù)當(dāng)前的設(shè)置將會失效。

      (二)Set constrains設(shè)置事物的約束模式

      約束模式是指:在事務(wù)中修改數(shù)據(jù)時(shí),數(shù)據(jù)庫中的約束立即應(yīng)用于數(shù)據(jù),還是將約束推遲到當(dāng)前事務(wù)結(jié)束后應(yīng)用。

      (三)Comm it提交事務(wù)對數(shù)據(jù)庫的操作做持久的保存

      (四)Ro llback回滾事務(wù)取消對數(shù)據(jù)庫所作的任何操作

      (五)Savepoint在事務(wù)中建立一個存儲的點(diǎn)。當(dāng)事務(wù)處理發(fā)生異常而回滾事務(wù)時(shí),可指定事務(wù)回滾到某存儲點(diǎn),然后從該存儲點(diǎn)重新執(zhí)行。

      (六)Release savepoint刪除存儲點(diǎn)

      回滾的含義是撤銷一個未提交事務(wù)中已執(zhí)行的SQL語句對數(shù)據(jù)的修改。Oracle使用undo tablespace(或rollback segment)來存儲被修改的數(shù)據(jù)的原始值。而redo log內(nèi)則保存了對數(shù)據(jù)修改操作的記錄。

      用戶可以回滾整個未提交事務(wù)。除此之外,用戶還可以部分回滾未提交事務(wù),即從事務(wù)的最末端回滾到事務(wù)中任意一個被稱為保存點(diǎn)的標(biāo)記處。

      通過本文的分析,可以看到事務(wù)從開始到結(jié)束的完整過程,事務(wù)處理技術(shù)是數(shù)據(jù)管理系統(tǒng)的重要組成部分,如何正確合理的應(yīng)用以保證數(shù)據(jù)庫的安全性和完整性還需要每個使用者認(rèn)真的研究。

      [1]王珊,薩師煊.數(shù)據(jù)庫系統(tǒng)概論(第四版).北京:高等教育出版社,2006.

      [2]《國家人力資源和社會保障部、國家工業(yè)和信息化部信息專業(yè)技術(shù)人才知識更新工程(“653工程”)指定教材》叢書編委會.Oracle數(shù)據(jù)庫管理與應(yīng)用教程.北京:中國電力出版社,2009.

      [3]鄭阿奇.Oracle實(shí)用教程.北京:電子工業(yè)出版社,2007.

      猜你喜歡
      事務(wù)完整性語句
      “事物”與“事務(wù)”
      基于分布式事務(wù)的門架數(shù)據(jù)處理系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)
      稠油熱采水泥環(huán)完整性研究
      云南化工(2021年9期)2021-12-21 07:44:00
      重點(diǎn):語句銜接
      河湖事務(wù)
      精彩語句
      莫斷音動聽 且惜意傳情——論音樂作品“完整性欣賞”的意義
      精子DNA完整性損傷的發(fā)生機(jī)制及診斷治療
      如何搞定語句銜接題
      語文知識(2014年4期)2014-02-28 21:59:52
      樁身完整性檢測中缺陷的綜合判別
      河南科技(2014年18期)2014-02-27 14:14:46
      涟源市| 台州市| 巴楚县| 岐山县| 正定县| 稷山县| 杭州市| 威远县| 潞西市| 玉树县| 洮南市| 衡阳市| 苍梧县| 民和| 方城县| 恩施市| 东阿县| 嘉鱼县| 松滋市| 石门县| 涟源市| 灵石县| 吉木萨尔县| 乌审旗| 广河县| 永胜县| 南溪县| 乐清市| 邮箱| 南雄市| 图们市| 奉化市| 璧山县| 江阴市| 绥德县| 乐昌市| 越西县| 长白| 鹤岗市| 买车| 老河口市|