Oracle資料並發性和一致性保護

來源:互聯網
上載者:User
 

資料並發性意味著許多使用者可以同時訪問資料。 資料一致性意味著每個使用者看到的資料具有一致性,包括目前使用者事務和其他使用者事務對資料的改變。  資料並發性和一致性保護是為了防止並行事物情況可能出現的三種現象: 髒讀(dirty read):事務讀取了其他事務還沒有提交的修改; 不可重複讀取(nonrepeatable read):事務讀取先前曾讀取過的資料,發現其他的已提交事務修改或刪除了要讀取的資料; 假象讀(phantom read):事務再次執行一個查詢,發現其他已提交事務插入了新的滿足當前查詢條件的資料。 針對以上三種現象,SQL92標準指定了4種隔離制度,這4種隔離方式一種比一種嚴格。 Read uncommitted:允許髒讀、不可重複讀取和幻象讀; Read committed:不允許髒讀,允許不可重複讀取和幻象讀; Repeatable read:不允許髒讀、不可重複讀取,允許幻象讀; Serializable:不允許髒讀、不可重複讀取和幻象讀。 Oracle提供Read Committed和Serializable隔離等級,還提供了一種額外的唯讀模式。其中預設採用Read Committed模式。 Read Committed提供語句級讀一致性,Serializable提供事務級讀一致性。Read Committed等級下,仍然可能產生不可重複讀取和假象讀的情況。Serializable等級下則不會。隔離等級的實質:當Oracle開始一個查詢時,只會讀取SCN小於當前查詢SCN的記錄,如果探索資料檔案中記錄的SCN比查詢的SCN大,則Oracle會從復原段中找到資料在查詢發生之前的鏡像。 除了隔離等級之外,oracle還提供鎖來進行資料的並發和一致性保護,但一般不需要瞭解。

 

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.