2009-06-15 15 views
14

मैं मेजबान, बंदरगाह, प्रयोक्ता आईडी और पासवर्ड लेकिन Oracle DBMS को जोड़ने के लिए याद आ रही सिड है की सूची प्राप्त करने के लिए कैसे। मैं उस सर्वर पर एसआईडी की सूची कैसे पा सकता हूं?Oracle की SIDs

उत्तर

17

यदि आपके पास मेजबान मशीन तक पहुंच है और ओरेकल इंस्टॉल कमांड का उपयोग करना है: lsnrctl status। यह यूनिक्स, लिनक्स और विंडोज मशीन दोनों पर काम करता है। स्टेटस कमांड आपको सभी श्रोताओं (और उनके संबंधित एसआईडी) दिखाएगा।

C:\>lsnrctl status 

LSNRCTL for 32-bit Windows: Version 10.2.0.1.0 - Production on 15-JUN-2009 16:16:34 
Copyright (c) 1991, 2005, Oracle. All rights reserved. 

Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC_FOR_XE))) 
STATUS of the LISTENER 
------------------------ 
Alias      LISTENER 
Version     TNSLSNR for 32-bit Windows: Version 10.2.0.1.0 - Production 
Start Date    13-JUN-2009 12:04:14 
Uptime     2 days 4 hr. 12 min. 19 sec 
Trace Level    off 
Security     ON: Local OS Authentication 
SNMP      OFF 
Default Service   XE 
Listener Parameter File C:\oracle\XE\app\oracle\product\10.2.0\server\network\admin\listener.ora 
Listener Log File   C:\oracle\XE\app\oracle\product\10.2.0\server\network\log\listener.log 
Listening Endpoints Summary... 
    (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(PIPENAME=\\.\pipe\EXTPROC_FOR_XEipc))) 
    (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=ThinkpadT61)(PORT=1521))) 
    (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=127.0.0.1)(PORT=8080))(Presentation=HTTP)(Session=RAW)) 
Services Summary... 
Service "CLRExtProc" has 1 instance(s). 
    Instance "CLRExtProc", status UNKNOWN, has 1 handler(s) for this service... 
Service "PLSExtProc" has 1 instance(s). 
    Instance "PLSExtProc", status UNKNOWN, has 1 handler(s) for this service... 
Service "XEXDB" has 1 instance(s). 
    Instance "xe", status READY, has 1 handler(s) for this service... 
Service "XE_XPT" has 1 instance(s). 
    Instance "xe", status READY, has 1 handler(s) for this service... 
Service "xe" has 1 instance(s). 
    Instance "xe", status READY, has 1 handler(s) for this service... 
The command completed successfully 

ऊपर के उदाहरण में आप Conect स्ट्रिंग्स XEXDB, XE_XPT या XE का उपयोग कर XE डेटाबेस से कनेक्ट कर सकते हैं।

+0

मैंने अपने उत्तर के लिए यह दृष्टिकोण माना था, लेकिन तकनीकी रूप से यह केवल डिफ़ॉल्ट श्रोता के लिए काम करता है। Lsnrctl का उपयोग करने के लिए अधिक दृढ़ दृष्टिकोण पहले ps-ef | grep lsnr के माध्यम से श्रोताओं की एक सूची प्राप्त करता है, और उसके बाद प्रत्येक श्रोताओं के लिए स्टेटस कमांड जारी करता है। उत्तर को अधिक जटिल नहीं करना चाहते थे क्योंकि शायद 99% इंस्टॉलेशन डिफ़ॉल्ट श्रोता सेटअप – dpbradley

4

संक्षिप्त उत्तर है कि आप मेजबान ओएस के लिए उपयोग की आवश्यकता है:

यूनिक्स के लिए, ps -ef | ग्रेप pmon आप ora_pmon_xxxx जैसे नामों के साथ एक या अधिक प्रक्रियाओं दिखाई देगा, और xxxx उदाहरण के नाम है।

Windows में मुझे लगता है कि कार्य सूची में एक ऐसी ही हस्ताक्षर है।

अभ्यास में, इस जानकारी को आम तौर पर आप के लिए जो कोई भी डेटाबेस प्रशासन करता है जब अपने को जोड़ने खाता बनाए जाने के द्वारा दिया जाता है।

+0

Windows में, सिड taskmanager के तहत दिखाई नहीं हो सकता है, आप सिड के लिए जाँच करने के लिए चल रहा है सेवाएं (services.msc) की जांच करनी होगी। उदाहरण: OracleServiceORCL मानते हुए ओआरसीएल एसआईडी – Sathya

+0

धन्यवाद - स्पष्टीकरण के लिए - विंडोज प्लेटफॉर्म पर कोई अनुभव नहीं – dpbradley

3

प्रश्न नीचे आ गया है: मेजबान एक्स पोर्ट वाई पर चल रहे श्रोता द्वारा कौन सी ORACLE_SID या सेवाओं का समर्थन किया जाता है। इस श्रोता को कॉन्फ़िगर करने के तरीके के आधार पर आप इसे क्लाइंट से lsnrctl कमांड का उपयोग करके देख सकते हैं जिसमें lsnrctl है स्थापित। ऐसा करने में सक्षम होने के लिए आपको उस क्लाइंट पर ऑरैकल सर्वर इंस्टॉलेशन की आवश्यकता है। जब आप है कि आप जारी कर सकते हैं

lsnrctl 
set current_listener (description=(address=(host=X)(port=Y)(protocol=tcp))) 
status 

10 ग्राम श्रोता की डिफ़ॉल्ट सेटिंग निम्न परिणाम कारण भरें: टीएनएस-01,189: श्रोता उपयोगकर्ता को प्रमाणित नहीं कर सका

इसका कारण यह है 10g ओरेकल डिफ़ॉल्ट से सुरक्षा चालू है: स्थानीय ओएस प्रमाणीकरण का अर्थ है कि श्रोता प्रारंभ करने वाले स्थानीय ओएस उपयोगकर्ता श्रोता को lsnrctl आदेश जारी कर सकते हैं। श्रोता किसी भी अन्य उपयोगकर्ता का जवाब देने से इंकार कर देगा।

2

विचार करने का एक और विकल्प यूनिक्स पर फ़ाइल/etc/oratab है या विंडोज पर इसके समतुल्य है, जो मुझे लगता है कि एक रजिस्ट्री हाइव है।

oratab एक मेजबान पर सभी SIDs में सूचीबद्ध करना चाहिए, वर्तमान में चल रहे है या नहीं।

+0

@ सैरिटोनिन से टिप्पणी करते हैं, जिनके पास टिप्पणी करने के लिए विशेषाधिकार नहीं हैं: "कृपया ध्यान दें कि/etc/oratab $ ORACLE_SID पैरामीटर वाइल्डकार्ड '*' "है। –

1

वहाँ एक nmap स्क्रिप्ट है कि शायद मदद कर सकता है, ओरेकल-sid-जानवर है:

http://nmap.org/nsedoc/scripts/oracle-sid-brute.html

यह अपने सिस्टम पर nmap के साथ स्थापित किया गया था।

nmap --script oracle-sid-brute -p 1521-1560 [host] 

यह केवल मदद करता है, तो सिड एक सूची में मिलान किया जा सकता हैं। डिफ़ॉल्ट सूची यहाँ है:

http://www.red-database-security.com/scripts/sid.txt

संबंधित मुद्दे