Dieser Artikel ist ein Spiegelartikel der maschinellen Übersetzung, bitte klicken Sie hier, um zum Originalartikel zu springen.

Ansehen: 10288|Antwort: 1

Verlinkt mit Oracle-Datenbankbericht ORA-12547: TNS: Problem mit verlorenem Kontakt

[Link kopieren]
Veröffentlicht am 23.10.2017 14:51:29 | | | |

Heute, da die ETL-Knotenmaschine auf einen neuen Datenbankserver zugreifen möchte, muss sie tnsnames.ora konfigurieren, und nachdem das Ergebnis konfiguriert ist, wird beim Verbinden mit der Datenbank ein Fehler gemeldet:
ORA-12547: TNS:lost contact



Zuerst dachte ich, es sei tnsnames.ora falsch konfiguriert, aber nach Vergleich und Überprüfung wurde diese Möglichkeit ausgeschlossen. Weil dieselbe Konfiguration auf anderen Hosts verifiziert wurde, um sich mit diesem Datenbankserver zu verbinden.

Als Nächstes suchte ich viele Informationen im Internet anhand dieser Fehlermeldung "ORA-12547: TNS: Verlorener Kontakt", einige sagten, es gebe einen Mangel an Softwarepaketen, andere meinten, es gebe ein Problem mit den Dateiberechtigungseinstellungen des Datenbankhosts, aber diese entsprachen nicht der aktuellen Situation.

Später beschloss ich, die Protokolle anzusehen, überprüfte das Überwachungsprotokoll listener.log der Datenbank und stellte fest, dass sich darin folgende Fehlermeldungen befanden:
20. MAI 2016 15:46:03 * (CONNECT_DATA=(CID=(PROGRAM=)(HOST=db01)(USER=grid))(COMMAND=status)(ARGUMENTS=64)(SERVICE=LISTENER)(VERSION=186647552)) * Status * 0
Eingehende Verbindung von 192.168.24.1 abgelehnt
20. MAI 2016 15:46:06 * 12546
TNS-12546: TNS:permission denied
TNS-12560: TNS:protocol adapter error
  TNS-00516: Genehmigung abgelehnt

und überprüfte die sqlnet.ora-Konfiguration des Datenbankservers und stellte fest, dass dies daran lag, dass die Datenbankzugriffs-IP-Einschränkung gesetzt war, also nur die angegebene IP auf die Datenbank zugreifen konnte.

Da es sich um eine RAC-Datenbank mit zwei Knoten handelt, bedeutet das Ändern von sqlnet.ora unter dem Grid-Benutzer das Hinzufügen der IP-Adresse des ETL-Knotens zur IP-Whitelist, um auf die Datenbank zuzugreifen.
Nach der Modifikation wird das Hören neu gestartet (lsnrctl reload), sonst wird weiterhin ein Fehler gemeldet.




Vorhergehend:C# ruft Java-Code auf (JAR konvertiert in DLL)
Nächster:TNS-12547: TNS:lost contact解决办法
Verzichtserklärung:
Alle von Code Farmer Network veröffentlichten Software, Programmiermaterialien oder Artikel dienen ausschließlich Lern- und Forschungszwecken; Die oben genannten Inhalte dürfen nicht für kommerzielle oder illegale Zwecke verwendet werden, andernfalls tragen die Nutzer alle Konsequenzen. Die Informationen auf dieser Seite stammen aus dem Internet, und Urheberrechtsstreitigkeiten haben nichts mit dieser Seite zu tun. Sie müssen die oben genannten Inhalte innerhalb von 24 Stunden nach dem Download vollständig von Ihrem Computer löschen. Wenn Ihnen das Programm gefällt, unterstützen Sie bitte echte Software, kaufen Sie die Registrierung und erhalten Sie bessere echte Dienstleistungen. Falls es eine Verletzung gibt, kontaktieren Sie uns bitte per E-Mail.

Mail To:help@itsvse.com