亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        Oracle數(shù)據(jù)庫死鎖問題研究

        2014-12-31 00:00:00周亞平
        計算機光盤軟件與應用 2014年16期

        摘 要:在網(wǎng)絡環(huán)境下,多數(shù)用戶可以通過數(shù)據(jù)庫來實現(xiàn)資源的共享。但是數(shù)據(jù)庫在處理大量的數(shù)據(jù)存取的過程中,有時候會出現(xiàn)死鎖的現(xiàn)象,產生這種現(xiàn)象的原因主要是由于用戶對程序的設計不正確導致,只有對程序進行重新的設計,才能夠避免這種現(xiàn)象的發(fā)生。本文主要是對Oracle數(shù)據(jù)庫死鎖現(xiàn)象進行了研究,并且提出了相關的建議。

        關鍵詞:Oracle數(shù)據(jù)庫;死鎖;分析;研究

        中圖分類號:TP311.13

        對于數(shù)據(jù)庫系統(tǒng)來說,其應用系統(tǒng)的并發(fā)量十分大,在同一時間將會有很多用戶對數(shù)據(jù)庫進行訪問,這樣會導致數(shù)據(jù)庫發(fā)起鎖定請求,產生這種情況的原因主要是數(shù)據(jù)庫系統(tǒng)的程序設計不夠合理,若是不對其不加以處理,那么將會使死鎖現(xiàn)象頻繁出現(xiàn),嚴重影響系統(tǒng)的性能。在Oracle數(shù)據(jù)庫死鎖現(xiàn)象是一個十分普遍的問題,但是若是能夠正確的對程序進行設計,那么將會有效的避免這種現(xiàn)象的發(fā)生。數(shù)據(jù)庫在發(fā)生死鎖現(xiàn)象時候,系統(tǒng)會自動進行相應的檢測,但是在自動檢測時候,分析警告文件以及跟蹤文件時候將會耗費大量的時間,所以通常主要是利用SQL語句來監(jiān)測死鎖現(xiàn)象,根據(jù)Oracle數(shù)據(jù)庫所提供的視圖進行檢測

        1 數(shù)據(jù)庫鎖機制以及鎖的類型

        1.1 數(shù)據(jù)庫鎖機制

        在相應的網(wǎng)絡環(huán)境之下,Oracle數(shù)據(jù)庫能夠允許多個用戶進行數(shù)據(jù)庫信息的同時訪問,這樣將會使數(shù)據(jù)庫中發(fā)生多個事務同時對于同一數(shù)據(jù)進行處理,這種現(xiàn)象又稱為并發(fā)操作,在Oracle數(shù)據(jù)庫中在出現(xiàn)這種并發(fā)現(xiàn)象時,若是不及時采取相應的措施進行控制,那么有可能造成數(shù)據(jù)庫的用戶讀取的信息數(shù)據(jù)錯誤,從而使數(shù)據(jù)庫遭到破壞。另外,為了能夠保證Oracle數(shù)據(jù)庫中的數(shù)據(jù)準確一致,那么必須要對其進行加鎖處理,這樣能夠保證數(shù)據(jù)庫中訪問的用戶的相對獨立性,在用戶對于數(shù)據(jù)庫中的數(shù)據(jù)信息進行操作時候,在操作之前必須要發(fā)出相應的請求,以此來對相應的事務進行加鎖處理,其他的事務要想對其進行處理那么必須要等到解鎖之后才能進行,這樣能夠有效的保證數(shù)據(jù)庫數(shù)據(jù)的一致性。

        1.2 鎖的類型

        根據(jù)數(shù)據(jù)庫中的保護對象,其中鎖類型主要可以分為兩種:(1)DML鎖,主要的作用是能夠保證數(shù)據(jù)的完整性,在Oracle數(shù)據(jù)庫中,DML鎖主要有兩種,TM鎖與TX鎖,前者是指表級鎖,而后者則是指事務鎖,在Oracle數(shù)據(jù)庫系統(tǒng)中,進行DML語句執(zhí)行的時候,系統(tǒng)將會自動申請TM鎖,在獲取之后,能夠對其位置進行標記。所以在進行事務的加鎖之前,不需要再去進行TX鎖相容性的檢測,僅僅是檢查TM鎖的兼容性,這樣能夠有效的提高Oracle數(shù)據(jù)庫系統(tǒng)的效率;(2)DDL鎖,這種鎖主要是用于對數(shù)據(jù)庫對象結構的保護,對表中以及索引中的結構進行保護[1]。

        2 Oracle數(shù)據(jù)庫死鎖現(xiàn)象產生的原因

        若是對程序處理的不好,那么Oracle數(shù)據(jù)庫將會發(fā)生死鎖現(xiàn)象[2]。而死鎖現(xiàn)象產生的原因可以分為:(1)用戶甲在訪問表一時,會對表一進行加鎖,然后再去訪問表二,但是用戶乙卻先訪問的表二,并且對表二進行加鎖,之后再返回去訪問表一。但是由于用戶乙已經(jīng)將表二加鎖,因此用戶甲必須要等到用戶乙將表二解鎖,才能夠繼續(xù)訪問,而用戶乙必須要等到用戶甲對表一進行解鎖,才能夠進行訪問,這種現(xiàn)象便是死鎖現(xiàn)象;(2)用戶甲在查詢系統(tǒng)對表中的記錄進行查詢時,會對其進行修改,但是用戶乙也在進行同一條記錄的修改,而且用戶甲將該記錄的鎖由共享鎖上升為獨占鎖,然而由于有用戶甲獨占鎖的存在,所以用戶乙的獨占鎖必須要等到用戶甲放掉共享鎖之后才能進行,但是用戶甲卻是由于用戶乙的獨占鎖而無法釋放自己的共享鎖,這樣也會造成死鎖現(xiàn)象;(3)在Oracle數(shù)據(jù)庫系統(tǒng)中,有時會執(zhí)行多個不滿足條件的update語句,那么系統(tǒng)將會進行全面的掃描,自動將行級別鎖上升到表級別鎖,從而造成死鎖現(xiàn)象;(4)在Oracle數(shù)據(jù)庫中數(shù)據(jù)量過于的龐大,但是相應的索引卻引建的很少,在進行全表掃描時候會出現(xiàn)死鎖現(xiàn)象。

        3 Oracle數(shù)據(jù)庫死鎖現(xiàn)象的解決方式

        3.1 Oracle數(shù)據(jù)庫自動檢測

        Oracle數(shù)據(jù)庫系統(tǒng)將會對死鎖進行自動的檢測與相應的解決,在Oracle數(shù)據(jù)庫檢測到相應的死鎖時,將會將其記錄在日志中,因此必須要能夠經(jīng)常性的查看警告日志,主要是查看“ORA-00060”的相關的錯誤信息,若是出現(xiàn)那么說明Oracle數(shù)據(jù)庫出現(xiàn)了死鎖的現(xiàn)象。然后要能夠查看相應的跟蹤文件,以此來判斷出死鎖產生的原因,而這一過檢測程則主要利用SQL語句來實現(xiàn)。

        3.2 利用SQL語句檢測死鎖

        利用SQL來檢測死鎖的視圖,其中主要有五個相關的視圖,V$SESSION視圖、V$PROCESS視圖、V$LOCKED_OBJECT視圖、DBA_OBJECTS視圖以及V$ LOCK視圖,可以利用這些視圖來對Oracle數(shù)據(jù)庫中的死鎖現(xiàn)象進行檢測。

        可以根據(jù)SQL語句進行Oracle數(shù)據(jù)庫系統(tǒng)中的死鎖現(xiàn)象的檢測,這些語句能夠檢測到相應的死鎖操作系統(tǒng)中的ID、鎖的類型以及各種鎖的模式等信息,并且鎖與鎖之間是否會阻塞申請也能夠被監(jiān)測到,其中關注最多的便是SESSION ID鎖,其中可以將語句進行相應的簡化:

        在死鎖檢測之后,要對產生死鎖的機器進行相應的定位,主要是利用以下語句進行檢測:

        利用這一語句進行死鎖產生的機器進行定位檢測,若是出現(xiàn)了輸出的結果,那么說明有死鎖,并且能夠看出出現(xiàn)死鎖的機器是哪一臺。

        3.3 對于死鎖的解決方式

        對死鎖進行解決的方式主要有兩種:(1)規(guī)避死鎖,Oracle數(shù)據(jù)庫中的死鎖問題主要是由于相關程序的設計不正確引起的,因此必須要對設計的方案進行相應的調整,從而來避免死鎖現(xiàn)象的產生。在檢測到死鎖之后,要將相關的程序關閉,以調查產生死鎖的主要原因,并且需要鎖定死鎖的位置,及時進行相應的處理,從而避免發(fā)生死鎖現(xiàn)象[3];(2)解除死鎖,主要是通過一些命令語句來解除死鎖,首先要能夠提交相應的事務,通過DBA來撤銷事務,并且能夠利用DBA進行解鎖與加鎖,然后利用ALETER DBATABSE KILL SESSION`SID,SERIAL語句來清除進程,最后利用KILL9 PROCESS來徹底清除死鎖進程。這種方式能夠解決死鎖問題,卻也存在很大的風險,所以對于死鎖的解決,最好是從程序設計優(yōu)化方面入手。

        4 結束語

        在Oracle數(shù)據(jù)庫中,會經(jīng)常發(fā)生死鎖現(xiàn)象,對于死鎖現(xiàn)象的處理,必須要先對產生死鎖的原因進行仔細的分析,并通過進行相應的檢測,實現(xiàn)這一問題的解決,而對系統(tǒng)程序進行優(yōu)化設計不失為一種有效地避免死鎖現(xiàn)象發(fā)生的方法。

        參考文獻:

        [1]姜文,劉立康.Oracle數(shù)據(jù)庫死鎖問題研究[J].計算機技術與發(fā)展,2011(01):40-41.

        [2]周修廉.分布式數(shù)據(jù)庫系統(tǒng)死鎖問題研究[J].哈爾濱科學技術大學學報,2012(02):50-51.

        [3]陳鵬.分布式數(shù)據(jù)庫死鎖檢測算法研究[J].重慶大學,2010(03):30-31.

        作者單位:大連交通大學,大連 116045

        性色av无码不卡中文字幕| 天涯成人国产亚洲精品一区av| 少妇高潮精品在线观看| 国产国产精品人在线视| 久久久www成人免费精品| 色一情一区二| 无码伊人66久久大杳蕉网站谷歌| 久久久国产精品五月天伊人| 日本免费精品一区二区| 老师开裆丝袜喷水视频| 无码一区二区三区在线| 国产精品一区二区韩国AV| 国产人妖在线免费观看| 亚洲国产精品av麻豆网站| 人人爽久久久噜人人看| 中国农村熟妇性视频| 国产精品18久久久久久不卡中国 | 影音先锋中文字幕无码资源站| 精品久久久久久777米琪桃花 | 一区二区三区极品少妇| 天堂资源中文网| 中文字幕被公侵犯的漂亮人妻| √最新版天堂资源在线| 中文字幕一区二区三区.| 久久国产亚洲精品一区二区三区| 国产精品99精品久久免费| 成人片黄网站色大片免费观看cn| 亚洲精品成人国产av| 亚洲av日韩av天堂久久不卡| 日本av在线一区二区| 日本丰满熟妇videossex8k| 成人无码h真人在线网站| 黑人免费一区二区三区| 精品国产一区二区三区av免费| 国产人妻大战黑人20p| 国产亚洲av片在线观看18女人| 激情综合五月天开心久久| 草逼视频污的网站免费| 国产超碰人人做人人爽av大片| 激情久久av一区av二区av三区| 国产成人综合久久三区北岛玲 |