Frage

Ich versuche, Oracle 11g unter Linux EL installiert verbinden 5 und und erhalte die folgende Störung

SQL> connect sys/password@ud06 as sysdba
ERROR:
ORA-12514: TNS:listener does not currently know of service requested in connect
descriptor

meine listener.ora unter network / admin wird folgendermaßen als

LISTENER=
  (DESCRIPTION=
    (ADDRESS_LIST=
      (ADDRESS=(PROTOCOL=tcp)(HOST=ud06)(PORT=1521))
      (ADDRESS=(PROTOCOL=ipc)(KEY=extproc))))

SID_LIST_LISTENER=
  (SID_LIST=
    (SID_DESC=
      (GLOBAL_DBNAME=orcl)
      (ORACLE_HOME=/home/oracle/app/oracle/product/11g)
      (SID_NAME=orcl))
    (SID_DESC=
      (SID_NAME=plsextproc)
      (ORACLE_HOME=/home/oracle/app/oracle/product/11g)
      (PROGRAM=extproc)))

MY tnsnames.ora wird folgt als

ORCL =
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = localhost.localdomain)(PORT = 1521))
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME = orcl)
    )
  )

EXTPROC_CONNECTION_DATA =
  (DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1))
    )
    (CONNECT_DATA =
      (SID = PLSExtProc)
      (PRESENTATION = RO)
    )
  )

UD06=
  (DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = TCP)(HOST = ud06)(PORT = 1521))
    )
    (CONNECT_DATA =
      (SERVICE_NAME = orcl)
    )
  )

MY lsnrctl Status zeigt, wie folgt:

LSNRCTL> status
Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=ud06.us.server.com)(PORT=1521)))
STATUS of the LISTENER
------------------------
Alias                     LISTENER
Version                   TNSLSNR for Linux: Version 11.2.0.1.0 - Production
Start Date                17-FEB-2010 16:23:06
Uptime                    0 days 0 hr. 12 min. 33 sec
Trace Level               off
Security                  ON: Local OS Authentication
SNMP                      OFF
Listener Parameter File   /home/oracle/app/oracle/product/11g/network/admin/listener.ora
Listener Log File         /home/oracle/app/oracle/product/11g/log/diag/tnslsnr/ud06/listener/alert/log.xml
Listening Endpoints Summary...
  (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=ud06.us.server.com)(PORT=1521)))
  (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=extproc)))
Services Summary...
Service "orcl" has 1 instance(s).
  Instance "orcl", 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...
The command completed successfully
War es hilfreich?

Lösung

Können Sie erfolgreich ping ud06 (als ud06, nicht ud06.us.server.com)?

Was bedeutet der Befehl

lsnrctl services

anzeigen?

EDIT: Es klingt für mich wie vielleicht die Datenbankinstanz Name ist nicht wirklich „orcl“? Was die lsnrctl Dienste Ausgang sagt mir, dass die „orcl“ Service, obwohl in der listener.ora-Datei definiert, wird nicht tatsächlich ausgeführt wird.

Können Sie mit einer direkten Verbindung auf dem Server anmelden? Wenn ja, was tun Sie als die Umgebungsvariable ORACLE_SID Wert? Melden Sie sich als Benutzer SYS und geben Sie den Befehl:

ALTES SYSTEM REGISTER;

Ausgabe Dann wird die lsnrctl Dienste Befehl wieder und sehen, ob eine zusätzliche Instanz nicht angezeigt wird.

Auch als Alex weist darauf hin, der tnsping Befehl ein voll qualifizierten Servicenamen meldet. Bearbeiten Sie die sqlnet.ora-Datei und den NAMES.DEFAULT_DOMAIN Wert auf NULL gesetzt, wenn es einen Wert hat.

EDIT 2: Does tnsping ud06 auf dem Server Arbeit? Oder ist meine Annahme, dass Client und Server auf verschiedene Systeme falsch?

Andere Tipps

Die Antwort auf dieses Problem ist sehr einfach. Mach dir keine Sorgen über die .ora Dateien oder jede andere Konfiguration. Oracle tut all diese einfach perfekt.

Nur während über die Kommandozeile verbinden, wird es mit Passwörtern zu verwechseln, die ein @ Symbol in ihnen haben.

  
    

Deshalb, während eine Verbindung über SQL-Befehlszeile, die kein Passwort mit einem ‚@‘ ist in ihm. Verwenden Sie einfach das Web-Interface ein Konto mit einem Passwort ohne ‚@‘ Symbol darin zu erstellen.

  

Das ist !! Problem gelöst. Ich hatte meinen Kopf für ganz wenige Tage wurde zu brechen, und jetzt ist mein Problem gelöst !!

Die SERVICE_NAME im tnsping Ausgang hat den Eintrag in tnsnames.ora nicht überein; ist die Datei aus der Windows-Box oder die Linux-Box? Es sieht aus wie Sie nicht über einen lokalen (Windows) tnsnames.ora Eintrag für u06 haben und es zu erraten, was der Service-Name es expandieren sollte - ich glaube, das ist, was der Verweis auf die Host-Namen Adaptermittel

.

ich auch in ORA-12154 laufen: TNS:. Konnte nicht lösen die Verbindungskennung angegeben wird, und das Hinzufügen der Benutzer versucht, die oinstall Gruppe von Oracle zu verbinden fixed it

erster Versuch, ob die Oracle-Instanz gestartet:

für Fenster:

Start-> Konfiguration Panel-> Verwaltung touls-> Dienste-> OracleServiceORCL (mein Beispiel durch die Art und Weise) -> Start

Geben Sie die Verbindungszeichenfolge wie folgt aus:

Servername: port / Servicename, Benutzername, Kennwort

Verbindung Bild hinzufügen

Ich habe auch den gleichen Fehler konfrontiert, versuchen Sie diesen Code ein:

SQL> conn  hr/hr  @pdborcl;

und wenn Sie denselben Fehler zu finden, bedeutet dies, dass Sie einen anderen steckbaren Datenbanknamen haben. Überprüfen Sie die steckbaren Datenbanknamen durch nur den folgenden Befehl in sqlplus Schreiben

sql> SELECT  name,  con_id  FROM  v$pdbs;

fixed ich dieses Problem dieser Schritte verwenden.

Zu allererst dieser Fehler aufgetreten ist, wenn Sie nicht Verzeichnis oder Laufwerk installiert haben.

Aber die Antwort ist hier.

  1. Login-Fenster als Adminstrator.
  2. Gehen Sie auf Systemsteuerung.
  3. Systemeigenschaften und klicken Sie auf Enviroment
  4. Hier finden Sie die OS-Variable und ändern Namen als "TNS_ADMIN"
    loading="lazy"

  5. Und ändern Sie den Wert als „tnsnames die Verzeichnisadresse“ loading="lazy"

  6. Starten Sie das System.

  7. Congrulations.
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top