2011-09-21 28 views
8

अचानक में मेरे अद्यतन प्रश्न निष्पादित नहीं कर रहे हैं। मैं प्रश्नों का चयन कर सकता हूं, लेकिन जब मैं अद्यतन करता हूं तो अद्यतन करता है कि डेटाबेस infinitly hangs। मैंने एसक्यूएल प्लस से भी कोशिश की और कुछ नहीं हुआ।ओरेकल डेटाबेस अद्यतन क्वेरी

+1

कृपया, क्या आप अधिक स्पष्ट हो सकते हैं? आपके सिस्टम पर क्या हो रहा है * अनुमान * कोई तरीका नहीं है। तुम क्या जानते हो? आपने क्या चेक किया है आपका सिस्टम कैसे काम करता है, कितने उपयोगकर्ता, इत्यादि ...? अद्यतन क्वेरी कैसा दिखता है? एक ही समय में एक ही टेबल के खिलाफ किस तरह का डीएमएल चल रहा है? –

+0

क्या आप लॉग ऑफ कर सकते हैं और फिर ठीक है? क्या आप आर्किविल्ज मोड में हैं? क्या आपके वर्तमान अपडेट को ढूंढने वाले किसी अन्य सत्र में आपके पास असामान्य परिवर्तन हैं? थोड़ा और जानकारी आसान होगी .... – Ollie

उत्तर

23

अधिकतर आपके पास रिकॉर्ड्स के एक ही सेट के लिए एक और खुला अनुमोदित लेनदेन है, इसलिए वे उस लेनदेन के लिए बंद कर दिए गए हैं।

और, सबसे अधिक संभावना है, आप ने उन्हें लॉक किया, उसी लेनदेन में उसी UPDATE को चलाया।

बस अपने लेनदेन को कम/रोलबैक करें, आपको ठीक होना चाहिए।

+2

अब ** ** ** उत्तर वह है जिसे मैं शिक्षित अनुमान कहता हूं ;-) –

+3

हां। हाँ यही है। जब आप कुछ समय के लिए आसपास रहे हैं और आप कोच शुरुआती हैं, तो आप उस * बल-बल-में-मजबूत-में-मुझे * थोड़ी सी खिंचाव प्राप्त करते हैं और इससे पहले कि वे आपको सब कुछ बता सकें, आप उनकी समस्याओं को जानते हैं। :) लेकिन मैं हमेशा सही नहीं हूँ। –

+0

मुझे पता है कि खिंचाव। यह "आगे नहीं बोलें और निरीक्षण करें" :) –

12

यह क्वेरी आपको दिखाएगी कि आपके अपडेट को कौन अवरुद्ध कर रहा है। इस चलाने के दूसरे सत्र में, अद्यतन कि लटकी हुई है निष्पादित तो:

select s1.username || '@' || s1.machine || 
    ' (SID=' || s1.sid || ') is blocking ' 
    || s2.username || '@' || s2.machine || ' (SID=' || s2.sid || ') ' AS blocking_status 
    from v$lock l1 join v$lock l2 on (l1.id1 = l2.id1 and l2.id2 = l2.id2) 
       JOIN v$session s1 ON (s1.sid = l1.sid) 
       JOIN v$session s2 ON (s2.sid = l2.sid) 
    WHERE l1.BLOCK=1 and l2.request > 0; 

संपादित करें:

ठीक से इस लिए ज़िम्मेदार हैं, ऐसा लगता है कि मैं एक समय पहले ORAFAQ से इस cribbed।

+0

मुझे इसे बुकमार्क करना होगा। बहुत अच्छा! –

+1

मैं इसका बहुत उपयोग करता हूं। इच्छा है कि मुझे याद होगा कि मुझे वह कहाँ मिला। संभवतः एक टॉम Kyte विशेष। अद्यतन: मुझे लगता है कि मुझे यह मिला है: http://orafaq.com/node/854 – DCookie

+0

हम परिणामस्वरूप कार्य को कैसे रोक सकते हैं या मार सकते हैं? – user3141985

संबंधित मुद्दे