मुझे यकीन है कि इसे पढ़ने वाला कोई व्यक्ति पूछेगा, "आपको यह कैसे पता नहीं चला?"। लेकिन कभी-कभी खेल में सबसे सरल चीजें हमारे पास देर से आती हैं जबकि अन्य इसे पहले से ही जानते हैं।
मैं विंडोज़ एनटी दिनों से विंडोज़ पर ओरेकल को पैच कर रहा हूं। विंडोज़ पर ओरेकल को पैच करने वाला हर कोई जानता है कि ओपैच अक्सर इस तथ्य पर झुकाएगा कि कुछ डीएलएल फाइलें अन्य प्रक्रियाओं द्वारा लॉक की जाती हैं। मेरे लिए इससे छुटकारा पाने का सबसे आसान तरीका सिर्फ डीएलएल फाइलों का नाम बदलना है जिन्हें पैच द्वारा प्रतिस्थापित किया जाएगा। OS आपको DLL फ़ाइलों को हटाने नहीं देगा, लेकिन आप उनका नाम बदल सकते हैं और फिर OPatch आगे बढ़ सकता है। ओपैच के शुरुआती दिनों में, मैं आवेदन चलाऊंगा, यह लॉक किए गए डीएलएल को थूक देगा। मैं डीएलएल फ़ाइल का नाम बदलूंगा और फिर लॉक की गई अगली डीएलएल फ़ाइल प्राप्त करने के लिए फिर से ओपैच चलाऊंगा। यह प्रक्रिया लगभग 20 बार दोहराई जाएगी जब तक कि ओपैच को कोई लॉक डीएलएल फाइल नहीं मिली। कम से कम अब जब आप ओपैच चलाते हैं, तो यह आपको लॉक की गई डीएलएल फाइलों की पूरी सूची देता है।
कभी-कभी मैं उस प्रक्रिया को जानना चाहता हूं जो डीएलएल फ़ाइल को लॉक कर रही है। अतीत में, मैं उन स्वतंत्र रूप से उपलब्ध उपयोगिताओं में से एक को डाउनलोड करता था जो मुझे प्रक्रिया (तों) को फ़ाइल में लॉक करने और प्रक्रिया को समाप्त करने के लिए दिखाती है। लेकिन मुझे फ्रीवेयर पसंद नहीं है जो मेरे सर्वर को फुलाता है इसलिए जब मैं काम कर रहा होता हूं तो मैं अक्सर उपयोगिता को हटा देता हूं। अगली बार तक मुझे उस उपयोगिता की आवश्यकता है…
किसी ने हाल ही में मुझे मेटलिंक नोट 294350.1 की ओर इशारा किया जिसमें एक छोटा डला था जिसे मैं इस दस्तावेज़ को पढ़ने से पहले नहीं जानता था। जाहिर है, विंडोज़ में यह दिखाने के लिए कमांड लाइन उपयोगिता शामिल है कि कौन सी प्रक्रियाएं डीएलएल फाइलों को लॉक कर रही हैं। अब मैं यह कर सकता हूँ:
tasklist /m
आउटपुट लंबा हो सकता है, इसलिए आउटपुट को फाइल में स्टोर करना और फिर फाइल को टेक्स्ट एडिटर में खोलना फायदेमंद होता है:
tasklist /m > c:\oracle\task_list.txt notepad c:\oracle\task_list.txt
फिर मैं विचाराधीन डीएलएल का पता लगाने के लिए टेक्स्ट एडिटर के खोज फ़ंक्शन का उपयोग कर सकता हूं।
अब यह कैसे हुआ कि इतने सालों में यह छोटी सी उपयोगिता मेरे ध्यान से बच गई?