2010-03-02 18 views
25

के लिए सर्वर का नाम खोजें क्या सर्वर का नाम ढूंढने का कोई तरीका ओरेकल डेटाबेस होस्ट किया गया है?ओरेकल डेटाबेस

उत्तर

35
SELECT host_name 
FROM v$instance 
+3

तकनीकी रूप से, एकाधिक सर्वर ओरेकल डेटाबेस को माउंट कर सकते हैं, 'gv $ instance से host_name का चयन करें' सभी होस्ट वापस कर देगा। उपर्युक्त क्वेरी उस होस्ट को दिखाती है जिसे आप वर्तमान में उस सत्र में कनेक्ट कर चुके हैं। 'Sys_context()' के लिए सबसे आसान और सबसे उपयुक्त समाधान के रूप में –

56

(के रूप में Quassnoi ने सुझाव दिया) आप वी $ विचारों के लिए उपयोग नहीं है, तो वहाँ दो

select utl_inaddr.get_host_name from dual 

और

select sys_context('USERENV','SERVER_HOST') from dual 

विकल्प व्यक्तिगत तौर पर मैं की ओर जाते हैं चाहते हैं आखिरी के रूप में इसे किसी अनुदान/विशेषाधिकारों की आवश्यकता नहीं होती है जो संग्रहीत प्रक्रियाओं से इसे आसान बनाता है।

+8

+1। – APC

+4

'sys_context' का उपयोग न करने का एकमात्र कारण यह है कि यह नाम कम मामलों का नाम है, जो अन्य 2 नहीं करते हैं। यह दुर्लभ है कि इससे कोई फर्क नहीं पड़ता है, लेकिन कभी-कभी लिनक्स चुनिंदा होता है। – Ben

+5

आप मशीन नाम के बजाय डेटाबेस सेवा नाम प्राप्त करने के लिए 'sys_context ('USERENV', 'SERVICE_NAME') का उपयोग कर सकते हैं। – bart

0

मैं अपने ओरेकल डेटाबेस के सर्वर नाम को पुनर्प्राप्त करने के लिए इस क्वेरी का उपयोग करता हूं।

SELECT program FROM v$session WHERE program LIKE '%(PMON)%';