2014-12-31 14 views
5

Si prega di suggerire una soluzione per risolvere questo problema ?? Pur dando il comando sqlplus /nolog si è verificato l'errore èsqlplus: errore durante il caricamento delle librerie condivise: libsqlplus.so: impossibile aprire il file oggetto condiviso: nessun file o directory

sqlplus: error while loading shared libraries: libsqlplus.so: cannot open shared object file: No such file or directory ..

+0

Come fonte il vostro ambiente? Mostraci. – tvCa

+0

Controlla [questo link] (http://opensourceforgeeks.blogspot.in/2015/09/installing-oracle-instant-database.html) per i passaggi dettagliati con screenshot. –

risposta

0

Significa non avete impostato le variabili ORACLE_HOME e ORACLE_SID. Impostare correttamente il funzionamento $ ORACLE_HOME e $ ORACLE_SID e successivamente eseguire il comando sqlplus/nolog. Funzionerà.

0

La prego di verificare se i punti LD_LIBRARY_PATH alle librerie Oracle

5

La configurazione minima per funzionare correttamente sqlplus dalla shell è quello di impostare ORACLE_HOME e LD_LIBRARY_PATH. Per facilità d'uso, potresti voler impostare anche lo PATH.

Supponendo di aver decompresso gli archivi necessari in /opt/oracle/instantclient_11_1:

sh$ export ORACLE_HOME=/opt/oracle/instantclient_11_1 
sh$ export LD_LIBRARY_PATH="$ORACLE_HOME" 
sh$ export PATH="$ORACLE_HOME:$PATH" 

sh$ sqlplus 

SQL*Plus: Release 11.1.0.7.0 - Production on Wed Dec 31 14:06:06 2014 
... 
+0

sì, ma solo quando gli eseguibili e le librerie sono tutti in $ ORACLE_HOME/e non quando sono installati nelle proprie directory come $ ORACLE_HOME/bin/e $ ORACLE_HOME/lib/ –

+1

@ik_zelf Right. Ma per alcuni motivi ho pensato che l'OP usasse SQL * Plus come fornito come parte del pacchetto [instantclient] (http://www.oracle.com/technetwork/topics/linuxx86-64soft-092277.html). Si tratta principalmente di archivi _flat_ con tutte le librerie e i binari nella directory di base. Ovviamente, se spostate i file dopo averli estratti come spiegato [qui] (http://ronr.blogspot.fr/2014/10/how-to-install-oracle-instant-client-on.html) (;)), è necessario regolare le varie variabili di ambiente di conseguenza. –

2

ho fatto risolvere questo errore impostando

export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$ORACLE_HOME/lib:$ORACLE_HOME 

sì, non solo $ ORACLE_HOME/lib ma $ ORACLE_HOME troppo.

2

PERMESSI: Desidero sottolineare l'importanza delle autorizzazioni per "sqlplus".

  1. Per ogni "Altro" utente UNIX diversa dal proprietario/Gruppo di essere in grado di eseguire sqlplus e accedere a un database Oracle, lettura/permessi di esecuzione sono richiesti (rx) per questi 4 directory:

    $ ORACLE_HOME/bin, $ ORACLE_HOME/lib, $ ORACLE_HOME/oracore, $ ORACLE_HOME/sqlplus

  2. Ambiente. Impostare quelli correttamente:

    A. ORACLE_HOME (esempio: ORACLE_HOME=/u01/app/oranpgm/product/12.1.0/PRMNRDEV/)

    B. LD_LIBRARY_PATH (esempio: ORACLE_HOME=/u01/app/oranpgm/product/12.1.0/PRMNRDEV/lib)

    C. ORACLE_SID

    D. PATH

    export PATH="$ORACLE_HOME/bin:$PATH" 
    
-1

Non dimenticare

apt-get install libaio1 libaio-dev 

o

yum install libaio 
0

Lo so che è un vecchio thread, ma ho avuto in questo ancora una volta con Oracle 12c e LD_LIBRARY_PATH è stato impostato in modo corretto. Ho usato strace per vedere che cosa esattamente stava cercando e perché è fallito:

strace sqlplus /nolog 

sqlplus tenta di caricare questo lib da diverse dirs, alcuni non esistono nella mia installazione. Poi ha cercato quella che già avevo sul mio LD_LIBRARY_PATH:

aperto ("/ oracle/product/12.1.0/db_1/lib/libsqlplus.so", O_RDONLY) = -1 EACCES (Autorizzazione negata)

Quindi nel mio caso la lib aveva 740 autorizzazioni e poiché il mio utente non era un proprietario o non aveva un gruppo di oracle assegnato non potevo leggerlo. Così semplice chmod +r aiutato.

Problemi correlati