2012-09-11 13 views
7

मैं एसक्यूएल सूचकांक निर्माण में बहुत बड़ी गलती हो:मैं ओरेकल 11 पर इंडेक्स बिल्डिंग स्थिति कैसे देखूं?

create index IDX_DATA_TABLE_CUSECO on DATA_TABLE (CUSTOMER_ID, SESSION_ID, CONTACT_ID) 
    tablespace IDX_TABLESPACE LOCAL ; 

आप देख सकते हैं जैसा कि मैंने आपको छूट चुके कीवर्ड "ऑनलाइन" 600 मीटर + रिकॉर्ड के साथ अधिक उपयोग के साथ उत्पादन तालिका को रोके बिना सूचकांक बनाने के लिए। ठीक एसक्यूएल है:

create index IDX_DATA_TABLE_CUSECO on DATA_TABLE (CUSTOMER_ID, SESSION_ID, CONTACT_ID) 
    tablespace IDX_TABLESPACE LOCAL ONLINE; 

मुझे इसे पीएल/एसक्यूएल डेवलपर के तहत किया गया था। जब मैं इसे रोकने की कोशिश कर रहा था तो प्रोग्राम प्रत्युत्तर देना बंद कर दिया और दुर्घटनाग्रस्त हो गया।

उत्पादन प्रणाली 9 घंटे के लिए काम नहीं कर रही है और मेरा मालिक विस्फोट करना चाहता है। : डी

क्या इस संदेश निर्माण को संसाधित करने के लिए ओरेकल 11 जी कितने सेकंड/मिनट/घंटे देखने के लिए कोई मौका है? या शायद ओरेकल अभी भी इस अनुरोध पर काम कर रहा है यह देखने का कोई मौका है? (पीएल/एसक्यूएल डेवलपर दुर्घटनाग्रस्त)।

नापसंद करने के लिए: मैं जानता हूँ कि मुझे क्या करना चाहिए इस तरह यहाँ उल्लेख किया: (source)

CREATE INDEX cust_idx on customer(id) UNUSABLE LOCAL; 
ALTER INDEX cust_idx REBUILD parallel 6 NOLOGGING ONLINE; 

+0

आपका लिंक मान्य नहीं प्रतीत होता है। मुझे आशा है कि जो भी लेख आप देख रहे हैं, कम से कम 'skip_unusable_indexes' सेटिंग के बारे में बात करने से पहले आपको एक अनुपयोगी अनुक्रमणिका बनाने के लिए कहने से पहले और यह आपको बताए जाने के बाद इंडेक्स की समांतरता सेटिंग को बदलने के लिए कहता है। –

+2

लेख नहीं करता है, लेकिन टिप्पणियां करते हैं, और यह भी समझाते हैं कि सलाह क्यों उपयोगी नहीं है जैसा आपको लगता है। मैं जस्टिन के साथ हूं, फिर भी आपने उस सत्र को क्यों नहीं मारा है जो इंडेक्स निर्माण कर रहा है? –

उत्तर

13

आप में कार्यवाही की प्रगति देखने के लिए सक्षम होना चाहिए V$SESSION_LONGOPS

SELECT sid, 
     serial#, 
     target, 
     target_desc, 
     sofar, 
     totalwork, 
     start_time, 
     time_remaining, 
     elapsed_seconds 
    FROM v$session_longops 
WHERE time_remaining > 0 

बेशक, एक उत्पादन प्रणाली में, शायद डीडीएल ऑपरेशन को जारी रखने के बजाय मैं शायद सत्र घंटे पहले मार डालता उपयोगकर्ताओं को आवेदन तक पहुंचने से नहीं।

+0

मैं अपना सत्र नहीं देख सकता क्योंकि जब पीएल/एसक्यूएल डेवलपर क्रैश कनेक्शन और सत्र बाहर चला गया था, लेकिन जब मैं आंकड़ों की गणना करने की कोशिश कर रहा हूं तो मुझे एक त्रुटि मिलती है: Error report: ORA-20000: this index object "PRODSCHM"."IDX_DATA_TABLE_CUSECO" is being online built or rebuilt WBAR

+0

@WBAR - मुझे यकीन नहीं है कि मैं समझता हूं कि आप क्या समझते हैं कह रहा हूँ तथ्य यह है कि क्लाइंट एप्लिकेशन (पीएल/एसक्यूएल डेवलपर) क्रैश हो गया है, इसके साथ कुछ भी नहीं करना है कि डेटाबेस सत्र अभी भी चल रहा है या नहीं। क्या आप वी $ सत्र में सत्र देखते हैं? –

+0

मुझे वह सत्र नहीं दिख रहा है – WBAR

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