1. <ul id="0c1fb"></ul>

      <noscript id="0c1fb"><video id="0c1fb"></video></noscript>
      <noscript id="0c1fb"><listing id="0c1fb"><thead id="0c1fb"></thead></listing></noscript>

      99热在线精品一区二区三区_国产伦精品一区二区三区女破破_亚洲一区二区三区无码_精品国产欧美日韩另类一区

      RELATEED CONSULTING
      相關(guān)咨詢
      選擇下列產(chǎn)品馬上在線溝通
      服務(wù)時(shí)間:8:30-17:00
      你可能遇到了下面的問題
      關(guān)閉右側(cè)工具欄

      新聞中心

      這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
      怎么理解oracle中的事務(wù)

      本篇內(nèi)容主要講解“怎么理解oracle中的事務(wù)”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實(shí)用性強(qiáng)。下面就讓小編來帶大家學(xué)習(xí)“怎么理解oracle中的事務(wù)”吧!

      從網(wǎng)站建設(shè)到定制行業(yè)解決方案,為提供成都網(wǎng)站制作、成都網(wǎng)站建設(shè)、外貿(mào)營銷網(wǎng)站建設(shè)服務(wù)體系,各種行業(yè)企業(yè)客戶提供網(wǎng)站建設(shè)解決方案,助力業(yè)務(wù)快速發(fā)展。成都創(chuàng)新互聯(lián)將不斷加快創(chuàng)新步伐,提供優(yōu)質(zhì)的建站服務(wù)。

      一組SQL語句操作要成為事務(wù),數(shù)據(jù)庫管理系統(tǒng)必須保證這組操作的原子性(Atomicity)、一致性(consistency)、隔離性(Isolation)和持久性(Durability),這就是ACDI特性。

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

      一致性:是指數(shù)據(jù)庫在事務(wù)操作前和操作處理,其中的數(shù)據(jù)必須都滿足業(yè)務(wù)規(guī)定的約束。

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

      持久性:是指當(dāng)事務(wù)結(jié)束后,它對(duì)數(shù)據(jù)庫中的影響是永久的,即便系統(tǒng)遇到故障的情況下,數(shù)據(jù)也不會(huì)丟失。

      數(shù)據(jù)庫事務(wù)由以下的部分組成:

      一個(gè)或多個(gè)DML 語句

      一個(gè) DDL(Data Definition Language – 數(shù)據(jù)定義語言) 語句

      一個(gè) DCL(Data Control Language – 數(shù)據(jù)控制語言) 語句

      事務(wù)的執(zhí)行過程:

      以第一個(gè) DML 語句的執(zhí)行作為開始

      以下面的其中之一作為結(jié)束:

      COMMIT 或 ROLLBACK 語句

      DDL 或 DCL 語句(自動(dòng)提交)

      用戶會(huì)話正常結(jié)束

      系統(tǒng)異常終了

      備注:使用COMMIT 和 ROLLBACK語句,我們可以: 確保數(shù)據(jù)完整性;數(shù)據(jù)改變被提交之前預(yù)覽;將邏輯上相關(guān)的操作分組。

      事務(wù)控制語句

      Set transaction:設(shè)置事務(wù)的屬性

      Set constrains:設(shè)置當(dāng)前事務(wù)的約束模式,設(shè)置約束是修改數(shù)據(jù)的時(shí)候,立即起作用,還是當(dāng)前事務(wù)結(jié)束后應(yīng)用。

      Savepoint :在事務(wù)中建立一個(gè)存儲(chǔ)點(diǎn),回滾時(shí),可以指定回滾到什么地方,然后重新執(zhí)行

      Release savepoint:刪除一個(gè)存儲(chǔ)點(diǎn)

      Rollback:回滾事務(wù)。級(jí)取消對(duì)數(shù)據(jù)庫所做的任何修改

      Commit:提交事務(wù),把事務(wù)中對(duì)數(shù)據(jù)庫的修改進(jìn)行永久保存

      數(shù)據(jù)異常

      因?yàn)镺racle中支持多個(gè)事務(wù)并發(fā)執(zhí)行,所以會(huì)出現(xiàn)下面的數(shù)據(jù)異常。

      錯(cuò)讀|臟讀:當(dāng)user1正在讀數(shù)據(jù)庫中的表A時(shí),user2正在修改表A,user2修改完了,user1又讀一遍表A,user1讀出的是修改過的數(shù)據(jù),而user2又撤消修改了,user1的讀取表A,稱為“錯(cuò)讀”或者“臟讀”

      非重復(fù)讀|不重復(fù)讀:是指一個(gè)事務(wù)讀取數(shù)據(jù)庫中的數(shù)據(jù)后,另一個(gè)事務(wù)則更新了數(shù)據(jù),當(dāng)?shù)谝粋€(gè)事務(wù)再次讀取其中的數(shù)據(jù)時(shí),就會(huì)發(fā)現(xiàn)數(shù)據(jù)已經(jīng)發(fā)生了改變,這就是非重復(fù)讀取。非重復(fù)讀取所導(dǎo)致的結(jié)果就是一個(gè)事務(wù)前后兩次讀取的數(shù)據(jù)不相同。

      假讀|幻讀:如果一個(gè)事務(wù)基于某個(gè)條件讀取數(shù)據(jù)后,另一個(gè)事務(wù)則更新了同一個(gè)表中的數(shù)據(jù),這時(shí)第一個(gè)事務(wù)再次讀取數(shù)據(jù)時(shí),根據(jù)搜索的條件返回了不同的行,這就是假讀。

      事務(wù)中遇到的這些異常與事務(wù)的隔離性設(shè)置有關(guān),事務(wù)的隔離性設(shè)置越多,異常就出現(xiàn)的越少,但并發(fā)效果就越低,事務(wù)的隔離性設(shè)置越少,異常出現(xiàn)的越多,并發(fā)效果越高。

      選擇隔離層

       針對(duì)3中讀取的數(shù)據(jù)時(shí)產(chǎn)生的不一致現(xiàn)象,在ANSI SQL標(biāo)準(zhǔn)92中定義了4個(gè)事務(wù)的隔離級(jí)別.如下圖所示:

      隔離級(jí)別

      錯(cuò)讀|臟讀

      非重復(fù)讀|不重復(fù)讀

      假讀|幻讀

      Read uncommitted(非提交讀)

      Read committed(提交讀)

      Repeatable read(可重復(fù)讀)

      Serializable(串行讀)

      Oracle默認(rèn)的隔離級(jí)別是read committed

      Oracle支持上述地址隔離層中的兩種read committed和Serializable除此之外oracle中還設(shè)置了read only和read write隔離層

      Serializable:設(shè)置事務(wù)的隔離層為它時(shí),

      Read only :事務(wù)中不能有任何修改數(shù)據(jù)庫中的數(shù)據(jù)的操作語句,如insert、update、delete、create語句,read only 是Serializable的子集,區(qū)別是read only只讀,Serializable和執(zhí)行DML語句。

      Read write:是默認(rèn)設(shè)置,改選項(xiàng)表示在事務(wù)中可以有訪問語句。修改語句。但不經(jīng)常使用

      設(shè)置事務(wù)的屬性

      建立 set transaction的語句

      如:

      Set transaction read noly

      或:

      Set transaction read write

      或:

      Set transaction isolation level read commnitted

      或:

      Set transaction isolation level serializable

      注意:這些語句是互斥的。不能同時(shí)設(shè)置兩個(gè)或兩個(gè)以上的選項(xiàng)

      到此,相信大家對(duì)“怎么理解oracle中的事務(wù)”有了更深的了解,不妨來實(shí)際操作一番吧!這里是創(chuàng)新互聯(lián)網(wǎng)站,更多相關(guān)內(nèi)容可以進(jìn)入相關(guān)頻道進(jìn)行查詢,關(guān)注我們,繼續(xù)學(xué)習(xí)!


      網(wǎng)站欄目:怎么理解oracle中的事務(wù)
      分享網(wǎng)址:http://www.ef60e0e.cn/article/pijsce.html
      99热在线精品一区二区三区_国产伦精品一区二区三区女破破_亚洲一区二区三区无码_精品国产欧美日韩另类一区
      1. <ul id="0c1fb"></ul>

        <noscript id="0c1fb"><video id="0c1fb"></video></noscript>
        <noscript id="0c1fb"><listing id="0c1fb"><thead id="0c1fb"></thead></listing></noscript>

        达州市| 彭泽县| 湖口县| 加查县| 正安县| 宜城市| 南丰县| 五家渠市| 道真| 腾冲县| 运城市| 京山县| 威远县| 内江市| 双流县| 宜阳县| 安仁县| 虎林市| 汉中市| 平南县| 余干县| 江山市| 阜康市| 乌拉特后旗| 乡城县| 从江县| 仁布县| 孝昌县| 玉林市| 三门峡市| 柘城县| 松原市| 疏附县| 神木县| 大同县| 珠海市| 邻水| 惠州市| 辛集市| 丽江市| 夏河县|