第8章 Oracle_數(shù)據(jù)庫事務(wù)ppt課件_第1頁
第8章 Oracle_數(shù)據(jù)庫事務(wù)ppt課件_第2頁
第8章 Oracle_數(shù)據(jù)庫事務(wù)ppt課件_第3頁
第8章 Oracle_數(shù)據(jù)庫事務(wù)ppt課件_第4頁
第8章 Oracle_數(shù)據(jù)庫事務(wù)ppt課件_第5頁
已閱讀5頁,還剩15頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

1、Java程序員Oracle就業(yè)課程Lesson 8 數(shù)據(jù)庫事務(wù)主講:楊昊 Q:952063095 .了解數(shù)據(jù)庫事務(wù)概念掌握數(shù)據(jù)庫處置事務(wù)的方法目 標(biāo).事務(wù)的必要性銀行轉(zhuǎn)帳例如,銀行轉(zhuǎn)帳問題: 假定資金從帳戶A轉(zhuǎn)到帳戶B,至少需求兩步:帳戶A的資金減少然后帳戶B的資金相應(yīng)添加 帳戶A帳戶B.事務(wù)(TRANSACTION)是作為單個邏輯任務(wù)單元執(zhí)行的一系列操作這些操作作為一個整體一同向系統(tǒng)提交,要么都執(zhí)行、要么都不執(zhí)行 事務(wù)是一個不可分割的任務(wù)邏輯單元 數(shù)據(jù)庫事務(wù).事務(wù)必需具備以下屬性:原子性Atomicity:事務(wù)是一個完好的操作。事務(wù)的各步操作是不可分的原子的;要么都執(zhí)行,要么都不執(zhí)行一致性C

2、onsistency:當(dāng)事務(wù)完成時,數(shù)據(jù)必需處于一致形狀隔離性Isolation:對數(shù)據(jù)進(jìn)展修正的一切并發(fā)事務(wù)是彼此隔離的,這闡明事務(wù)必需是獨立的,它不應(yīng)以任何方式依賴于或影響其他事務(wù)永久性Durability:事務(wù)完成后,它對數(shù)據(jù)庫的修正被永久堅持,事務(wù)日志可以堅持事務(wù)的永久性事務(wù)的四個屬性-ACID .當(dāng)執(zhí)行事務(wù)操作的時候(DML語句)時,Oracle會在被作用表上面加表鎖.以防止其他用戶改動表構(gòu)造,同時會在被作用行上加行鎖,以防止其他事務(wù)在運用行上執(zhí)行 DML操作.如 會話A update 會話B alter事務(wù)1. 事務(wù)和鎖.在Oracle數(shù)據(jù)庫中,為了確保數(shù)據(jù)庫數(shù)據(jù)的讀一致性,不允許

3、其他用戶讀取臟數(shù)據(jù)(未提交事務(wù)).如 A update 但沒提交 B select事務(wù)1. 事務(wù)和鎖.運用commit語句可以提交事務(wù). 當(dāng)執(zhí)行了 commit語句之后,會確認(rèn)事務(wù)變化,終了事務(wù),刪除保管點,釋放鎖. 當(dāng)運用commit語句終了事務(wù)之后,其他會話可以看到事務(wù)變化后的新數(shù)據(jù).當(dāng)出現(xiàn)一下情況會自動提交事務(wù):1. 當(dāng)執(zhí)行DDL語句,如create,alter,drop table.2. 當(dāng)執(zhí)行DCL語句, grant , revoke3. 當(dāng)退出 sqlplus事務(wù)2. 提交事務(wù).保管點: 保管點是事務(wù)回退點, 他用于取消部分事務(wù),當(dāng)終了事務(wù)的時候, 會自動刪除該事務(wù)所定義的一切保管

4、點. 當(dāng)執(zhí)行 rollback 命令的時候,經(jīng)過指定保管點可以取消部分事務(wù).設(shè)置保管點: savepoint 保管點稱號;取消部分事務(wù): rollback to 保管點;這樣保管點之前的操作提交,之后的操作取消.取消全部事務(wù): rollback;當(dāng)運用rollback取消事務(wù)的時候,會取消一切事務(wù)變化,終了事務(wù),刪除一切保管點并釋放鎖.當(dāng)出現(xiàn)系統(tǒng)災(zāi)難或運用程序地址例外的時候,會自動回退其事務(wù)變化.事務(wù)3. 回退事務(wù).只讀事務(wù): 是指允許執(zhí)行查詢操作,而不允許執(zhí)行任何DML操作的事務(wù),當(dāng)運用只讀事務(wù)的時候,可以確保用戶獲得特定時間點的數(shù)據(jù).假定企業(yè)需求在每天16時統(tǒng)計最近一天的消費信息,而不統(tǒng)計

5、當(dāng)天16時之后的銷售信息,那么可以運用只讀事務(wù). 在設(shè)置了只讀事務(wù)之后,雖然其他會話能夠會提交新的事務(wù),但只讀事務(wù)將不會獲得新的數(shù)據(jù)變化.從而確保特定時間點的數(shù)據(jù)信息.事務(wù)4. 只讀事務(wù).運用只讀事務(wù): set transaction read only;Set transaction isolation level read committed 留意: 當(dāng)設(shè)置只讀事務(wù)的時候,該語句必需是事務(wù)開場的第1條語句.不能在 READ ONLY 事務(wù)處置中執(zhí)行插入/刪除/更新操作事務(wù)4. 只讀事務(wù).只讀事務(wù)可以使得用戶獲得特定時間點的數(shù)據(jù)信息,但當(dāng)設(shè)置了只讀事務(wù)的時候, 會話將不能執(zhí)行delete/i

6、nsert/update等dml操作,為了使得用戶可以獲得特定時間點的數(shù)據(jù), 并且允許執(zhí)行dml操作, 可以運用順序事務(wù).事務(wù)5. 順序事務(wù).以第一個DML SQL語句執(zhí)行開場以下面的事件為止 COMMIT或者ROLLBACK語句被執(zhí)行 一個DDL或者DCL語句執(zhí)行自動提交 用戶退出SQL*Plus 系統(tǒng)解體數(shù)據(jù)庫事務(wù).確保數(shù)據(jù)一致在做永久改動之前可以預(yù)覽數(shù)據(jù)改動組邏輯上的相關(guān)操作COMMIT和ROLLBACK語句的優(yōu)點運用COMMIT和ROLLBACK語句,他可以:.提交數(shù)據(jù)進(jìn)展改動提交改動.數(shù)據(jù)庫中數(shù)據(jù)的改動被永久化不會喪失,即使系統(tǒng)解體。事務(wù)構(gòu)造,舊事務(wù)形狀被去除,新事務(wù)開場。舊事務(wù)中的

7、鎖定的行被釋放,這些行如今可以被其它用戶進(jìn)展操作。在COMMIT之后的數(shù)據(jù)形狀.數(shù)據(jù)的改動被撤回數(shù)據(jù)先前的形狀被復(fù)原受影響行上面的鎖被釋放在Rollback之后數(shù)據(jù)的形狀運用ROLLBACK命令放棄一切未決的改動DELETE FROM copy_emp;22 rows deleted.ROLLBACK;Rollback complete.在以下環(huán)境下自動提交會發(fā)生 DDL語句被執(zhí)行 DCL語句被執(zhí)行 從SQL*Plus中的正常退出,沒有顯式執(zhí)行COMMIT或者ROLLBACK語句在SQL*Plus非正常終了或者系統(tǒng)失敗,自動回滾發(fā)生。隱式事務(wù)處置.事務(wù)獨立方式讀提交 read committed事務(wù)中讀取其它對話已提交的數(shù)據(jù)。延續(xù)讀 serializable事務(wù)中讀取的數(shù)據(jù)堅持一致性。讀提交.小 結(jié)語句描述INSERT

溫馨提示

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

評論

0/150

提交評論