亚洲免费在线-亚洲免费在线播放-亚洲免费在线观看-亚洲免费在线观看视频-亚洲免费在线看-亚洲免费在线视频

oracle自治事務(wù)

系統(tǒng) 2059 0
在觸發(fā)器中操作觸發(fā)此觸發(fā)器的表,用pragma autonomous_transaction選項。
1、為何使用自治事務(wù)
?無法回滾的審計 : 一般情況下利用觸發(fā)器禁止某些對表的更新等操作時,若記錄日志,則觸發(fā)器最后拋出異常時會造成日志回滾。利用自治事務(wù)可防止此點。
?避免變異表:????? 即在觸發(fā)器中操作觸發(fā)此觸發(fā)器的表
?在觸發(fā)器中使用ddl 寫數(shù)據(jù)庫:對數(shù)據(jù)庫有寫操作(insert、update、delete、create、alter、commit)的存儲過程或函數(shù)是無法簡單的用sql來調(diào)用的,
?????????????? 此時可以將其設(shè)為自治事務(wù),從而避免ora-14552(無法在一個查詢或dml中執(zhí)行ddl、commit、rollback)、ora-14551(無法在一個查詢中執(zhí)行dml操作)等錯誤。
?????????????? 需要注意的是函數(shù)必須有返回值,但僅有in參數(shù)(不能有out或in/out參數(shù))。
?開發(fā)更模塊化的代碼:? 在大型開發(fā)中,自治事務(wù)可以將代碼更加模塊化,失敗或成功時不會影響調(diào)用者的其它操作,
?????????????? 代價是調(diào)用者失去了對此模塊的控制,并且模塊內(nèi)部無法引用調(diào)用者未提交的數(shù)據(jù)。
2、如何工作
??? 事務(wù)控制
?declare整個塊都是屬于父事務(wù)的,自治事務(wù)從離pragma后的第一個begin開始,只要此begin塊仍在作用域,則都屬于自治事務(wù)。
?例如在declare模塊中聲明一個寫數(shù)據(jù)庫的函數(shù),則此函數(shù)雖然在自治事務(wù)所在存儲過程執(zhí)行,但其屬于父事務(wù);而自治事務(wù)中調(diào)用的任何函數(shù)和存儲過程、激發(fā)的任何觸發(fā)器等均為此自治事務(wù)的一部分。
?自治事務(wù)可以嵌套,嵌套深度等只受init.ora參數(shù)transactions(同時并發(fā)的事務(wù)數(shù),缺省為sessions的1.1倍)制約。
?作用域
?2.1 包中的變量
?自治事務(wù)可看到并修改父事務(wù)的變量,父事務(wù)也會察覺到這一改變,且不存在回滾問題。
?2.2 會話設(shè)置/參數(shù)
?自治事務(wù)與父事務(wù)共享同一個會話環(huán)境,通過alter session作的修改對整個會話均有效。但set transaction是事務(wù)級的,僅對提起修改的事務(wù)有效。
?2.3 數(shù)據(jù)庫修改
?父事務(wù)已提交的修改對自治事務(wù)可見,未提交的對自治事務(wù)不可見,自治事務(wù)的修改對父事務(wù)是否可見取決于隔離級別(isolation level)。
?對于游標(biāo),取決于其打開的位置,若其在父事務(wù)中打開,則之前父事務(wù)未提交的修改對其是有效的,在自治事務(wù)中這些修改也可見;而在自治事務(wù)中打開,則父事務(wù)未提交的修改不可見。
?若使用缺省的read committed隔離級別,則自治事務(wù)的修改對父事務(wù)可見;若改用serializable,則不可見。
?2.4 鎖
?父事務(wù)與自治事務(wù)是完全不同的事務(wù),因此無法共享鎖等。
?結(jié)束一個自治事務(wù)必須提交一個commit、rollback或執(zhí)行ddl。
?保存點無法在自治事務(wù)中回滾到父事務(wù)中的一個保存點,只能在內(nèi)部使用保存點。
3、最后說明 不支持分布式事務(wù)截至8.1.7在自治事務(wù)中不支持分布式事務(wù)
?僅可用pl/sql 全部事務(wù)回滾若自治事務(wù)出錯,則全部回滾,即便父事務(wù)有異常處理模塊。
?事務(wù)級臨時表每個會話僅一個事務(wù)可訪問事務(wù)級臨時表(多個會話中的事務(wù)可并發(fā)操作)。
4、可能遇到的錯誤
?ora-06519 – 檢查到活動自治事務(wù),回滾——退出自治事務(wù)時沒有提交、回滾或ddl操作
?ora-14450 – 試圖訪問正在使用的事務(wù)級臨時表
?ora-00060 – 等待資源時檢查到死鎖
?本文來自csdn博客,轉(zhuǎn)載請標(biāo)明出處: http://blog.csdn.net/alex197963/archive/2008/01/11/2036500.aspx

oracle自治事務(wù)


更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯(lián)系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦?。。?/p>

發(fā)表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 国产免费精彩视频 | 精品福利在线观看 | 亚洲综合黄色 | 色偷偷成人网免费视频男人的天堂 | 女bbbbxxx| 中文字幕国产专区 | 91九色视频| 免费视频国产 | 日本一视频一区视频二区 | 久久99热国产这有精品 | 国产主播专区 | jizzjizz中国护士第一次 | 2022国产91精品久久久久久 | 国产成人精品一区二三区在线观看 | 欧美老妇免费做爰视频 | 亚洲字幕久久 | 亚洲综合香蕉 | 欧美成人h版影片在线观看 欧美成人h精品网站 | 日日干日日射 | 日本三级做a全过程在线观看 | 婷婷免费高清视频在线观看 | 五月婷婷六月综合 | 97色精品视频在线观看免费 | a级做爰视频在线观看 | 波多野结衣久久 | 欧美毛片网站 | 麻豆射区 | 日日草夜夜草 | 欧美日韩在线观看视频 | 羞污影院| 国产剧情一区二区三区 | 日韩一区二区在线免费观看 | 日韩中文字幕在线看 | 精品久久久久久免费影院 | 日本一区二区在线播放 | 91九色视频| 久草最新网址 | 香蕉视频国产精品 | 综合亚洲欧美日韩一区二区 | 成人国产一区二区 | 精品理论片一区二区三区 |