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

कैसे पता करें कि Oracle में कोई विशेष तालिका कब बनाई गई थी?

SELECT created
  FROM dba_objects
 WHERE object_name = <<your table name>>
   AND owner = <<owner of the table>>
   AND object_type = 'TABLE'

आपको बताएगा कि एक तालिका कब बनाई गई थी (यदि आपके पास DBA_OBJECTS तक पहुंच नहीं है, तो आप यह मानकर ALL_OBJECTS का उपयोग कर सकते हैं कि आपके पास टेबल पर SELECT विशेषाधिकार हैं)।

हालांकि, एक पंक्ति से टाइमस्टैम्प प्राप्त करने का सामान्य उत्तर यह है कि आप केवल उस डेटा को प्राप्त कर सकते हैं यदि आपने उस जानकारी को ट्रैक करने के लिए कॉलम जोड़े हैं (यह मानते हुए कि आपका एप्लिकेशन कॉलम को भी पॉप्युलेट करता है)। हालांकि, विभिन्न विशेष मामले हैं। यदि डीएमएल अपेक्षाकृत हाल ही में हुआ है (सबसे अधिक संभावना पिछले कुछ घंटों में), तो आपको फ्लैशबैक क्वेरी से टाइमस्टैम्प प्राप्त करने में सक्षम होना चाहिए। यदि डीएमएल पिछले कुछ दिनों में हुआ है (या फिर भी आप अपने संग्रहीत लॉग रखते हैं), तो आप टाइमस्टैम्प निकालने के लिए लॉगमाइनर का उपयोग कर सकते हैं लेकिन यह एक बहुत महंगा ऑपरेशन होने जा रहा है, खासकर यदि आपको कई पंक्तियों के लिए टाइमस्टैम्प मिल रहे हैं। यदि आप ROWDEPENDENCIES सक्षम (डिफ़ॉल्ट नहीं) के साथ तालिका बनाते हैं, तो आप इसका उपयोग कर सकते हैं

SELECT scn_to_timestamp( ora_rowscn ) last_modified_date,
       ora_rowscn last_modified_scn,
       <<other columns>>
  FROM <<your table>>

पंक्ति के लिए अंतिम संशोधन तिथि और एससीएन (सिस्टम परिवर्तन संख्या) प्राप्त करने के लिए। डिफ़ॉल्ट रूप से, हालांकि, ROWDEPENDENCIES के बिना, SCN केवल ब्लॉक स्तर पर है। SCN_TO_TIMESTAMP फ़ंक्शन भी SCN के टाइमस्टैम्प को हमेशा के लिए मैप करने में सक्षम नहीं होगा।



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Opatch को गैर-संवादात्मक रूप में कैसे चलाएं

  2. एसक्यूएल - अधिकतर क्रमबद्ध अनुक्रमिक श्रृंखला में लापता int मान खोजें

  3. ORA-00918:चयन में अस्पष्ट रूप से परिभाषित स्तंभ *

  4. Oracle यूनिकोड स्पूलिंग

  5. कैसे जांचें कि कर्सर ऑरैकल में कोई रिकॉर्ड देता है या नहीं?