資料庫=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點半到公司面試,不敢...