Loading

Risoluzione dei problemi di connessione a Oracle

Data pubblicazione: Apr 30, 2025
Descrizione

Come risolvere problemi di connessione Oracle.

Per i driver di Oracle sono necessarie istruzioni specifiche sulla connessione in un formato univoco, nonostante non sia sempre richiesto un file TNSNames.ora. Ad esempio, se hai installato solo i file di Oracle forniti con Tableau e non disponi di un client Oracle autonomo, i messaggi di errore di Oracle continueranno a fare riferimento al file TNSNames.ora, complicando la risoluzione dei problemi.

    Risoluzione

    Spesso è possibile risolvere la maggior parte dei problemi di connessione Oracle correggendo il route, denominando la sintassi nella finestra di dialogo Connessione Oracle avanzata o utilizzando il nome del database .WORLD completo. Se l'errore di connessione ricevuto richiede una risoluzione dei problemi più approfondita, fai riferimento ai cinque errori di connessione comuni elencati sotto.

    • ORA-03113: end-of-file on communication channel
    • ORA-12154: TNS: could not resolve the connect identifier specified: HOST value incorrect or Global name incorrect or unknown
    • ORA-12514: TNS listener does not currently know of service requested in connect descriptor: SERVICE value incorrect
    • ORA-12541: TNS: no listener: PORT value incorrect
    • ORA-00932: inconsistent data types

      ORA-03113: end-of-file on communication channel

      ORA-03113 è un errore di tipo generico per qualsiasi problema di interruzione di una sessione Oracle. Le cause di questo errore possono essere di varia natura. Fai riferimento all'elenco riportato sotto per alcune linee guida sulla risoluzione dei problemi.

      • Fai riferimento alla documentazione di Oracle specifica per questo errore: My Oracle Support.
      • Oracle consiglia di controllare i problemi di rete e rivedere la configurazione di SQL*Net.
      • Se stai effettuando la connessione a Oracle 9.2.0.5, in molti casi la causa principale di questo errore è il bug Oracle 3010227. Chiedi all'amministratore database di Oracle di applicare la patch Oracle 9.2.0.6 o un'altra patch appropriata per il tuo server.
      • Imposta il parametro di inizializzazione di Oracle 'STAR_TRANSFORMATION_ENABLED' su FALSO.
      • Prova a modificare l'ora pianificata per l'aggiornamento dell'estrazione
      • In alternativa, se desideri testare ulteriormente questo problema, segui la procedura opzionale indicata sotto.

      Passaggio 1 

      Nella pagina iniziale di Tableau Desktop, seleziona Connetti ai dati.

      Passaggio 2 

      Nella pagina Connetti, fai clic su Oracle, quindi fai clic su OK.

      Per ulteriori informazioni sui passaggi di connessione, fai riferimento all'argomento Database Oracle nella Guida di Desktop.

      Passaggio 3 

      1. Nell'area di join, passa il puntatore sulla tabella SQL personalizzato fino a quando non è visualizzata l'icona di modifica, quindi fai clic su di essa.
      2. Copia la query nella finestra di dialogo Modifica SQL personalizzato.
      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"

       
      Dove "TestV1" è il nome della connessione in Tableau.

      Passaggio 4 

      In una sessione SQL connessa a questo database, incolla ed esegui la query. La risposta prevista è l'errore ORA-7445: exception encountered: core dump (riscontrata eccezione: core dump), a conferma che il problema è ORA-3113, come previsto.

      ORA-12154: TNS: could not resolve the connect identifier specified

      ORA-12154 si verifica quando il sottostrato di rete trasparente (TNS) non è in grado di risolvere il nome del servizio. Il nome del servizio è specificato nel file TNSNames.ora, ubicato nella cartella %ORACLE_HOME%\network\admin\. Il più delle volte, questo errore si verifica quando le informazioni nel file TNSNames.ora sono errate. Ad esempio:

      • L'estensione .world non è inclusa nel nome del database.
      • La variabile SERVICE_NAME o HOST è errata.

      Per risolvere questo problema, prova una delle tre opzioni di risoluzione dei problemi seguenti, nell'ordine indicato sotto.

      Opzione 1: Modifica TNSNames.ora

       Specifica il nome database completo, inclusa l'estensione .world in entrambe le ubicazioni seguenti:

      • File TNSNames.ora.

        e

      • Casella di testo Server della pagina Connetti.

      Opzione 2: Assicurati che l'account utente Esegui come di Tableau Server disponga delle autorizzazioni a TNSNames.ora (solo Tableau Server)

      Se Tableau Server è installato, completa la procedura riportata sotto per assicurarti che l'account utente Esegui come di Tableau Server disponga delle autorizzazioni alla posizione del file TNSNames.ora. Se l'account utente Esegui come non dispone delle autorizzazioni, Tableau Server non è in grado di accedere ai dettagli dell'origine dati di Oracle.

      Passaggio 1 

      Verifica sul computer l'ubicazione del file TNSNames.ora o degli equivalenti SQLNET.ora e LDAP.ora.

      Nota: per impostazione predefinita, il file TNSNames.ora risiede nella directory <directory-oracle>\network\admin. Ad esempio, C:\Client_Oracle\network\admin.

      Passaggio 2 

      Conferma che la variabile TNS_ADMIN punta alla posizione del o dei file descritti al passaggio 1.

      Nota: per selezionare la variabile TNS_ADMIN, fai clic sul pulsante Avvio e seleziona Pannello di controllo > Sistema. Seleziona Impostazioni di sistema avanzate, fai clic sulla scheda Avanzate , quindi fai clic sul pulsante Variabili di ambiente.
      Il percorso del file della variabile di sistema deve essere in formato UNC.

      Passaggio 3 

      Apri TSM in un browser: https://<tsm-computer-name>:8850. Per maggiori informazioni, consulta Accedere all'interfaccia utente Web di Tableau Services Manager.

      Passaggio 4 

      Fai clic sulla scheda Sicurezza e quindi fai clic sulla scheda Account servizio Esegui come.
      In Server utente Esegui come, copia le informazioni nel campo Nome utente.

      Passaggio 5 

      Vai alla cartella in cui risiede il file TNSNames.ora.

      Passaggio 6 

      Fai clic con il pulsante destro del mouse sulla cartella e seleziona Proprietà. Seleziona la scheda Sicurezza e fai clic sul pulsante Modifica.

      Passaggio 7 

      In Gruppo o Nomi utenti, fai clic sul pulsante Aggiungi.

      Passaggio 8 

      Nella casella di testo Immetti i nomi oggetto da selezionare, incolla i dettagli dell'account utente Esegui come copiati al passaggio 6.

      Passaggio 9 

      Al termine, fai clic su OK.

      Passaggio 10 

      Nell'area Autorizzazioni, assicurati che le caselle di controllo Controllo completo e Modifica siano selezionate.

      Passaggio 11 

      Fai clic su OK per chiudere le finestre di dialogo.

         

        Opzione 3: Verifica che tutte le informazioni nel file TNSNames.ora siano corrette

         Se la procedura di risoluzione dei problemi riportata sopra non risolve il problema, continua a leggere e completa la procedura per verificare che le altre informazioni contenute nel file TNSNames.ora siano corrette.

        Di seguito è riportato un esempio di file TNSNames.ora:

        QAORCL10.world =

        (DESCRIPTION =

        (ADDRESS_LIST =

        (ADDRESS = (PROTOCOL = TCP)(HOST = MY_HOST_NAME)(PORT = 1521))

        )

        (CONNECT_DATA =

        (SERVICE_NAME = MY_SERVICE_NAME)

        )

        )

        Le tre variabili di tuo interesse nel file sono HOST, PORT e SERVICE_NAME. Copia queste variabili dal file TNSNames.ora e mantienile disponibili. Queste variabili applicano la distinzione tra maiuscole e minuscole. Nei seguenti passaggi è descritto come fornire tali variabili per la connessione.

        Passaggio 1 

        Nella pagina iniziale di Tableau Desktop, seleziona Connetti ai dati.

        Passaggio 2 

        Nella pagina Connetti, fai clic su Oracle.

        Passaggio 3 

        Fornisci le seguenti informazioni provenienti dal file TNSNames.ora:

        • Nella casella di testo Nome server, digita il nome HOST.
        • Nella casella di testo Servizio, digita il SERVICE_NAME.
        • Nella casella di testo Porta, digita il numero di PORT.
        • Specifica se utilizzare l'autenticazione di Windows o un nome utente e una password specifici, quindi fai clic su Connect.

        Nota: le variabili applicano la distinzione tra maiuscole e minuscole.

        Passaggio 4 

        Seleziona uno schema dall'elenco a discesa Schema, trascina una tabella nell'area di join, quindi fai clic su Vai a foglio di lavoro.

        Passaggio 5 

        Completa la procedura indicata nell'articolo Impostazione di una connessione Oracle per l'utilizzo di TNSNames.ora o LDAP.ora.

        Importante: 

        • Assicurati di salvare il file TNSNames.ora utilizzato nella codifica ASCII. Qualsiasi altra codifica all'infuori di ASCII, ad esempio UTF-8 o Unicode, genera il messaggio di errore ORA-12154.
        • Di norma questi passaggi sono necessari anche se hai già installato il software Oracle sul computer.

        Passaggio 6

        Scarica e installa i driver di Oracle appropriati dalla pagina dei driver di Tableau. Anche se sul computer hai installato un driver di Oracle, questo potrebbe essere incompatibile con Tableau e verrà richiesta la versione specificata nella pagina dei driver.

        ORA-12514: TNS listener does not currently know of service requested in connect descriptor

        Di norma, questo errore si verifica quando il valore di SERVICE è errato.

        Per risolvere questo problema, trova il valore corretto di SERVICE, apri il file TNSNames.ora ubicato nella cartella %ORACLE_HOME%\network\admin\. Fai riferimento alla procedura in ORA_12154 se necessario.

        ORA-12541: TNS: no listener

        Di norma, questo errore si verifica quando il valore di PORT è errato.

        Per risolvere il problema, sostituisci il valore di PORT con 1521 o 1526. Prova il valore che attualmente non è in uso.

        ORA-00932: inconsistent data types

        Questo errore si verifica durante la connessione a Oracle o durante la creazione di un'estrazione da un'origine dati Oracle. Di norma, questo errore è causato dall'installazione di driver Oracle errati.

        Per risolvere questo problema, installa i driver Oracle corretti dalla pagina dei driver della versione di Tableau in uso.

        Oltre agli errori comuni sopra citati, se stai usando Tableau Desktop/Server 2020.2 o versioni successive e rilevi dei problemi nelle prestazioni, ad es. l'aggiornamento dei dati estratti richiede molto tempo, puoi provare a scaricare e installare il driver OCI di Oracle. Fai riferimento all'articolo nei Link correlati. Il driver può essere scaricato da qui.

         

          Risorse aggiuntive

          Suggerimenti

          Se sul computer non è installato un client Oracle, assicurati di ottenere i file necessari dall'amministratore del database. Se gli errori di connessione dei dati Oracle persistono, esegui queste operazioni:

          • Verifica il percorso della cartella di TNSNames.ora utilizzato per creare la variabile TNS_ADMIN.
          • Riavvia il computer per assicurarti che la variabile TNS_ADMIN venga riconosciuta.
          • Verifica che il nome della connessione Oracle utilizzato in Tableau corrisponda esattamente alla voce Nome servizio di rete del file TNSNames.ora. Questo nome applica la distinzione tra maiuscole e minuscole.
          • In alcuni casi è necessario riavviare Windows prima che il driver di Oracle prelevi la variabile di sistema TNS_ADMIN
          • Contatta l'IT locale per verificare che il file TNSNames.ora file sia attuale.
          • Se la connessione Oracle utilizza LDAP, assicurati di includere sia il file SQLNet.ora sia TNSNames.ora.

          ORA-12154: TNS could not resolve service name tips

          Nota: malgrado i nostri sforzi per mantenere accurati i riferimenti a contenuti di terze parti, le informazioni fornite potrebbero cambiare senza preavviso.


          Creating/refreshing Oracle Extracts Take Significantly Longer In Version 2020.2-And-Later

          Error: "ora-00907: missing right parenthesis" upon running Custom SQL

          Numero articolo Knowledge

          001473195

           
          Caricamento
          Salesforce Help | Article