मुझे ऐसी वस्तु कैसे मिलेगी जो वस्तुओं की तालिका में मौजूद नहीं लगती है?


11

मुझे एक वस्तु कहा जाता है cot_ntn_pi_v। मुझे बताया गया कि यह एक पर्यायवाची था। यह all_synonyms तालिका में दिखाई नहीं देता है। यह एक दृश्य या तालिका जैसा दिखता है, लेकिन मैं इसे सभी ऑब्जेक्ट तालिका में नहीं ढूँढ सकता। मैं इसमें से चयन कर सकता हूं, लेकिन मैं इसे नहीं छोड़ सकता क्योंकि यह 'अस्तित्व में नहीं है' और मैं एक ही नाम के साथ एक नई तालिका नहीं बना सकता 'नाम पहले से ही किसी अन्य ऑब्जेक्ट द्वारा उपयोग किया गया है।'

क्या मैं पागल हो रहा हूं या वास्तव में कुछ बेवकूफ कर रहा हूं?


1
यदि आपके पास आइटम पर अनुमतियाँ नहीं हैं, तो यह ALL_ * तालिकाओं में नहीं दिख सकता है। आपको एक प्रशासनिक लॉगिन और DBA_ * डेटा शब्दकोश तालिकाओं में देखने की आवश्यकता हो सकती है।
कंसर्नडऑफटुनब्रिजवेल्स

जवाबों:


11

तालिका के समान नामस्थान में ऑब्जेक्ट प्रकार हैं:

  • स्टैंड-अलोन प्रक्रियाएँ
  • स्टैंड-अलोन संग्रहीत कार्य
  • संकुल
  • उपयोगकर्ता-परिभाषित प्रकार
  • दृश्यों
  • दृश्य
  • निजी पर्यायवाची
  • भौतिकवादी दृश्य

इसलिए यह शायद उन प्रकारों में से एक है। यदि आप इसमें से चयन कर सकते हैं तो यह पहले पांच को नियमपूर्वक छोड़ देता है, या तो एक तालिका, दृश्य, निजी पर्याय या भौतिक दृष्टिकोण।

जब आपने खोज की all_objectsआदि में आपने ऊपरी मामले का उपयोग किया? उदाहरण के लिए,

select *
  from ALL_OBJECTS
 where OBJECT_NAME = 'COT_NTN_PI_V'; 

यदि आप SQL डेवलपर या टॉड जैसे कुछ टूल का उपयोग करते हैं, तो आप इसे आपके लिए ऑब्जेक्ट का वर्णन कर सकते हैं। टूल में नाम हाइलाइट करें और Shift-F4डेवलपर या F4टॉड में हिट करें । Toad ऑब्जेक्ट पर बहुत विवरण प्रदान करता है जबकि डेवलपर, विवरण टैब में, इसके साथ TABLE_NAMEया इसमें एक पंक्ति होगी MVIEW_NAMEऔर यह आपको दिखाएगा कि यह क्या है।

एक बार जब आप जानते हैं कि यह क्या है तो यह जानना आसान हो जाएगा कि इसे कैसे छोड़ना है।


एसक्यूएल डेवलपर और शिफ्ट + एफ 4 का उपयोग करके मैं यह पता लगाने में सक्षम था कि मुझे क्या चाहिए! धन्यवाद :)
BON

4

यदि आप ऑब्जेक्ट पर स्वयं कोई अनुदान नहीं रखते हैं, तो आप ALL_% तालिकाओं में ऑब्जेक्ट को देखने में सक्षम नहीं हो सकते हैं, इसलिए DBA_OBJECTS तालिका में जांच करें (आपको ऐसा करने के लिए उचित रूप से दिए गए उपयोगकर्ता की आवश्यकता होगी))

select * 
from DBA_OBJECTS
where object_name = 'COT_NTN_PI_V';

यदि आप किसी भी आउटपुट का उत्पादन नहीं कर सकते हैं तो आप इस क्वेरी के साथ कच्चे Oracle डेटा डिक्शनरी टेबल में देख सकते हैं:

select u.name as owner, o.name as object_name, 
 decode(o.type#, 0, 'NEXT OBJECT', 1, 'INDEX', 2, 'TABLE', 3, 'CLUSTER',
 4, 'VIEW', 5, 'SYNONYM', 6, 'SEQUENCE',
 7, 'PROCEDURE', 8, 'FUNCTION', 9, 'PACKAGE',
 11, 'PACKAGE BODY', 12, 'TRIGGER',
 13, 'TYPE', 14, 'TYPE BODY',
 19, 'TABLE PARTITION', 20, 'INDEX PARTITION', 21, 'LOB',
 22, 'LIBRARY', 23, 'DIRECTORY', 24, 'QUEUE',
 28, 'JAVA SOURCE', 29, 'JAVA CLASS', 30, 'JAVA RESOURCE',
 32, 'INDEXTYPE', 33, 'OPERATOR',
 34, 'TABLE SUBPARTITION', 35, 'INDEX SUBPARTITION',
 39, 'LOB PARTITION', 40, 'LOB SUBPARTITION',
 43, 'DIMENSION',
 44, 'CONTEXT', 47, 'RESOURCE PLAN',
 48, 'CONSUMER GROUP',
 51, 'SUBSCRIPTION', 52, 'LOCATION', 56, 'JAVA DATA', 'UNKNOWN') as type,
o.ctime, o.mtime,
 to_char(o.stime, 'YYYY-MM-DD:HH24:MI:SS'),
 decode(o.status, 0, 'N/A', 1, 'VALID', 'INVALID') as status
 from sys.obj$ o, sys.user$ u
 where o.owner# = u.user#
 and o.linkname is null
 and (o.type# not in (1 , 10) or
 (o.type# = 1 and 1 = (select 1
 from sys.ind$ i
 where i.obj# = o.obj#
 and i.type# in (1, 2, 3, 4, 6, 7, 9))))
 and o.name = 'COT_NTN_PI_V';
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.