Nehmen wir an, ich habe eine Oracle-Datenbank. Ich habe einen Benutzernamen = x, Passwort = y, Datenbank = z. Ich kenne auch den Port = a, SID = b, Hostname = c.
Wie muss ich mich also richtig verbinden? Ich habe viele Optionen verwendet, wie:
sqlplus x/y@'(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=c)(PORT=a))(CONNECT_DATA=(SID=z)(SERVER=DEDICATED)))'
sqlplus (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=c)(PORT=a))(CONNECT_DATA=(SID=b)))
Wenn ich diese Befehlszeilen abschicke, erhalte ich normalerweise folgende Fehlermeldungen:
ORA-12560: TNS: Protokolladapterfehler
ORA-12514: TNS: Listener kennt den Dienst derzeit nicht
Vielen Dank im Voraus!!
sqlplus x/y@c:a/b
Antworten:
Hast du versucht
Moderne Versionen von sqlplus (Version 11 oder neuer) verstehen diese Syntax und Sie benötigen keine tnsnames.ora-Datei.
quelle
v11.2.0.1.0
unterstützt keinehost:port
Syntax. Scheint11.2.0.4.0
schon unterstützt ...Am einfachsten ist es, mit der Datei tnsnames.ora eine Verbindung zur Datenbank herzustellen. Bearbeiten Sie es dazu und fügen Sie einen neuen Eintrag hinzu: Diese Datei befindet sich normalerweise im Verzeichnis $ ORACLE HOME \ NETWORK \ ADMIN.
und dann könntest du dich mit der db verbinden:
sqlplus x / y @ myDb
quelle
Zum Originalposter ... in der ersten Option haben Sie eine schließende Klammer verpasst
Falsch: (Ihre Zeichenfolge)
Richtig:
quelle
Ihre sqlplus-Zeile sieht korrekt aus. Überprüfen Sie Folgendes:
Wenn alle diese Check-Outs abgeschlossen sind, möchten Sie möglicherweise eine neue Verbindungslinie erstellen, um sicherzustellen, dass Sie keinen Tippfehler haben.
quelle
Möglicherweise ist Ihre Datenbank nicht aktiv. Wenn der Computer neu gestartet wurde und die Instanz nicht auf Autostart eingestellt ist (und nicht manuell gestartet wurde), müssen Sie den Dienst möglicherweise selbst starten.
Wenn Sie Zugriff auf den Bildschirm Dienste haben, können Sie dies von dort aus tun. Oder Sie können dies über die Befehlszeile tun.
Gehen Sie zur Eingabeaufforderung und geben Sie die folgenden Befehle ein:
Das erste setzt die Oracle SID; der zweite startet tatsächlich den Dienst.
quelle
Auszug aus der sqlplus-Hilfe:
kann in Form von Net Service Name oder Easy Connect vorliegen.
quelle
Ich fand, dass es einfach ist, eine Remotedesktopverbindung herzustellen und die Eingabeaufforderung zu öffnen und dann eine Verbindung herzustellen, indem:
sqlplus sys/YourPassword as sysdba
quelle
Sie sollten die Dienste Ihrer Datenbanken starten. Gehen Sie dazu in das Startmenü -> Ausführen und starten.
services.msc
Suchen Sie dort nach Datenbankdiensten und starten Sie diese. Danach wird es anfangen zu arbeiten.quelle
Das funktioniert bei mir unter Oracle 11G
quelle