Lösung
Die meisten Oracle-Verbindungsprobleme lassen sich durch eine Korrektur der Pfad- oder Benennungssyntax im Dialogfeld Erweiterte Oracle-Verbindung oder durch Verwendung des vollständigen .WORLD-Datenbanknamens beheben. Wenn sich der Verbindungsfehler hierdurch nicht beheben lässt, gehen Sie die im Anschluss aufgeführten fünf gängigsten Verbindungsfehler durch.
- ORA-03113: end-of-file on communication channel (Unerwartetes Übertragungsende in Kommunikation)
- ORA-12154: TNS: could not resolve the connect identifier specified: HOST value incorrect or Global name incorrect or unknown (Angegebener Connect Identifier konnte nicht aufgelöst werden: Der HOST-Wert ist nicht korrekt oder der globale Name ist nicht korrekt oder unbekannt)
- ORA-12514: TNS listener does not currently know of service requested in connect descriptor: SERVICE value incorrect (TNS-Listener kann in Connect-Deskriptor angegebenen Service aktuell nicht auflösen: Falscher SERVICE-Wert)
- ORA-12541: TNS: no listener: PORT value incorrect (TNS: Kein Listener: Falscher PORT-Wert)
- ORA-00932: inconsistent data types (Inkonsistente Datentypen)
ORA-03113: end-of-file on communication channel (Unerwartetes Übertragungsende in Kommunikation)
ORA-03113 ist ein Fehler des Typs Catch-all für alle Probleme, die zur Unterbrechung einer Oracle-Sitzung führen. Dieser Fehler kann mehrere Ursachen haben. Hinweise zur Problembehebung finden Sie in der folgenden Liste.
- Zur speziellen Oracle-Dokumentation zu diesem Fehler: Mein Oracle-Support.
- Oracle empfiehlt eine Überprüfung auf Netzwerkprobleme und eine Prüfung der Installation von SQL*Net.
- Wenn Sie eine Verbindung zu Oracle 9.2.0.5 herstellen, ist in vielen Fällen der Oracle-Bug 3010227 die Hauptursache für diesen Fehler. Bitten Sie Ihren Oracle-Datenbankadministrator, den Oracle-Patch 9.2.0.6 oder einen anderen für Ihren Server geeigneten Patch anzuwenden.
- Stellen Sie den Oracle-Initialisierungsparameter 'STAR_TRANSFORMATION_ENABLED' auf FALSE ein.
- Ändern der geplanten Uhrzeit der Extraktaktualisierung zu Testzwecken
- Wenn Sie dieses Problem weitergehend untersuchen möchten, gehen Sie nach dem im Folgenden aufgeführten optionalen Verfahren vor.
Schritt 1
Wählen Sie auf der Startseite von Tableau Desktop Mit Daten verbinden aus.
Schritt 2
Klicken Sie auf der Seite Verbinden auf Oracle und dann auf OK.
Weitere Informationen zum Durchführen der Verbindungsschritte finden Sie im Thema Oracle-Datenbank in der Desktop-Hilfe.
Schritt 3
- Zeigen Sie im Verknüpfungsbereich mit der Maus auf die benutzerdefinierte SQL-Tabelle, bis das Bearbeitungssymbol angezeigt wird, und klicken Sie danach auf das Symbol.
- Kopieren Sie die Abfrage in das Dialogfeld "Benutzerdefinierte SQL bearbeiten".
SELECT "NumericBins", "Key" as "Key",
"NumericBins", "Measure E-2" AS "Measure E-2",
"NumericBins", "Measure E-1" AS "Measure E-1",
"NumericBins", "Measure E+0" AS "Measure E+0",
"NumericBins", "Measure E+1" AS "Measure E+1",
"NumericBins", "Measure E+4" AS "Measure E+4",
"NumericBins", "Measure E+7" AS "Measure E+7"
FROM "TestV1", "NumericBins" "NumericBins"
Wobei "TestV1" der Name der Verbindung in Tableau ist.
Schritt 4
Fügen Sie die Abfrage in eine mit dieser Datenbank verbundene SQL-Sitzung ein, und führen Sie sie aus. Die erwartete Antwort ist Fehler ORA-7445: Ausnahme eingetreten: Core Dump. Hierdurch wird bestätigt, dass wie erwartet das Problem ORA-3113 vorliegt.
ORA-12154: TNS: could not resolve the connect identifier specified (Die angegebene Verbindungs-ID konnte nicht aufgelöst werden)
ORA-12154 tritt dann auf, wenn das TNS (Transparent Network Substrate) den Dienstnamen nicht ermitteln kann. Der Dienstname ist in der Datei TNSNames.ora angegeben, die sich im Ordner %ORACLE_HOME%\network\admin\ befindet. Dieser Fehler tritt meist dann auf, wenn die Daten in der Datei TNSNames.ora nicht korrekt sind. Beispiel:
- Die Erweiterung .world ist im Datenbanknamen nicht enthalten.
- Die Variable SERVICE_NAME oder HOST ist nicht korrekt.
Für dieses Problem bestehen nachstehende Lösungsoptionen, die in der angegebenen Reihenfolge durchgeführt werden sollten.
Option 1: TNSNames.ora bearbeiten
Geben Sie den vollständigen Datenbanknamen mit der Erweiterung .world an den folgenden beiden Stellen an:
- Datei TNSNames.ora.
Und
- Textfeld "Server" der Seite "Verbinden"
Option 2: Stellen Sie sicher, dass das Konto "Ausführen als Benutzer" von Tableau Server über Berechtigungen für TNSNames.ora verfügt (nur Tableau Server).
Wenn Sie Tableau Server installiert haben, schließen Sie den folgenden Vorgang ab, um sicherzustellen, dass das Benutzerkonto "Ausführen als" in Tableau Server Berechtigungen für den Speicherort der Datei enthält. Wenn das Benutzerkonto "Ausführen als" über keine Berechtigungen verfügt, kann Tableau Server nicht auf die Oracle-Datenquelldetails zugreifen.
Schritt 1
Prüfen Sie den Speicherort der Datei TNSNames.ora oder der entsprechenden Dateien SQLNET.ora und LDAP.ora auf dem Gerät.
Hinweis: Die Datei TNSNames.ora befindet sich standardmäßig im Verzeichnis <Oracle-Verzeichnis>\network\admin. Beispiel: C:\Oracle_Client\network\admin.
Schritt 2
Bestätigen Sie, dass die Variable TNS_ADMIN auf den Speicherort der in Schritt 1 beschriebenen Datei bzw. Dateien verweist.
Hinweis: Um die Variable TNS_ADMIN zu prüfen, klicken Sie auf die Schaltfläche "Start" und wählen Sie Systemsteuerung > System aus. Klicken Sie erst auf Erweiterte Systemeinstellungen, dann auf die Registerkarte Erweitert und danach auf die Schaltfläche Umgebungsvariablen.
Der Dateipfad für die Systemvariable muss im UNC-Format vorliegen.
Schritt 3
Öffnen Sie TSM in einem Browser: https://<tsm-computer-name>:8850. Weitere Informationen finden Sie unter Anmelden bei Tableau Services Manager-Webschnittstelle.
Schritt 4
Klicken Sie auf die Registerkarte Sicherheit und dann auf die Registerkarte "Als Dienst ausführen"-Konto.
Kopieren Sie die Daten unter "Server ausführen als Benutzer" in das Feld Benutzername.
Schritt 5
Rufen Sie den Ordner auf, in dem die Datei TNSNames.ora gespeichert ist.
Schritt 6
Klicken Sie mit der rechten Maustaste auf den Ordner, und wählen Sie die Option Eigenschaften aus. Klicken Sie auf die Registerkarte Sicherheit und dann auf die Schaltfläche Bearbeiten.
Schritt 7
Klicken Sie unter "Gruppen- oder Benutzernamen" auf die Schaltfläche Hinzufügen.
Schritt 8
Fügen Sie in das Textfeld Geben Sie die zu verwendenden Objektnamen ein die Details zum Benutzerkonto "Ausführen als" ein, die Sie in Schritt 6 kopiert haben.
Schritt 9
Klicken Sie abschließend auf OK.
Schritt 10
Achten Sie im Bereich "Berechtigungen" darauf, dass die Kontrollkästchen Vollzugriff und Ändern ausgewählt sind.
Schritt 11
Klicken Sie auf OK, um die Dialogfelder zu schließen.
Option 3: Überprüfen Sie, ob alle Informationen in TNSNames.ora korrekt sind
Wenn sich das Problem mit den oben aufgeführten Schritten nicht beheben lässt, lesen Sie den Rest des Vorgangs und führen Sie ihn aus, um sicherzustellen, dass die übrigen Informationen in der Datei TNSNames.ora korrekt angegeben sind.
Beispiel der Datei TNSNames.ora:
QAORCL10.world =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = MY_HOST_NAME)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = MY_SERVICE_NAME)
)
)
Die drei für den Vorgang wichtigen Variablen in der Datei heißen HOST, PORT und SERVICE_NAME. Kopieren Sie diese Variablen aus der Datei TNSNames.ora, und halten Sie sie verfügbar. Bei diesen Variablen kommt es auf die Groß- und Kleinschreibung an. In den folgenden Schritten wird beschrieben, wie Sie diese Variablen für Ihre Verbindung abrufen.
Schritt 1
Wählen Sie auf der Startseite von Tableau Desktop Mit Daten verbinden aus.
Schritt 2
Klicken Sie auf der Seite Verbinden auf Oracle.
Schritt 3
Geben Sie die folgenden Informationen aus der Datei TNSNames.ora an:
- Geben Sie im Textfeld "Servername" den Hostnamen (HOST) ein.
- Geben Sie im Textfeld "Dienstname" den Dienstnamen (SERVICE_NAME) ein.
- Geben Sie im Textfeld "Port" die Portnummer (PORT) ein.
- Geben Sie an, ob die Windows-Authentifizierung oder eine spezifische Kombination aus Benutzername und Kennwort verwendet werden soll, und klicken Sie danach auf Verbinden.
Hinweis: Bei Variablen ist auf Groß- und Kleinschreibung zu achten.
Schritt 4
Wählen Sie in der Dropdown-Liste "Schema" ein Schema aus, ziehen Sie eine Tabelle in den Verknüpfungsbereich, und klicken Sie dann auf Zum Arbeitsblatt.
Schritt 5
Führen Sie die im Artikel Einrichten einer Oracle-Verbindung zur Verwendung von TNSNames.ora oder LDAP.ora aufgeführten Schritte aus.
Wichtig:
- Achten Sie darauf, die Datei TNSNames.ora in ASCII-Kodierung zu speichern. Eine andere Kodierung wie beispielsweise UTF-8 oder Unicode führt zur Fehlermeldung ORA-12154.
- Diese Schritte sind in der Regel erforderlich, auch wenn die Oracle-Software bereits auf dem Gerät installiert ist.
Schritt 6
Laden Sie die entsprechenden Oracle-Treiber von der Seite Treiber in Tableau herunter, und installieren Sie sie. Ein eventuell bereits installierter Oracle-Treiber ist möglicherweise nicht mit Tableau kompatibel. In diesem Fall müssen Sie ebenfalls die auf der Seite "Treiber" angegebene Version verwenden.
ORA-12514: TNS listener does not currently know of service requested in connect descriptor (TNS-Listener kann in Connect-Deskriptor angegebenen Service aktuell nicht auflösen)
Dieser Fehler wird in der Regel bei einem falschen SERVICE-Wert angezeigt.
Um dieses Problem zu beheben, finden Sie den korrekten SERVICE-Wert heraus, und öffnen Sie die Datei TNSNames.ora im Ordner %ORACLE_HOME%\network\admin\. Lesen Sie sich ggf. die Schritte unter ORA_12154 durch.
ORA-12541: TNS: no listener (Kein Listener)
Dieser Fehler wird in der Regel bei einem falschen PORT-Wert angezeigt.
Um dieses Problem zu beheben, ersetzen Sie den PORT-Wert durch 1521 oder 1526. Verwenden Sie zunächst den Wert, der derzeit nicht verwendet wird.
ORA-00932: inconsistent data types (Inkonsistente Datentypen)
Dieser Fehler tritt auf, wenn eine Oracle-Verbindung aufgebaut oder ein Extrakt aus einer Oracle-Datenquelle erstellt wird. Dieser Fehler wird in der Regel durch die Installation falscher Oracle-Treiber verursacht.
Um dieses Problem zu beheben, installieren Sie die korrekten Oracle-Treiber von der Seite Treiber für die Tableau-Version, die Sie verwenden.
Wenn Sie zusätzlich zu den oben genannten häufigen Fehlern Tableau Desktop/Server 2020.2 oder höher verwenden und Leistungsprobleme auftreten, z. B. wenn die Extraktaktualisierung lange dauert, können Sie versuchen, den Oracle OCI-Treiber herunterzuladen und zu installieren. Siehe Artikel Verwandte Links. Den Treiber können Sie hier herunterladen.