<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    Decode360's Blog

    業(yè)精于勤而荒于嬉 QQ:150355677 MSN:decode360@hotmail.com

      BlogJava :: 首頁(yè) :: 新隨筆 :: 聯(lián)系 ::  :: 管理 ::
      302 隨筆 :: 26 文章 :: 82 評(píng)論 :: 0 Trackbacks
    Oracle中的鎖
    ?
    ??? Oracle中的鎖可以分為三類(lèi):DDL鎖DML鎖內(nèi)部鎖
    ?
    ??? 基本上所有的鎖都可以由Oracle內(nèi)部自動(dòng)創(chuàng)建和釋放,但是其中的DDL和DML鎖是可以通過(guò)命令進(jìn)行直接或者間接的管理的,只有內(nèi)部鎖是必須有Oracle自動(dòng)管理。
    ?
    ??? 1、內(nèi)部鎖(Latch)--也叫閂
    ?
    ??? 由Oracle自動(dòng)管理,以保護(hù)內(nèi)部數(shù)據(jù)庫(kù)結(jié)構(gòu),例如數(shù)據(jù)文件等。比如Oracle要把用戶(hù)更新的數(shù)據(jù)寫(xiě)入緩沖區(qū),這時(shí)候Oracle就會(huì)在該緩沖區(qū)上加上latch,用來(lái)防止DBWR把他寫(xiě)出到磁盤(pán),因?yàn)槿绻麤](méi)有這個(gè)Latch,DBWR會(huì)把一半新一半老沒(méi)有用的數(shù)據(jù)寫(xiě)到磁盤(pán)上。
    ?
    ??? 2、DDL鎖
    ?
    ??? 在使用Create、Truncate、Alter時(shí)自動(dòng)創(chuàng)建,以確保在執(zhí)行過(guò)程中沒(méi)有其他事務(wù)對(duì)資源進(jìn)行訪(fǎng)問(wèn)。
    ?
    ??? 3、DML鎖
    ?
    ??? DML鎖在事務(wù)開(kāi)始時(shí)創(chuàng)建,在事務(wù)提交或回滾是釋放。ROLLBACK SAVEPOINT同
    ?
    ?
    鎖的模式
    ?
    ??? Oracle中的鎖可以分為以下幾種模式:共享鎖(S)排他鎖(X)行級(jí)共享鎖(RS)行級(jí)排他鎖(RX)共享行級(jí)排他鎖(SRX)
    ?
    ??? 其中RS鎖是限制最少的鎖,而X鎖是限制最多的鎖。相應(yīng)的操作自動(dòng)產(chǎn)生鎖的對(duì)應(yīng)關(guān)系如下:
    ??? * INSERT、UPDATE、DELETE??--RX鎖
    ??? * CREATE? --S鎖
    ??? * ALTER? --X鎖
    ?
    ??? 1、共享鎖(SHARE)
    ??? LOCK TABLE table_name IN SHARE MODE
    ?
    ??? 某事務(wù)使用S鎖鎖定表時(shí),只允許其他事務(wù)使用S鎖鎖定該表,不能修改數(shù)據(jù)
    ?
    ??? 2、排他鎖(EXCLUSIVE)
    ??? LOCK TABLE table_name IN EXCLUSIVE MODE
    ?
    ??? 某事務(wù)對(duì)表加了X鎖之后,不再允許其他事務(wù)鎖定該表
    ?
    ??? 3、行級(jí)共享鎖(ROW SHARE)
    ??? LOCK TABLE table_name IN ROW SHARE MODE
    ?
    ??? 對(duì)相應(yīng)行加上RS鎖后,仍然允許其他事務(wù)加RS鎖
    ?
    ??? 4、行級(jí)排他鎖(ROW EXCLUSIVE)
    ??? LOCK TABLE table_name IN ROW EXCLUSIVE MODE
    ?
    ??? 對(duì)相應(yīng)行加上RX鎖后,其他事務(wù)不能再對(duì)該表加鎖
    ?
    ??? 5、共享行級(jí)排他鎖(SHARE ROW EXCLUSIVE)
    ??? LOCK TABLE table_name IN SHARE ROW EXCLUSIVE MODE
    ?
    ??? 對(duì)應(yīng)行加X(jué)鎖,但對(duì)表加S鎖,所以可以讓別的事務(wù)對(duì)其他行加入X鎖
    ?
    ?
    ?
    ??? 具體的相容性如下表:
    ????
    現(xiàn)有模式
    請(qǐng)求鎖定
    S
    RS
    RX
    SRX
    X
    S
    Y
    Y
    N
    N
    N
    RS
    Y
    Y
    Y
    Y
    N
    RX
    N
    Y
    Y
    N
    N
    SRX
    N
    Y
    N
    N
    N
    X
    N
    N
    N
    N
    N
    ?
    ?
    ?
    ?
    鎖粒度
    ?
    ??? 鎖粒度是指被鎖定的數(shù)據(jù)對(duì)象大小。鎖粒度越大,能夠使用的資源就越少,并發(fā)度也越小,系統(tǒng)開(kāi)銷(xiāo)也越小。
    ?
    ??? 數(shù)據(jù)庫(kù)中的鎖粒度分為4個(gè)級(jí)別:數(shù)據(jù)庫(kù)級(jí)表級(jí)行級(jí)列級(jí)注意Oracle不支持列級(jí)鎖!
    ?
    ??? 如果要在事務(wù)中處理大量記錄,則應(yīng)該使用表級(jí)鎖,如果要處理多個(gè)大型表,則應(yīng)該使用數(shù)據(jù)庫(kù)級(jí)鎖,如果都是少量數(shù)據(jù),則使用行級(jí)。
    ?
    ??? 1、TX鎖
    ?
    ??? TX鎖意即Transaction(事務(wù)鎖、行級(jí)鎖),改鎖從事務(wù)開(kāi)始被創(chuàng)建,事務(wù)提交或回滾后釋放。
    ??? TX鎖可以鎖定事務(wù)所涉及到的所有數(shù)據(jù)行。
    ?
    ??? 事務(wù)鎖只有X鎖一種類(lèi)型,而且是Oracle支持的最低級(jí)別的鎖。
    ?
    ??? 2、TM鎖
    ?
    ??? TM鎖即表級(jí)鎖,它包括了所有的5種鎖模式。
    ?
    ??? 注意:因?yàn)镺racle在行級(jí)只提供X鎖,所以與RS鎖對(duì)應(yīng)的行級(jí)鎖也是X鎖!
    ?
    ??? 3、數(shù)據(jù)庫(kù)級(jí)鎖
    ?
    ??? 禁止任何新會(huì)話(huà)和新事務(wù)。主要是為了在沒(méi)有任何干擾情況下來(lái)完成對(duì)數(shù)據(jù)庫(kù)的維護(hù)。
    ?
    ??? 通常DBA將數(shù)據(jù)庫(kù)設(shè)置到限制性模式來(lái)鎖定它,在限制性模式中只允許RESTRICTED SESSION特權(quán)的的用戶(hù)登錄,命令如下:
    ?
    ??? ALTER SYSTEM ENABLE RESTRICTED SESSION;
    ?
    ??? 注:這個(gè)操作對(duì)于已經(jīng)在數(shù)據(jù)庫(kù)中的SESSION將不起作用。
    ?
    ?
    ??? 也可以通過(guò)將數(shù)據(jù)庫(kù)設(shè)置到READ ONLY模式下來(lái)實(shí)現(xiàn)鎖定數(shù)據(jù)庫(kù)。
    ?
    ?
    ?
    ?
    ?
    ?
    ?
    ??? 列舉了一些基礎(chǔ),具體研究參閱《Oracle9i&10g編程藝術(shù)》第六章。




    -The End-

    posted on 2008-10-26 21:35 decode360-3 閱讀(183) 評(píng)論(0)  編輯  收藏 所屬分類(lèi): Oracle
    主站蜘蛛池模板: 亚洲欧洲日韩不卡| 一二三四在线观看免费高清中文在线观看| 最近免费中文字幕4| 久久亚洲精品无码aⅴ大香 | 午夜男人一级毛片免费| 亚洲综合偷自成人网第页色| 久久久久久精品免费免费自慰| 免费A级毛片无码免费视| 亚洲福利一区二区三区| 在线免费观看亚洲| 亚洲国产av美女网站| 国产va免费精品观看精品| 亚洲成人网在线播放| 2020久久精品国产免费| 亚洲欧洲日本在线观看| 国产精品高清全国免费观看| 久久久久久精品免费看SSS| 热99re久久免费视精品频软件| 亚洲综合久久久久久中文字幕| 亚洲黄色免费电影| 亚洲色大18成人网站WWW在线播放 亚洲色大成WWW亚洲女子 | 亚洲乱码日产精品a级毛片久久| 美女被吸屁股免费网站| 亚洲综合av永久无码精品一区二区| 国内精品免费久久影院| 亚洲国产精品VA在线观看麻豆 | 亚洲色大网站WWW永久网站| 午夜高清免费在线观看| 国产99精品一区二区三区免费| 国产精品亚洲A∨天堂不卡| 91精品导航在线网址免费| 久久精品国产亚洲αv忘忧草| 免费看AV毛片一区二区三区| sss在线观看免费高清| 77777_亚洲午夜久久多人| 性感美女视频在线观看免费精品 | 亚洲高清免费在线观看| 日韩午夜免费视频| 国产在线精品一区免费香蕉| 亚洲精品自拍视频| 亚洲AV无码乱码在线观看性色扶 |