欧美三区_成人在线免费观看视频_欧美极品少妇xxxxⅹ免费视频_a级毛片免费播放_鲁一鲁中文字幕久久_亚洲一级特黄

Oracle事務(wù)和鎖

系統(tǒng) 1862 0

Oracle事務(wù)和鎖

1. 事務(wù)的概念:

? 事務(wù)用于保證數(shù)據(jù)的一致性 , 它由一組相關(guān)的 dml ( 數(shù)據(jù)操作語(yǔ)言 [ 增刪改]) 語(yǔ)句組成 , 該組的 dml 語(yǔ)句要么全部成功。要么全部失敗。

??????*事務(wù)的特性有四個(gè): ACID
原子性 atomicity: 語(yǔ)句級(jí)原子性,過(guò)程級(jí)原子性,事務(wù)級(jí)原子性
一致性 consistency: 狀態(tài)一致,同一事務(wù)中不會(huì)有兩種狀態(tài)
隔離性 isolation: 事務(wù)間是互相分離的互不影響 ( 這里可能也有自治事務(wù) )
持久性 durability: 事務(wù)提交了,那么狀態(tài)就是永久的

??????*只讀事務(wù) :
只讀事務(wù)是指只允許執(zhí)行查詢的操作,而不允許執(zhí)行任何其它dml操作的事務(wù),使用只讀事務(wù)可以確保用戶只能取得某時(shí)間點(diǎn)的數(shù)據(jù)。假定機(jī)票代售點(diǎn)每天18點(diǎn)開(kāi)始統(tǒng)計(jì)今天的銷售情況,這時(shí)可以使用只讀事務(wù)。在設(shè)置了只讀事務(wù)后,盡管其它會(huì)話可能會(huì)提交新的事務(wù),但是只讀事務(wù)將不會(huì)取得最新數(shù)據(jù)的變化,從而可以保證取得特定時(shí)間點(diǎn)的數(shù)據(jù)信息。
?????設(shè)置只讀事務(wù): set transaction read only;

?

2. ? 事務(wù)的優(yōu)點(diǎn):

*? 把邏輯相關(guān)的操作分成了一個(gè)組。

*? 在數(shù)據(jù)永久改變前,可以預(yù)覽數(shù)據(jù)變化。

*? 能夠保證數(shù)據(jù)的讀一致性。

??? COMMIT 操作把多個(gè)步驟對(duì)數(shù)據(jù)庫(kù)的修改,一次性地永久寫(xiě)入數(shù)據(jù)庫(kù),代表數(shù)據(jù)庫(kù)事務(wù)的成功執(zhí)行。

??? ROLLBACK 操作在發(fā)生問(wèn)題時(shí),把對(duì)數(shù)據(jù)庫(kù)已經(jīng)作出的修改撤消,回退到修改前的狀態(tài)。在操作過(guò)程中,一旦發(fā)生問(wèn)題,如果還沒(méi)有提交操作,則隨時(shí)可以使用 ROLLBACK 來(lái)撤消前面的操作。

??? SAVEPOINT 則用于在事務(wù)中間建立一些保存點(diǎn), ROLLBACK 可以使操作回退到這些點(diǎn)上邊,而不必撤銷全部的操作。一旦 COMMIT 完成,就不能用 ROLLBACK 來(lái)取消已經(jīng)提交的操作。一旦 ROLLBACK 完成,被撤消的操作要重做,必須重新執(zhí)行相關(guān)操作語(yǔ)句。

數(shù)據(jù)庫(kù)事務(wù)

?

3.數(shù)據(jù)庫(kù)鎖

????* Oracle 數(shù)據(jù)庫(kù)中的鎖機(jī)制

????? 數(shù)據(jù)庫(kù)是一個(gè)多用戶使用的共享資源。當(dāng)多個(gè)用戶并發(fā)地存取數(shù)據(jù)時(shí),在數(shù)據(jù)庫(kù)中就會(huì)產(chǎn)生多個(gè)事務(wù)同時(shí)存取同一數(shù)據(jù)的情況。若對(duì)并發(fā)操作不加控制就可能會(huì)讀取和存儲(chǔ)不正確的數(shù)據(jù),破壞數(shù)據(jù)庫(kù)的一致性。

??? 在數(shù)據(jù)庫(kù)中有兩種基本的鎖類型:排它鎖( Exclusive Locks ,即 X 鎖)和共享鎖( Share Locks ,即 S 鎖)。當(dāng)數(shù)據(jù)對(duì)象被加上排它鎖時(shí),其他的事務(wù)不能對(duì)它讀取和修改;加了共享鎖的數(shù)據(jù)對(duì)象可以被其他事務(wù)讀取,但不能修改。

????* ? Oracle 數(shù)據(jù)庫(kù)鎖分類(根據(jù)保護(hù)對(duì)象的不同):

(1) DML lock data locks ,數(shù)據(jù)鎖):用于保護(hù)數(shù)據(jù)的完整性;

(2) DDL lock dictionary locks ,字典鎖):用于保護(hù)數(shù)據(jù)庫(kù)對(duì)象的結(jié)構(gòu)(例如表、視圖、索引的結(jié)構(gòu)定義);

(3) Internal locks? latches (內(nèi)部鎖與閂):保護(hù)內(nèi)部數(shù)據(jù)庫(kù)結(jié)構(gòu);

(4) Distributed locks (分布式鎖):用于 OPS (并行服務(wù)器)中;

(5) PCM locks (并行高速緩存管理鎖):用于 OPS (并行服務(wù)器)中。

?????? Oracle 中最主要的鎖是 DML (也可稱為 data locks ,數(shù)據(jù)鎖)鎖。 DML 鎖的目的在于保證并發(fā)情況下的數(shù)據(jù)完整性。在 Oracle 數(shù)據(jù)庫(kù)中, DML 鎖主要包括 TM 鎖和 TX 鎖,其中 TM 鎖稱為表級(jí)鎖, TX 鎖稱為事務(wù)鎖或行級(jí)鎖。

????? 鎖出現(xiàn)在數(shù)據(jù)共享的場(chǎng)合,用來(lái)保證數(shù)據(jù)的一致性。當(dāng)多個(gè) 會(huì)話同時(shí)修改一個(gè)表時(shí),需要對(duì)數(shù)據(jù)進(jìn)行相應(yīng)的鎖定。鎖有“只讀鎖”、“排它鎖”,“共享排它鎖”等多種類型,而且每種類型又有“行級(jí)鎖” ( 一次鎖住一條記錄 ) ,“頁(yè)級(jí)鎖” ( 一次鎖住一頁(yè),即數(shù)據(jù)庫(kù)中存儲(chǔ)記錄的最小可分配單元 ) ,“表級(jí)鎖” ( 鎖住整個(gè)表 )

????? 若為“行級(jí)排它鎖”,則除被鎖住的行外,該表中其他行均可被其 他的用戶進(jìn)行修改 (Update) 或刪除 (delete) 。若為“表級(jí)排它鎖”,則所有其他用戶只能對(duì)該表進(jìn)行查詢 (select) 操作,而無(wú)法對(duì)其中的任何記錄進(jìn)行修改或刪除。當(dāng)程序?qū)λ龅男薷倪M(jìn)行提交 (commit) 或回滾 (rollback) 后,鎖住的資源便會(huì)得到釋放,從而允許其他用戶進(jìn)行操作。如果兩個(gè)事務(wù),分別鎖定一部分?jǐn)?shù)據(jù),而都在等待對(duì)方釋放鎖才能完成事務(wù)操作,這種情況下就會(huì)發(fā)生死鎖。

?

4. ? 事務(wù)和鎖

當(dāng)執(zhí)行事務(wù)操作時(shí) (dml 語(yǔ)句 ),oracle 會(huì)在被作用的表上加鎖 , 防止其他用戶改變表的結(jié)構(gòu)。

提交事務(wù): 當(dāng)執(zhí)使用 commit 語(yǔ)句可以提交事務(wù) . 當(dāng)執(zhí)行了 commit 語(yǔ)句之后 , 會(huì)確認(rèn)事務(wù)的變化、結(jié)束事務(wù)、刪除保存點(diǎn)、釋放鎖 , 當(dāng)使用 commit 語(yǔ)句結(jié)束事務(wù)之后 , 其他會(huì)話將可以查看到事務(wù)變化后的新數(shù)據(jù) ;

savepoint? 保存點(diǎn)名稱 ;???? -- 創(chuàng)建一個(gè)保存點(diǎn)

rollback to 保存點(diǎn)名稱 ;???????? -- 回滾到保存點(diǎn)

回滾事務(wù)

當(dāng)執(zhí)行 rollback 時(shí) , 通過(guò)指定保存點(diǎn)可以回退到指定的點(diǎn)

rollback??????-- 取消全部事務(wù)

commit 之后不能 rollback

?

?

?

?

Oracle事務(wù)和鎖


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

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號(hào)聯(lián)系: 360901061

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

【本文對(duì)您有幫助就好】

您的支持是博主寫(xiě)作最大的動(dòng)力,如果您喜歡我的文章,感覺(jué)我的文章對(duì)您有幫助,請(qǐng)用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長(zhǎng)會(huì)非常 感謝您的哦!!!

發(fā)表我的評(píng)論
最新評(píng)論 總共0條評(píng)論
主站蜘蛛池模板: 亚洲国产黄色 | 精品欧美一区二区三区在线 | 天天操夜夜爽 | 91在线中文 | 成人激情四射 | av网站在线看 | 成人在线免费看 | 亚洲一区二区三区深夜天堂 | 欧美日韩中文在线 | 波多野结衣中文一区 | 日一日干一干 | 国产在线激情视频 | 高清在线不卡 | 99热热热| 91精品国产综合久久国产大片 | 天天射日日操 | 三级黄色片在线观看 | 国内精品久久毛片一区二区 | 精品国产一区二区亚洲人成毛片 | 2022国产成人精品福利网站 | 免费在线一区二区 | 91在线激情 | 成人欧美日韩一区二区三区 | 97成人在线视频 | 天天色天天| 日日插夜夜操 | 妖精视频永久在线入口 | 美女超碰 | 免费观看欧美一级片 | 99精品视频在线视频免费观看 | 国产成人+综合亚洲+天堂 | 欧美日韩综合精品一区二区三区 | 久九精品 | 久久精品视频5 | 国产九九精品 | 色综合久久88色综合天天 | 麻豆一二区 | 久久视频这里只精品99 | 99re视频在线观看 | 欧美日韩乱 | 精品视频一区二区三区在线播放 |