मेरे पास ओरेकल डीबी पैकेज है जो नियमित रूप से मुझे लगता है कि आईटीएल (इच्छुक लेनदेन सूची) डेडलॉक है। एक ट्रेस फ़ाइल का प्रासंगिक भाग नीचे है।ओरेकल आईटीएल डेडलॉक की पहचान और संकल्प
Deadlock graph:
---------Blocker(s)-------- ---------Waiter(s)---------
Resource Name process session holds waits process session holds waits
TM-0000cb52-00000000 22 131 S 23 143 SS
TM-0000ceec-00000000 23 143 SX 32 138 SX SSX
TM-0000cb52-00000000 30 138 SX 22 131 S
session 131: DID 0001-0016-00000D1C session 143: DID 0001-0017-000055D5
session 143: DID 0001-0017-000055D5 session 138: DID 0001-001E-000067A0
session 138: DID 0001-001E-000067A0 session 131: DID 0001-0016-00000D1C
Rows waited on:
Session 143: no row
Session 138: no row
Session 131: no row
इस तालिका पर कोई बिट-मैप इंडेक्स नहीं है, इसलिए इसका कारण नहीं है। जहां तक मैं कह सकता हूं, "पंक्तियों का इंतजार" की कमी और वेटर में "एस" की कमी कॉलम की प्रतीक्षा करता है, यह इंगित करता है कि यह एक आईटीएल डेडलॉक है। साथ ही, तालिका को अक्सर बार-बार लिखा जाता है (लगभग 8 बार या बार-बार 240 बार एक मिनट), इसलिए आईटीएल डेडलॉक एक मजबूत संभावना की तरह दिखता है।
मैंने तालिका के INITRANS पैरामीटर में वृद्धि की है और यह 100 से सूचकांक है और तालिका में पीसी से 10 से 20 (फिर इंडेक्स को पुनर्निर्मित) में बढ़ा दिया है, लेकिन डेडलॉक्स अभी भी हो रहे हैं। डेडलॉक अक्सर एक अपडेट के दौरान होता है, लेकिन यह सिर्फ एक संयोग हो सकता है, क्योंकि मैंने इसे केवल दो बार देखा है।
मेरे प्रश्न दो गुना हैं:
1) क्या यह वास्तव में एक आईटीएल डेडलॉक है?
2) यदि यह एक आईटीएल डेडलॉक है, तो इससे बचने के लिए और क्या किया जा सकता है?
यह पता चला है कि यह आईटीएल डेडलॉक मुद्दा बिल्कुल नहीं था, बल्कि अनगिनत विदेशी कुंजी के साथ एक मुद्दा था। मैंने डीपीब्रैडली के जवाब के लिए धन्यवाद दिया, जिसने मुझे इस तथ्य में चिपकाया कि यह एक आईटीएल मुद्दा नहीं था और मुझे यह पता लगाने के लिए प्रेरित किया कि "कोई पंक्ति नहीं" के साथ डेडलॉक के अन्य कारण क्या हो सकते हैं।
आप सर्वरफॉल्ट पर इसे पोस्ट करने पर विचार करना चाहेंगे। मेरी प्रारंभिक प्रतिक्रिया वह थी जहां यह संबंधित है, लेकिन सवाल के लिए एक प्रोग्रामिंग स्वाद भी है। किसी भी दर पर आप वहां आंखों की एक और जोड़ी पकड़ सकते हैं जो यहां नहीं हैं। – DCookie