8章 Oracle-數據庫事務_第1頁
8章 Oracle-數據庫事務_第2頁
8章 Oracle-數據庫事務_第3頁
8章 Oracle-數據庫事務_第4頁
8章 Oracle-數據庫事務_第5頁
已閱讀5頁,還剩15頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

Java程序員Oracle就業課程Lesson8數據庫事務主講:楊昊Q:952063095

理解數據據庫事務務概念掌握數據據庫處理理事務的的方法目標標事務的必必要性銀行轉帳帳例如,銀銀行轉帳帳問題::假定資金金從帳戶戶A轉到帳戶戶B,至少需需要兩步步:帳戶A的資金減減少然后帳戶戶B的資金相相應增加加帳戶A帳戶B事務(TRANSACTION))是作為單單個邏輯輯工作單單元執行行的一系系列操作作這些操作作作為一一個整體體一起向向系統提提交,要要么都執執行、要要么都不不執行事務是一一個不可可分割的的工作邏邏輯單元元數據庫事事務事務必須須具備以以下屬性性:原子性((Atomicity):事務是一一個完整整的操作作。事務務的各步步操作是是不可分分的(原原子的));要么么都執行行,要么么都不執執行一致性((Consistency):當事務完完成時,,數據必必須處于于一致狀狀態隔離性(Isolation):對數據進進行修改改的所有有并發事事務是彼彼此隔離離的,這這表明事事務必須須是獨立立的,它它不應以以任何方方式依賴賴于或影影響其他他事務永久性((Durability)::事務完成成后,它它對數據據庫的修修改被永永久保持持,事務務日志能能夠保持持事務的的永久性性事務的四四個屬性性--ACID當執行事事務操作作的時候候(DML語句)時,Oracle會在被作作用表上上面加表表鎖.以防止其其他用戶戶改變表表結構,同時會在在被作用用行上加加行鎖,以防止其其他事務務在應用用行上執執行DML操作.如會話話Aupdate會話Balter事務1.事務和鎖鎖在Oracle數據庫中中,為了確保保數據庫庫數據的的讀一致致性,不允許其其他用戶戶讀取臟臟數據(未提交事事務).如Aupdate但沒提交交Bselect事務1.事務和鎖鎖使用commit語句可以以提交事事務.當執行了了commit語句之后后,會確認事事務變化化,結束事務務,刪除保存存點,釋放鎖.當使用commit語句結束束事務之之后,其他會話話可以看看到事務務變化后后的新數數據.當出現一一下情況況會自動動提交事事務:1.當執行DDL語句,如create,,alter,,droptable...2.當執行DCL語句,grant,revoke3.當退出sqlplus事務2.提交事務務保存點:保存點是是事務回回退點,他用于取取消部分分事務,當結束事事務的時時候,會自動刪刪除該事事務所定定義的所所有保存存點.當執行rollback命令的時時候,通過指定定保存點點可以取取消部分分事務.設置保存存點:savepoint保存點名名稱;取消部分分事務:rollbackto保存點;這樣保存存點之前前的操作作提交,之后的操操作取消消.取消全部部事務:rollback;當使用rollback取消事務務的時候候,會取消所所有事務務變化,結束事務務,刪除所有有保存點點并釋放放鎖.當出現系系統災難難或應用用程序地地址例外外的時候候,會自動回回退其事事務變化化.事務3.回退事務務只讀事務務:是指允許許執行查查詢操作作,而不允許許執行任任何DML操作的事事務,當使用只只讀事務務的時候候,可以確保保用戶取取得特定定時間點點的數據據.假定企業業需要在在每天16時統計最最近一天天的消費費信息,而不統計計當天16時之后的的銷售信信息,那么可以以使用只只讀事務務.在設置了了只讀事事務之后后,盡管其他他會話可可能會提提交新的的事務,但只讀事事務將不不會取得得新的數數據變化化.從而確保保特定時時間點的的數據信信息.事務4.只讀事務務使用只讀讀事務:settransactionreadonly;Settransactionisolationlevelreadcommitted注意:當設置只只讀事務務的時候候,該語句必必須是事事務開始始的第1條語句.不能在READONLY事務處理理中執行行插入/刪除/更新操作作事務4.只讀事務務只讀事務務可以使使得用戶戶取得特特定時間間點的數數據信息息,但當設置置了只讀讀事務的的時候,會話將不不能執行行delete//insert/update等dml操作,為了使得得用戶可可以取得得特定時時間點的的數據,并且允許許執行dml操作,可以使用用順序事事務.事務5.順序事務務以第一個個DMLSQL語句執行行開始以下面的的事件為為止—COMMIT或者ROLLBACK語句被執執行—一個DDL或者DCL語句執行行(自動動提交))—用戶退出出SQL**Plus—系統崩潰潰數據庫事事務確保數據據一致在做永久久改變之之前可以以預覽數數據改變變組邏輯上上的相關關操作COMMIT和ROLLBACK語句的優點使用COMMIT和ROLLBACK語句,你你可以:提交數據據進行改變變提交改變變數據庫中中數據的的改變被被永久化化不會丟丟失,即即使系統統崩潰。。事務結構構,舊事事務狀態態被清除除,新事事務開始始。舊事務中中的鎖定定的行被被釋放,,這些行行現在可可以被其其它用戶戶進行操操作。在COMMIT之后的數數據狀態態數據的改改變被撤撤回數據先前前的狀態態被還原原受影響行行上面的的鎖被釋釋放在Rollback之后數據據的狀態態使用ROLLBACK命令放棄棄所有未未決的改改變DELETEFROMcopy_emp;22rowsdeleted..ROLLBACK;Rollbackcomplete.在下列環環境下自自動提交交會發生生—DDL語句被執執行—DCL語句被執執行—從SQL**Plus中的正常常退出,,沒有顯顯式執行行COMMIT或者ROLLBACK語句在SQL**Plus非正常結結束或者者系統失失敗,自自動回滾滾發生。。隱式事務務處理事務獨立立方式讀提交readcommitted事務中讀讀取其它它對話已已提交的的數據。。連續讀serializable事務中讀讀取的數數據保持持一致性性

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論