मैं कोई डीबीए नहीं हूं, और मुझे ओरेकल की लेनदेन प्रबंधन प्रक्रिया को समझने में थोड़ा मुश्किल समय है।ओरेकल - लेनदेन, रोलबैक सेगमेंट और undo_retention पैरामीटर कैसे काम करता है?
क्या मैं (सबसे विशेष रूप इस AskTom note - लेकिन टिप्पणी से परेशान नहीं है) इंटरनेट पर कुछ विश्वसनीय दिखने पृष्ठों को पढ़ने के द्वारा समझ से, जब एक सौदा लिए प्रतिबद्ध है, नए डेटा नहीं को सूचना दी है वास्तविक डेटा ब्लॉक अभी तक, लेकिन रोलबैक सेगमेंट पर लॉग रहता है। जब कोई डेटा पर एक चयन जारी करता है, या जब UNDO_RETENTION सेकंड पास हो जाते हैं - इनमें से जो भी दो घटनाएं होती हैं - पहले डेटा डेटा ब्लॉक पर लिखा जाता है (और तब)।
लेकिन हमारी कंपनी में किसी को, माना जाता है कि पता है, हाल ही में मुझसे विपरीत बताया, उसके अनुसार, जब एक सौदा लिए प्रतिबद्ध है, नए डेटा तुरंत डेटा ब्लॉक पर लिखा है, और रोलबैक खंड/पूर्ववत टेबलस्पेस पुराने डेटा को UNDO_RETENTION सेकंड की अवधि के लिए रखता है। यह पुराना डेटा इस समय के दौरान लेनदेन से पहले एससीएन पर शुरू किए गए प्रश्नों के उपयोग के लिए उपलब्ध रहता है।
तो, ओरेकल के अंदर वास्तव में क्या होता है, और क्या आप अपने उत्तर का बैक अप लेने के संदर्भ प्रदान कर सकते हैं?
हम ओरेकल 9.2.0.8 का उपयोग कर रहे हैं।
अग्रिम धन्यवाद।
इस संपूर्ण उत्तर के लिए धन्यवाद। – Manur
हां, आप सही हैं कि प्रतिबद्ध होने से पहले गंदे ब्लॉक डिस्क पर लिखे जा सकते हैं। यही कारण है कि एक चयन कथन फिर से उत्पन्न कर सकता है - इसे "देरी ब्लॉक क्लीनआउट" करने की आवश्यकता हो सकती है। महत्वपूर्ण हिस्सा यह है कि एक प्रतिबद्धता केवल गारंटी देता है कि डिस्क पर फिर से लिखा गया है - डेटा स्वयं नहीं। –