मुझे उनमें से दो की आवश्यकता क्यों है? जब मुझे एक या दूसरे का उपयोग करना होगा?
मुझे उनमें से दो की आवश्यकता क्यों है? जब मुझे एक या दूसरे का उपयोग करना होगा?
जवाबों:
संक्षेप में: SID = कनेक्ट करते समय आपके DB, ServiceName = उपनाम का अद्वितीय नाम
सख्ती से सच नहीं। SID = INSTANCE का अनूठा नाम (जैसे मशीन पर चलने वाली ऑरेकल प्रक्रिया)। ओरेकल "डेटाबेस" को फाइल मानता है।
सेवा का नाम = एक नाम (या कई उदाहरण) के लिए उपनाम। इसका मुख्य उद्देश्य यह है कि यदि आप एक क्लस्टर चला रहे हैं, तो क्लाइंट "मुझे SALES.acme.com से कनेक्ट कर सकता है" कह सकता है, DBA मक्खी पर ऐसे उदाहरणों की संख्या को बदल सकता है जो SALES.acme.com अनुरोधों के लिए उपलब्ध हैं, या यहां तक कि SALES.acme.com को किसी भी सेटिंग्स को बदलने की आवश्यकता वाले क्लाइंट के बिना पूरी तरह से अलग डेटाबेस में ले जाएं।
Sales1
, Sales2
है, और Sales3
, जो सभी सेवा का नाम माध्यम से उपलब्ध हैं Sales
?
कृपया देखें: http://www.sap-img.com/oracle-database/finding-oracle-sid-of-a-database.htm
Oracle SIDs और Oracle Service NAMES में क्या अंतर है। एक कॉन्फ़िगर टूल सेवा के नाम के लिए दिखता है और फिर SID के लिए अगला दिखता है! क्या चल रहा है?!
Oracle SID एक अनूठा नाम है जो विशिष्ट रूप से आपके उदाहरण / डेटाबेस की पहचान करता है जहां सेवा का नाम TNS उपनाम है जिसे आप तब देते हैं जब आप दूरस्थ रूप से अपने डेटाबेस से जुड़ते हैं और यह सेवा नाम आपके क्लाइंट में Tnsnames.ora फ़ाइल में दर्ज किया जाता है और यह हो सकता है SID के समान और आप इसे अपनी इच्छानुसार कोई अन्य नाम भी दे सकते हैं।
SERVICE_NAME, oracle 8i के बाद की नई सुविधा है जिसमें डेटाबेस श्रोता के साथ खुद को पंजीकृत कर सकता है। यदि डेटाबेस इस तरह से श्रोता के साथ पंजीकृत है, तो आप tnnames.ora में SERVICE_NAME पैरामीटर का उपयोग कर सकते हैं - अन्यथा tnsnames.ora में SID का उपयोग करें।
यदि आपके पास OPS (RAC) है, तो आपके पास प्रत्येक उदाहरण के लिए अलग-अलग SERVICE_NAME होगा।
SERVICE_NAMES डेटाबेस सेवा के लिए एक या एक से अधिक नामों को निर्दिष्ट करता है जिससे यह उदाहरण जुड़ता है। एक ही डेटाबेस के विभिन्न उपयोगों के बीच अंतर करने के लिए आप कई सेवाओं के नाम निर्दिष्ट कर सकते हैं। उदाहरण के लिए:
SERVICE_NAMES = sales.acme.com, widgetsales.acme.com
आप एक एकल सेवा की पहचान करने के लिए सेवा नामों का उपयोग भी कर सकते हैं जो प्रतिकृति के उपयोग के माध्यम से दो अलग-अलग डेटाबेस से उपलब्ध है।
Oracle पैरेलल सर्वर वातावरण में, आपको हर उदाहरण के लिए यह पैरामीटर सेट करना होगा।
संक्षेप में: SID = आपके DB उदाहरण का अद्वितीय नाम, ServiceName = कनेक्ट करते समय उपयोग किया जाने वाला उपनाम
मुझे पता है कि यह प्राचीन है, जब बारीक उपकरण, उपयोग, उपयोगकर्ताओं या लक्षणों के साथ व्यवहार किया जाता है: किसी का नाम और सेवा नामकरण आपके tnsnames प्रविष्टियों की तरह थोड़ा फ्लेक्स जोड़ सकते हैं:
mySID, mySID.whereever.com =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = myHostname)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = mySID.whereever.com)
(SID = mySID)
(SERVER = DEDICATED)
)
)
मैंने सोचा था कि मैं इसे यहां छोड़ दूंगा क्योंकि यह सवाल के लिए मामूली रूप से प्रासंगिक है और जब ओरेकल नेटवर्किंग के स्पष्ट idiosyncrasies से कुछ कम के आसपास बुनाई का प्रयास करने में मददगार हो सकता है।
SID और सेवा नाम क्या है
कृपया https://docs.oracle.com/cd/B19306_01/network.102/b14212/concepts.htm पर oracle के दस्तावेज़ देखें
यदि भविष्य में उपरोक्त लिंक पहुँच योग्य नहीं है, तो इस उत्तर को लिखने के समय, उपरोक्त लिंक आपको "डेटाबेस नेट सर्विसेज़ एडमिनिस्ट्रेटर गाइड" के चैप्टर कॉन्सेप्टस चैप्टर में "डेटाबेस सेवा और डेटाबेस इंस्टेंस पहचान" विषय पर निर्देशित करेगा। । यह गाइड ओरेकल द्वारा "ओरेकल डेटाबेस ऑनलाइन डॉक्यूमेंटेशन, 10 जी रिलीज़ 2 (10.2)" के हिस्से के रूप में प्रकाशित किया गया है।
जब मुझे एक या दूसरे का उपयोग करना होगा? मुझे उनमें से दो की आवश्यकता क्यों है?
आरएसी पर्यावरण में मानचित्रण के नीचे विचार करें,
SID SERVICE_NAME
बॉब
1 बॉब बॉब
2 बॉब बॉब
3 बॉब बॉब 4 बॉब
यदि लोड संतुलन को कॉन्फ़िगर किया गया है, तो श्रोता सभी चार सिड्स में कार्यभार को 'संतुलित' करेगा। यहां तक कि अगर लोड संतुलन कॉन्फ़िगर किया गया है, तो आप हर समय bob1 से कनेक्ट कर सकते हैं, अगर आप SERVICE_NAME के बजाय SID का उपयोग करके करना चाहते हैं।
कृपया देखें, https://community.oracle.com/thread/4049517
ओरेकल शब्दावली के अनुसार:
SID एक Oracle डेटाबेस उदाहरण के लिए एक अद्वितीय नाम है। ---> Oracle डेटाबेस के बीच स्विच करने के लिए, उपयोगकर्ताओं को वांछित SID <- निर्दिष्ट करना होगा। SID एक TNSNAMES.ORA फ़ाइल में कनेक्ट डिस्क्रिप्टर के कनेक्ट डेटा भागों में और LISTENER.ORA फ़ाइल में नेटवर्क श्रोता की परिभाषा में शामिल है। जिसे सिस्टम आईडी के रूप में भी जाना जाता है। Oracle सेवा नाम "MyOracleServiceORCL" की तरह कुछ भी वर्णनात्मक हो सकता है। Windows में, आप Windows सेवा के तहत सेवा के रूप में अपना सेवा नाम चला सकते हैं।
आपको TNSNAMES.ORA में SID का उपयोग एक बेहतर दृष्टिकोण के रूप में करना चाहिए।