Oracle
 sql >> डेटाबेस >  >> RDS >> Oracle

Oracle:जब उपयोगकर्ता डेटा के किसी आइटम को बदलने के लिए निर्देश जारी करता है तो Oracle पूर्ववत ब्लॉक में परिवर्तन का वर्णन करते हुए एक फिर से परिवर्तन वेक्टर क्यों बनाता है

मान लें कि आपके पास एक अधूरा (अनकमिटेड) लेन-देन है। Oracle ने प्रश्न में आपके द्वारा कही गई सभी बातें की हैं।

अब मशीन खराब हो गई है।

DBA, मशीन की पुनर्प्राप्ति के बाद (या नई मशीन पर, यह निर्भर करता है :)) अंतिम बैकअप को पुनर्स्थापित करता है और सभी फिर से लॉग लागू करता है नए उदाहरण पर। फिर से करना भी वही है जो चरण 1 में किया गया था। लेकिन वह काम प्रतिबद्ध नहीं है, इसलिए इंजन को इसे वापस रोल करने की आवश्यकता है। इसके लिए इसे रोलबैक सेगमेंट की जरूरत है। लेकिन रोलबैक सेगमेंट नहीं होगा यदि आपने इसे चरण 3 पर लॉग नहीं किया है।

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




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. दिनांक मान के साथ IN पैरामीटर प्रक्रिया निष्पादित करते समय मान्य माह नहीं है

  2. Oracle में डायनामिक कॉलम के साथ पिवट

  3. Oracle:डेटा आयात करते समय संभावित एन्कोडिंग समस्याएं

  4. नाम स्थान (,) में एक से अधिक तालिकाएँ मिलीं - SchemaExtractionException

  5. बल्क संग्रह का उपयोग करते हुए LIMIT के लिए मान सेट करना