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

Oracle में सभी तालिकाओं को कैसे सूचीबद्ध करें

अधिकांश रिलेशनल डेटाबेस के साथ, ऐसी स्थिति आ सकती है जहां आपको अंतर्निहित मेटाडेटा को देखने और वास्तविक तालिका सूची और अपने डेटाबेस के स्वामित्व को देखने की आवश्यकता हो। शुक्र है, Oracle में इस अपेक्षाकृत सरल कार्य को करने के कई तरीके हैं, इसलिए हम आपकी आवश्यकताओं के लिए सबसे उपयुक्त खोजने के लिए नीचे दिए गए प्रत्येक विकल्प का संक्षेप में पता लगाएंगे।

Oracle डेटा डिक्शनरी क्या हैं?

Oracle में एक डेटा डिक्शनरी रीड-ओनली टेबल का एक संग्रह है जो डेटाबेस के बारे में उपयोगी जानकारी प्रदान करता है जिसमें स्कीमा, उपयोगकर्ता, विशेषाधिकार और यहां तक ​​​​कि ऑडिटिंग डेटा भी शामिल है। इन संग्रहीत शब्दकोशों में मान स्वचालित रूप से Oracle द्वारा अपडेट किए जाते हैं जब भी सर्वर पर कोई कथन निष्पादित होता है जो डेटा को संशोधित करता है।

वहां से, केवल-पढ़ने के लिए शब्दकोशों को किसी भी मानक तालिका की तरह पढ़ा और पूछताछ की जा सकती है, जैसा कि हम नीचे देखेंगे कुछ बहुत उपयोगी कार्यक्षमता प्रदान करते हैं।

वर्तमान उपयोगकर्ता के स्वामित्व वाली तालिकाएँ देखना

सबसे बुनियादी स्तर पर, आप स्वामित्व वाली . सभी तालिकाओं की सूची देखना चाह सकते हैं वर्तमान Oracle उपयोगकर्ता द्वारा। इसे एक साधारण SELECT . के साथ पूरा किया जा सकता है USER_TABLES . पर क्वेरी डेटा डिक्शनरी।

Oracle से कनेक्ट होने के बाद, यह स्टेटमेंट जारी करें:

SELECT
  table_name, owner
FROM
  user_tables
ORDER BY
  owner, table_name

यह उन सभी तालिकाओं की सूची लौटाएगा जिनका वर्तमान उपयोगकर्ता स्वामी है, जैसा कि owner . में निर्दिष्ट है कॉलम।

वर्तमान उपयोगकर्ता द्वारा सुलभ तालिका देखना

ऐसी स्थिति में जहां आप केवल इस बात में रुचि रखते हैं कि वर्तमान Oracle उपयोगकर्ता के पास कौन सी तालिकाएँ हैं पहुँच स्वामित्व की परवाह किए बिना, आप ALL_TABLES . का उपयोग करेंगे इसके बजाय डेटा डिक्शनरी।

SELECT
  table_name, owner
FROM
  all_tables
ORDER BY
  owner, table_name

यह संभावना है कि यह क्वेरी आपकी रुचि से कहीं अधिक परिणाम देगी क्योंकि आप उपयोगकर्ता के लिए दूर से भी पहुंच योग्य हर चीज़ देख रहे हैं, इसलिए आप एक उपयुक्त owner निर्दिष्ट करके अपनी क्वेरी को सीमित करना चाह सकते हैं। , इस तरह:

SELECT
  table_name, owner
FROM
  all_tables
WHERE
  owner='schema_name'
ORDER BY
  owner, table_name

सभी टेबल देखना

अंत में, जब आपको बिल्कुल हर टेबल देखने की आवश्यकता हो सिस्टम में, महान और शक्तिशाली DBA_TABLES . से आगे नहीं देखें डेटा डिक्शनरी।

SELECT
  table_name, owner
FROM
  dba_tables
WHERE
  owner='schema_name'
ORDER BY
  owner, table_name

यह नोट करना महत्वपूर्ण है कि यह अंतिम DBA_TABLES शब्दकोश को उपयोगकर्ता विशेषाधिकारों की आवश्यकता हो सकती है जो वर्तमान उपयोगकर्ता के पास है। यदि आवश्यक हो, तो आपको SELECT ANY DICTIONARY . प्रदान करने की आवश्यकता हो सकती है विशेषाधिकार या SELECT_CATALOG_ROLE भूमिका। इन विशेषाधिकारों को प्रदान करने के बारे में अधिक जानकारी आधिकारिक दस्तावेज़ीकरण में पाई जा सकती है।


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Oracle - किसी संख्या का अग्रणी शून्य इसे TO_CHAR में परिवर्तित करते समय गायब क्यों हो जाता है?

  2. EXक्स्प () Oracle में फंक्शन

  3. पिछले महीने या वर्ष के गुम डेटा को संचयी रूप से जोड़ें

  4. ऑरैकल में टेबल, व्यू और समानार्थक शब्द के लिए सभी इंडेक्स और उनके कॉलम कैसे खोजें?

  5. ORA-29285 कैसे हल करें:फ़ाइल लिखने में त्रुटि