श्रोता.नो में SID_LIST_LISTENER के बिना Oracle श्रोता को कैसे कॉन्फ़िगर करें?


13

मेरे पास निम्न श्रोता .ora का उपयोग करके ORACLE 11g सर्वर तक पहुँच है

# listener.ora Network Configuration File: D:\app\Administrator\product\11.1.0\db_1\NETWORK\ADMIN\listener.ora
# Generated by Oracle configuration tools.

LISTENER =
  (DESCRIPTION_LIST =
    (DESCRIPTION =
      (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
    )
    (DESCRIPTION =
      (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.111.111)(PORT = 1521))
    )
  )

और यह उस सर्वर पर सभी उदाहरणों को कार्य करता है, जैसा कि मैं सत्यापित कर सकता हूं

lsnrctl status

मेरी समस्या यह है, कि जब मैं एक वर्चुअल मशीन में Oracle 11g की एक नई स्थापना करता हूँ, तो मुझे एक श्रोता का उपयोग करना होगा।

# listener.ora Network Configuration File: C:\app\oracle\product\11.2.0\dbhome_1\network\admin\listener.ora
# Generated by Oracle configuration tools.

SID_LIST_LISTENER =
  (SID_LIST =
    (SID_DESC =
      (SID_NAME = CLRExtProc)
      (ORACLE_HOME = C:\app\oracle\product\11.2.0\dbhome_1)
      (PROGRAM = extproc)
      (ENVS = "EXTPROC_DLLS=ONLY:C:\app\oracle\product\11.2.0\dbhome_1\bin\oraclr11.dll")
    )

   (SID_DESC =
     (GLOBAL_DBNAME = ORCL)
     (ORACLE_HOME = C:\app\oracle\product\11.2.0\dbhome_1)
     (SID_NAME = orcl)
    )

   (SID_DESC =
     (GLOBAL_DBNAME = BMBK)
     (ORACLE_HOME = C:\app\oracle\product\11.2.0\dbhome_1)
     (SID_NAME = BMBK)
    )

 )

LISTENER =
  (DESCRIPTION_LIST =
    (DESCRIPTION =
      (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
      (ADDRESS = (PROTOCOL = TCP)(HOST = 169.254.200.102)(PORT = 1521))
      (ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))
    )
  )

ADR_BASE_LISTENER = C:\app\oracle

SID_LIST_LISTENER के बिना, यानी एक श्रोता का उपयोग कर रहा है। उस तरह से जो मुझे मिलता है अन्य सर्वर से

C:\Windows\system32>lsnrctl status

LSNRCTL for 64-bit Windows: Version 11.2.0.1.0 - Production on 27-NOV-2011 10:14
:24

Copyright (c) 1991, 2010, Oracle.  All rights reserved.

Anmeldung bei (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC1521)))
STATUS des LISTENER
------------------------
Alias                     LISTENER
Version                   TNSLSNR for 64-bit Windows: Version 11.2.0.1.0 - Produ
ction
Startdatum                27-NOV-2011 10:14:08
Uptime                    0 Tage 0 Std. 0 Min. 18 Sek.
Trace-Ebene               off
Sicherheit                ON: Local OS Authentication
SNMP                      OFF
Parameterdatei des Listener C:\app\oracle\product\11.2.0\dbhome_1\network\admin\
listener.ora
Log-Datei des Listener    c:\app\oracle\diag\tnslsnr\WSV-BK-W7en64-S\listener\al
ert\log.xml
Zusammenfassung Listening-Endpunkte...
  (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(PIPENAME=\\.\pipe\EXTPROC1521ipc)))
  (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=169.254.200.102)(PORT=1521)))
Der Listener unterst³tzt keine Services
Der Befehl wurde erfolgreich ausgef³hrt.

अंतिम संदेश का अनुवाद

श्रोता नो सर्विसेज का समर्थन करता है।

मुझे नहीं पता, ये दोनों सर्वर अलग-अलग व्यवहार क्यों करते हैं। मुझे कॉन्फ़िगरेशन फ़ाइलों में और न ही रजिस्ट्री कुंजियों में कोई संकेत नहीं मिला।

संपादित करें:

मुझे लगता है कि इसका जवाब कहीं न कहीं बर्ल्सन कंसल्टिंग द्वारा इस पोस्ट में दफन है , लेकिन मुझे वह स्थान नहीं मिला, जहां यह वास्तव में कॉन्फ़िगर किया गया है।

जवाबों:


14

इस पर पार्टी को थोड़ी देर ...

डेटाबेस को श्रोताओं के साथ स्वचालित रूप से पंजीकरण करना चाहिए, जिससे SID_LISTप्रविष्टियां निरर्थक हो सकती हैं, और ऐसा आपके 192.168.111.111वातावरण के साथ हो रहा है। यदि श्रोता को डेटाबेस के बाद शुरू किया जाता है, तो इसे रजिस्टर करने में कुछ समय लग सकता है, और ऐसी परिस्थितियाँ भी हो सकती हैं जहाँ वह ऐसा नहीं करता है।

आप इसे एक alter system registerकमांड के साथ रजिस्टर करने का प्रयास कर सकते हैं । डेटाबेस LOCAL_LISTENERउस श्रोता की पहचान करने के लिए पैरामीटर का उपयोग करता है जिसे उसके साथ पंजीकृत होना चाहिए। डिफ़ॉल्ट रूप से यह अशक्त है, जो प्रलेखन के अनुसार है hostname:1521

यदि alter system registerसेवा lsnrctl statusआउटपुट में प्रकट नहीं होती है, तो मुझे संदेह होगा कि यह या तो hostname की पहचान करने में असमर्थ है या इसे हल नहीं कर रही है, या यह एक अलग पते पर हल हो रहा है, जिस पर श्रोता चालू है, या LOCAL_LISTENERकुछ अमान्य है। आभासी बॉक्स। आप LOCAL_LISTENERया तो listener.oraसीधे मैच कर सकते हैं, जैसे:

alter system set LOCAL_LISTENER='(ADDRESS=(PROTOCOL=TCP)(HOST=localhost)(PORT=1521))' scope=both;
alter system register;

या आप किसी अन्य का उपयोग कर सकते हैं जिसमें आपके विवरण हैं tnsnames.ora। उदाहरण के लिए, यदि आप एक tnsnames.oraप्रविष्टि जोड़ते हैं जैसे:

MY_LISTENER =
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))
  )

तो आप कर सकते हैं:

alter system set local_listener='MY_LISTENER' scope=both;
alter system register;

एकमात्र वास्तविक लाभ जो कि मैं tnsnames.oraसंस्करण का उपयोग कर सकता हूं , इसके अलावा शायद संक्षिप्त रूप से, यह है कि आप डेटाबेस में बजाय SQL * नेट फ़ाइलों में कॉन्फ़िगरेशन को बदल सकते हैं; और यहां तक ​​कि केवल वास्तव में उपयोगी लगता है यदि आप मशीनों के बीच डेटाबेस क्लोनिंग कर रहे हैं, या आपके श्रोता और डेटाबेस विभिन्न खातों के तहत चल रहे हैं (जैसे gridआरएसी / एचए के लिए उपयोगकर्ता के साथ )।

LOCAL_LISTENER यहाँ पर और भी बहुत कुछ है

संपादित करें: और यह काफी व्यापक लगता है।


-2

मुझे भी ऐसी ही समस्या थी और मैंने पाया कि बस बंद करने और इंस्टेंस को फिर से शुरू करने से यह सही तरीके से रजिस्टर हो गया।

यह sqlplus कमांड लाइन का उपयोग करके किया जा सकता है। आपको SYSDBA priveledges (जैसे सिस्टम) सिंटैक्स के साथ एक उपयोगकर्ता के रूप में लॉगिन करने की आवश्यकता होगी:

sqlplus name/pass as SYSDBA

फिर 'शटडाउन' चलाएं और इसके खत्म होने का इंतजार करें। फिर 'स्टार्टअप' चलाएं और इसके खत्म होने का इंतजार करें।

उंगलियों को पार कर जाना चाहिए, अब आपको एक उदाहरण सुनने वाले के साथ पंजीकृत होना चाहिए।

यह जाँचने के लिए कि यह मामला है कि आप lsnrctl को फायर कर सकते हैं और कमांड 'स्टेटस' चला सकते हैं। अगर यह काम नहीं किया है, तो आप अभी भी संदेश देखेंगे 'श्रोता बिना सेवाओं का समर्थन करता है' अन्यथा आपको कुछ ऐसा दिखाई देगा

Service "horse" has 1 instance(s).
 Instance "horse", status READY, has 1 handler(s) for this service...

4
कृपया, न ही ... केवल श्रोता पंजीकरण के लिए डेटाबेस को पुनः आरंभ करने की कोई आवश्यकता नहीं है। "सिस्टम रजिस्टर में बदलाव करें;" sqlplus से करता है, और यह पहले से ही पिछले उत्तर में लिखा गया था।
बालजस पप्प
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.