Warum kann ich keine Verbindung zu meiner Datenbank-Instance des Typs Amazon RDS für Oracle herstellen?
Ich kann keine Verbindung zu meiner DB-Instance des Typs Amazon Relational Database Service (Amazon RDS) für Oracle herstellen.
Kurzbeschreibung
Im Folgenden sind die häufigsten Gründe für Verbindungsprobleme mit einer DB-Instance des Typs RDS für Oracle aufgeführt:
- Deine Sicherheitsgruppe, Netzwerk-Zugriffssteuerungslisten (Netzwerk-ACLs) oder lokalen Firewalls sind falsch konfiguriert. Falsche Konfigurationen können den Datenverkehr zur Instance blockieren.
- Die Instance befindet sich nicht im Status Verfügbar.
- Du hast falsche Benutzeranmeldeinformationen verwendet.
- Du hast den falschen Endpunkt verwendet, um eine Verbindung zur RDS-DB-Instance herzustellen.
- Die Verbindung vom Client zur DB-Instance ist nicht kompatibel.
- Du hast nicht die erforderlichen Berechtigungen.
Lösung
Verwenden von TNSPING, um die Verbindung zu überprüfen
Hinweis: Du musst den Oracle-Client installieren, um das Hilfsprogramm TNSPING verwenden zu können.
Verwende das Hilfsprogramm TNSPING, um zu überprüfen, ob der Oracle-Client eine Verbindung zur DB-Instance herstellen kann. Wenn du den Datenbankeintrag in der Datei tnsnames.ora hinzugefügt hast, führe den folgenden Befehl aus, um zu überprüfen, ob RDS für Oracle erreichbar ist:
tnsping <Service Name>
Wenn du den Datenbankeintrag nicht zur Datei tnsnames.ora hinzugefügt hast, führe einen Befehl wie den folgenden aus:
tnsping "(DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = xxxxx-yyyyy.us-east-1.rds.amazonaws.com)(PORT = 1521))) (CONNECT_DATA = (SERVICE_NAME = ORCL)))" TNS Ping Utility for 64-bit Windows: Version 19.0.0.0.0 - Production on 23-JUL-2023 19:48:22 Copyright (c) 1997, 2019, Oracle. All rights reserved. Attempting to contact (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = xxxxx-yyyyy.us-east-1.rds.amazonaws.com)(PORT = 1521))) (CONNECT_DATA = (SERVICE_NAME = ORCL))) OK (210 msec)
Wenn TNSPING bestätigt, dass der Oracle-Client keine Verbindung zur DB-Instance herstellen kann, überprüfe die folgenden Konfigurationen.
Überprüfen der VPC-Einstellungen
Wenn du von außerhalb einer Virtual Private Cloud (VPC) eine Verbindung zur DB-Instance herstellst, vergewissere dich, dass die Eigenschaft Öffentlich zugänglich der DB-Instance auf Ja gesetzt ist. Wenn die Eigenschaft auf Nein gesetzt ist, wird der DB-Instance keine öffentliche IP-Adresse zugewiesen. Nur Amazon Elastic Compute Cloud (Amazon EC2)-Instances und -Clients innerhalb der VPC können über die private IP-Adresse von Amazon RDS eine Verbindung zur Datenbank herstellen.
Für den Zugriff von verschiedenen VPCs oder On-Premises-Netzwerken aus musst du zusätzliche Konfigurationen vornehmen, z. B. VPC-Peering oder AWS Direct Connect. Wenn die Eigenschaft Öffentlich zugänglich auf Ja gesetzt ist, können Clients von außerhalb der VPC über das Internet mit einem Internet-Gateway eine Verbindung zur DB-Instance herstellen.
Überprüfen der Sicherheitsgruppeneinstellungen
Vergewissere dich, dass die Sicherheitsgruppe für die DB-Instance den entsprechenden eingehenden Datenverkehr zur Datenbank zulässt. Weitere Informationen findest du unter Steuern des Zugriffs mit Sicherheitsgruppen.
Überprüfen der Netzwerk-ACL-Einstellungen
Netzwerk-Zugriffssteuerungslisten (Netzwerk-ACLs) dienen als Firewall für Ressourcen in einem bestimmten Subnetz einer VPC. Wenn deine VPC Netzwerk-ACLs verwendet, vergewissere dich, dass darin Regeln festgelegt sind, die eingehenden und ausgehenden Datenverkehr zu und von der Instance zulassen. Standardmäßig lassen Netzwerk-ACLs sämtlichen eingehenden und ausgehenden Datenverkehr zu. Wenn die Netzwerk-ACL restriktiver ist, musst du den Datenverkehr zum Bereich flüchtiger Ports explizit zulassen.
Überprüfen des Netzwerks oder der lokalen Firewall
Die Client-Verbindung stammt möglicherweise aus einem On-Premises-Netzwerk. Prüfe, ob das Netzwerk Datenverkehr zu und von den Ports zulässt, die die Instance für eingehende und ausgehende Kommunikation verwendet. Möglicherweise musst du dich an deinen Netzwerkadministrator wenden, um dies in Erfahrung zu bringen.
Überprüfen der Einstellungen der Routing-Tabellen
Stelle sicher, dass die Routing-Tabelle korrekt mit dem zugehörigen DB-Subnetz konfiguriert ist.
Weitere Problembehandlung
Gehe wie folgt vor, um Verbindungsprobleme weiter zu beheben:
-
Führe den folgenden Befehl aus, um die Netzwerkverbindung zu überprüfen. Ersetze die Werte example-rds-endpoint und example-port-number durch den RDS-Endpunkt und die Portnummer für deine DB-Instance.
Hinweis: Amazon RDS unterstützt keinen Internet Control Message Protocol (ICMP)-Datenverkehr, einschließlich Ping.telnet example-rds-endpoint example-port-number OR curl -v http://<example-rds-endpoint>:<PORT> -
Führe den Befehl nslookup aus, um dich zu vergewissern, dass der DNS-Server auf der Client-Seite den DNS-Endpunktnamen der DB-Instance in die richtige IP-Adresse auflöst:
nslookup example-instance.example-accountcode.example-region.rds.amazonaws.com -
Vergewissere dich, dass sich der DB-Instance-Status im Zustand Verfügbar befindet. Datenbankaktivitäten wie Versions- oder Instance-Klassen-Upgrades sowie Multi-AZ-Failover können zu kurzen Ausfällen führen. Ausfälle können den Status der DB-Instance ändern und Verbindungsprobleme verursachen.
-
Die Verbindung erreicht möglicherweise die DB-Instance, schlägt aber dennoch fehl. Vergewissere dich, dass du für die Verbindung mit der DB-Instance korrekte Benutzeranmeldeinformationen verwendest. Bei Bedarf kannst du das Passwort für den/die Hauptbenutzer:in zurücksetzen.
-
Vergewissere dich, dass du über die erforderlichen Berechtigungen verfügst, um eine Verbindung zur DB-Instance herzustellen.
Verwenden von Amazon EC2, um eine Verbindung zur DB-Instance herzustellen
Um eine Verbindung zwischen Amazon EC2 und der DB-Instance zu konfigurieren, verwende die Funktion für automatische Verbindungen in der Aurora- und RDS-Konsole.
Hinweis: Um die Funktion für automatische Verbindungen verwenden zu können, müssen sich die EC2-Instance und die DB-Instance in derselben VPC befinden.
Du kannst den Verbindungsendpunkt der EC2-Instance auch ohne Bastion-Host verwenden, um von der AWS-Managementkonsole aus auf Ressourcen wie Amazon RDS zuzugreifen. Vergewissere dich zunächst, dass dein(e) Benutzer:in über die erforderlichen AWS Identity and Access Management (IAM)-Berechtigungen verfügt, um eine Verbindung zum EC2-Verbindungsendpunkt herzustellen. Überprüfe außerdem, ob die Sicherheitsgruppe für die DB-Instance den Datenverkehr vom VPC-Endpunkt zulässt.
Führe den Befehl aws ec2-instance-connect open-tunnel aus, um einen WebSocket-Tunnel zu öffnen:
aws ec2-instance-connect open-tunnel --instance-connect-endpoint-id "VPC Endpoint ID"--private-ip-address "Private IP"--local-port "random port number to use locally" --remote-port "rds port number"
Ähnliche Informationen
Problembehandlung bei Verbindungen zur Oracle-DB-Instance
Ich kann keine Verbindung zur Amazon-RDS-DB-Instance herstellen
TNSPING auf der Oracle-Website
- Themen
- Database
- Sprache
- Deutsch

Relevanter Inhalt
AWS OFFICIALAktualisiert vor 4 Jahren