Listener: Unterschied zwischen den Versionen
Schild (Diskussion | Beiträge) |
Schild (Diskussion | Beiträge) |
||
Zeile 36: | Zeile 36: | ||
</pre> | </pre> | ||
− | Wenn | + | Wenn dort der Datenbankname nicht als Dienst aufgelistet ist, obwohl sie hochgefahren (und u.U. sogar über sqlplus erreichbar ist), ist die Datenbank nicht im Listener registriert. Sie kann statisch registriert werden. |
Dafür wird in der Datei listener.ora im Block ''SID_LIST'' eine weiter ''SID_DESC'' Eintrag eingefügt (hier für die Datenbank ''PLUGPLANT''): | Dafür wird in der Datei listener.ora im Block ''SID_LIST'' eine weiter ''SID_DESC'' Eintrag eingefügt (hier für die Datenbank ''PLUGPLANT''): | ||
− | |||
<pre> | <pre> | ||
Zeile 53: | Zeile 52: | ||
</pre> | </pre> | ||
− | + | Der Listener sollte jetzt einmal neu gestartet werden. Die Befehle müssen in einer Konsole ("DOS-Fenster" oder Powershell) mit Administratorrechten ausgeführt werden: | |
<pre> | <pre> | ||
lsnrctl stop | lsnrctl stop | ||
lsnrctl start | lsnrctl start | ||
</pre> | </pre> | ||
+ | |||
+ | Danach sollte die Datenbank von ''lsnrctl services'' als Dienst angezeigt werden. |
Version vom 4. April 2019, 10:10 Uhr
1 Registrierung der Datenbank im Listener
Jede Datenbank muss beim Listener registriert sein. Normalerweise geschieht dies dynamisch über den Hintergrundprozess LREG (bzw. PMON bis Oracle 11g), wenn die Datenbank hochfährt.
Alternativ kann die Datenbank statisch in der Datei listener.ora registriert werden.
Mehr dazu unter Instance/service registration with Database listener und Registering Database Service With Listener | Static vs. Dynamic
2 Fehlersuche
Bei Fehlern wie
ORA-12154: TNS: Angegebener Connect Identifier konnte nicht aufgelöst werden ORA-12505: TNS:listener does not currently know of SID given in connect descriptor
kann es ein Problem mit dem Listener geben.
Über den Befehle lsnrctl services in einer Windows Konsole ("DOS-Fenster" oder Powershell) kann geprüft werden, ob die Datenbank überhaupt beim Listener registriert ist:
C:\Users\Administrator>lsnrctl services LSNRCTL for 64-bit Windows: Version 11.2.0.4.0 - Production on 04-APR-2019 11:01:18 Copyright (c) 1991, 2013, Oracle. All rights reserved. Anmeldung bei (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=pc-hs)(PORT=1521))) Services Übersicht... ... Dienst "plugplant" hat 1 Instanzen. Instanz "plugplant", Status READY, hat 1 Handler für diesen Dienst... Handler: "DEDICATED" festgelegt:0 abgelehnt:0 Status:ready LOCAL SERVER ...
Wenn dort der Datenbankname nicht als Dienst aufgelistet ist, obwohl sie hochgefahren (und u.U. sogar über sqlplus erreichbar ist), ist die Datenbank nicht im Listener registriert. Sie kann statisch registriert werden.
Dafür wird in der Datei listener.ora im Block SID_LIST eine weiter SID_DESC Eintrag eingefügt (hier für die Datenbank PLUGPLANT):
SID_LIST_LISTENER = (SID_LIST = ... (SID_DESC = (SID_NAME = PLUGPLANT) (ORACLE_HOME = C:\app\Oracle\product\12.2.0\dbhome_1) ) )
Der Listener sollte jetzt einmal neu gestartet werden. Die Befehle müssen in einer Konsole ("DOS-Fenster" oder Powershell) mit Administratorrechten ausgeführt werden:
lsnrctl stop lsnrctl start
Danach sollte die Datenbank von lsnrctl services als Dienst angezeigt werden.