我的死鎖經歷

2021-09-30 23:40:20 字數 996 閱讀 1687

資料庫=oracle

測試人員在對程式進行黑盒測試時頻繁出現timeout;

本地復現,發現日誌列印到一條刪除語句時一直沒有得到結果;

拿到sql的條件,直接運算元據庫;

根據條件查詢,正常查到結果;

根據條件delete,則無休止的等待下去;

懷疑被鎖;

刪除同一張表的其他資料,可以正常刪除;

懷疑該記錄被鎖;

查詢表中的鎖:

檢視那個表被死鎖了

select b.owner,b.object_name,a.session_id,a.locked_mode from v$locked_object a,dba_objects b where b.object_id

= a.object_id;

找到詳細資訊

select

*from

v$session t1, v$locked_object t2

where t1.sid = t2.session_id;

發現該錶有四條鎖記錄;

解決辦法:刪除鎖記錄

alter system kill session '

sid ,serial#

';

alter system kill session'154,1030';

刪乙個,少一條記錄,當刪除第三條時,四條記錄全消失了;

確定,出現的死鎖;

至此,程式正常;

死鎖排查,待續...

死鎖程式迴避:

請求進入程式沒執行有風險的操作前,去redis查詢key;

有記錄,程式等待5ms,繼續操作;

沒有記錄,放入redis乙個key;

程式執行完畢,刪除key;

完畢

posted @

2018-10-18 22:07

路迢迢 閱讀(

...)

編輯收藏

我的程式設計經歷

首先申明,我只是個程式設計愛好者,以下僅代表個人觀點,歡迎交流,如果你不贊同,請拿出事實依據,不要無的放矢。和許多程式設計愛好者一樣,我是從vb vc c c 學起的。當我第一次用vb vc的時候,確實上手很快,華麗的圖形介面,讓我很有成就感。但很快我就意識到,這種程式設計是以大量呼叫winapi為...

我的考研經歷

研究生成績馬上就要出來了,我每天都在巨大的期盼和憧憬中度。陪伴我的也只有我心愛的電腦,沒有心情去找工作,也沒有心情去幹些別的東西,只有期待才是我現在生活的主題。每天都很遊手好閒,卻也很無助,就像在大海中航行的小船,沒有前進的方向,只能夠隨波逐流,飄到哪算哪 在這樣的時候以這樣的心情來總結我的考研經驗...

我的面試經歷

6月25號在人才網上整了個簡歷,投了幾家公司,28號那天有一家公司打 來,叫我去面試。7月1號那天請了半天的假,去面試了,同事發資訊說要淡定。結果出乎我的所料,通過了,當場就確定要我了。由於路途比較遠,就提前一點坐公車,沒想到估計錯誤,提前了很多 因為比較早,不堵車。因為約好是9點半到公司面試,不敢...