मान लें कि आपके पास एक अधूरा (अनकमिटेड) लेन-देन है। Oracle ने प्रश्न में आपके द्वारा कही गई सभी बातें की हैं।
अब मशीन खराब हो गई है।
DBA, मशीन की पुनर्प्राप्ति के बाद (या नई मशीन पर, यह निर्भर करता है :)) अंतिम बैकअप को पुनर्स्थापित करता है और सभी फिर से लॉग लागू करता है नए उदाहरण पर। फिर से करना भी वही है जो चरण 1 में किया गया था। लेकिन वह काम प्रतिबद्ध नहीं है, इसलिए इंजन को इसे वापस रोल करने की आवश्यकता है। इसके लिए इसे रोलबैक सेगमेंट की जरूरत है। लेकिन रोलबैक सेगमेंट नहीं होगा यदि आपने इसे चरण 3 पर लॉग नहीं किया है।
मुझे पता है कि आप अभी पूछेंगे:यह अप्रतिबद्ध कार्य के लिए लॉग क्यों लागू करता है? जब मैंने इसके बारे में पढ़ा तो मेरा भी यही सवाल था। मैं निश्चित रूप से नहीं जानता, लेकिन शायद ऐसा करना आसान है। हो सकता है कि लॉग की प्रत्येक प्रविष्टि की जांच करना कठिन हो कि यह एक प्रतिबद्ध लेनदेन का हिस्सा है। हालांकि, ओरेकल इस तरह काम करता है:मैं सभी रीडो लॉग्स को लागू करता हूं और फिर अनकमिटेड ट्रांजेक्शन को रोलबैक करता हूं।