Come installare SqlPlus?


19

Ho provato a installare sqlplus seguendo le istruzioni da qui . Ricevo ancora:

sqlplus: command not found

quando lo faccio sqlplusdal mio terminale.

Sono alle prime armi con Ubuntu e utilizzo Ubuntu 12.04.


Penso che tu debba eseguire i comandi alieni -i con sudo:sudo alien -i
Savvas Radevic il

Risposte:


26

Prima di tutto devi scaricare Instant Client Download . Installa il pacchetto alien in modo da poter installare i pacchetti rpm digitando il seguente comando nel terminale.

sudo apt-get install alien

Una volta fatto ciò, vai alla cartella in cui si trovano i file rpm ed esegui quanto segue:

sudo alien -i oracle-instantclient*-basic*.rpm
sudo alien -i oracle-instantclient*-sqlplus*.rpm
sudo alien -i oracle-instantclient*-devel*.rpm

È necessario installare libaio.so. Digita il comando seguente per farlo:

sudo apt-get install libaio1

Crea file di configurazione Oracle:

sudo sensible-editor /etc/ld.so.conf.d/oracle.conf

Inserisci questa riga in quel file:

/usr/lib/oracle/<your version>/client/lib/ 

Nota: per le installazioni a 64 bit, il percorso sarà:

/usr/lib/oracle/<your version>/client64/lib/ 

Aggiorna la configurazione eseguendo il comando seguente:

sudo ldconfig

Prova a connetterti utilizzando:

sqlplus username/password@//dbhost:1521/SID

o:

sqlplus testuser/password

Nota che se hai installato la versione a 64 bit, viene chiamato il client sqlplus64.


Grazie per i dettagli Mi ha aiutato a completare l'installazione, in particolare la parte relativa all'installazione della libreria.
Lonstar

1
... finché non ho provato a eseguire sqlplus testuser / password e ho ottenuto "sqlplus: errore durante il caricamento delle librerie condivise: libsqlplus.so: impossibile aprire il file oggetto condiviso: nessun file o directory"
lonstar

4
... ed è stato perché ho appena toccato il file oracle.conf e si scopre che è necessario aggiungerlo ad esso: /usr/lib/oracle/11.2/client/lib/ (assicurati di verificare che tu lo abbia effettivamente percorso e grazie a marcelozambranav.blogspot.com/2012/08/… ). Una volta che l'ho fatto, tutto è andato bene.
Lonstar

4
@K .K Patel Ho seguito le tue istruzioni ma dopo aver digitato sqlplus nella riga di comando, viene richiesto di inserire un nome utente e una password. E non conosco il nome utente e la password. Cosa dovrei fare?
Sabyasachi,

Hanno oracle-instantclient * basic, devel, jdbc, odbc, sqlplus, tools, basiclite. Non posso semplicemente installare sqlplus one e finirlo?
masterxilo,

3

La cosa aliena non ha funzionato a causa di:

Error: cannot open Name index using db5 - Permission denied (13)

Quindi ho scelto la soluzione semplice: scarica i file zip da Oracle (di base e sqlplus), estraili e inserisci la cartella in cui hai inserito i file di programma (ad es /usr/share.). Quindi creare uno script che esegua l'eseguibile dopo aver impostato la LD_LIBRARY_PATHvariabile, in modo che vengano trovate le librerie:

#!/bin/bash
DIR=/usr/share/instantclient_12_2 # <------- adjust this to the path you use
export LD_LIBRARY_PATH="$DIR"
"$DIR"/sqlplus "$@"

Chiamalo sqlplus, rendilo eseguibile ( chmod 755 sqlplus) e mettilo in una directory sul tuo PATH(es. /usr/bin/), In modo che bash lo trovi.

Eseguilo come

sqlplus user/password@host:port/service

Se ottieni

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

installa la libreria con sudo apt-get install libaio1


1

Penso che questo link sarebbe di aiuto. È piuttosto descrittivo. Assicurati di seguire tutti i passaggi. Tuttavia, se hai qualche problema, non esitare a commentare.


6
Sebbene ciò possa teoricamente rispondere alla domanda, sarebbe preferibile includere qui le parti essenziali della risposta e fornire il collegamento come riferimento.
Eliah Kagan,

Questo è quello che ho fatto anche io .. Ma non sembra funzionare.!
Ant è il

Ho trovato questa discussione unix.com/ubuntu/157848-sqlplus-command-not-found.html. Prova se questo potrebbe aiutarti meglio. Non ho la velocità netta per scaricarlo, altrimenti l'avrei provato da solo e avrei dato una soluzione migliore.
Vinit Kumar,

1
"Ant non funziona" non ci fornisce indizi. Mostraci l'output di ciascun comando. Quindi avremo un quadro generale di cosa sta succedendo e dove si trova il problema.
Savvas Radevic,

0

Ovviamente l'installazione corretta proviene da pacchetti ufficiali come sopra ( scarica Instant Client Downloads ), ma puoi ottenere un sqlplus completamente funzionante semplicemente copiando questi file (puoi trovarlo in qualsiasi computer con oracle client installato), e alcuni msb sono opzionali :

./sqlplus
./sqlplus/mesg
./sqlplus/mesg/sp1zhs.msb
./sqlplus/mesg/sp2zhs.msb
./sqlplus/mesg/sp2ptb.msb
./sqlplus/mesg/sp2us.msb
./sqlplus/mesg/sp1us.msb
./sqlplus/mesg/sp1ptb.msb
./sqlplus/mesg/cpyja.msb
./sqlplus/mesg/sp1ja.msb
./sqlplus/mesg/cpyus.msb
./sqlplus/mesg/cpyzhs.msb
./sqlplus/mesg/cpyptb.msb
./sqlplus/mesg/sp2ja.msb
./sqlplus/sqlplus
./README
./lib
./lib/libaio.so.1
./lib/libclntsh.so.11.1
./lib/libsqlplus.so
./lib/libnnz11.so
./lib/libociei.so

Come dipendenza adizionale, ho incluso libaio.so- può essere installato consudo apt-get install libaio1

Quindi, un esempio di utilizzo può essere:

cd <PATH_OF_FILES>
ORACLE_HOME=$PWD LD_LIBRARY_PATH=$PWD/lib ./sqlplus/sqlplus user/pw@server:PORT/

0

Proprio come un'aggiunta alla grande risposta di @Ketan Patel:

Questo semplice script, tenuto insieme ai file rpm scaricati, avvia automaticamente il processo per ulteriori installazioni:

#!/usr/bin/env sh
# /ubuntu//a/207145/585248

CURRDIR="$(pwd)";
cd $(dirname "${0}");

# Tools and dependencies:
sudo apt-get update
sudo apt-get install alien libaio1

# Oracle Packages:
echo "Installing instantclient-basic..."
sudo alien -i oracle-instantclient*-basic*.rpm
echo "Installing instantclient-sqlplus..."
sudo alien -i oracle-instantclient*-sqlplus*.rpm
echo "Installing instantclient-devel..."
sudo alien -i oracle-instantclient*-devel*.rpm

echo "Configuring LD path..."
# LD config:
echo /usr/lib/oracle/*/client64/lib \
    | sort -V \
    | tail -n 1 \
    | sudo tee /etc/ld.so.conf.d/oracle.conf \
;
sudo ldconfig

cd "${CURRDIR}"
echo "DONE!!";

NOTA: installa libaio1il nome di libaio almeno in Ubuntu (e penso anche in Debian). Altre distribuzioni potrebbero dover adattare il nome di questo pacchetto a "libaio" o qualunque sia il nome del pacchetto corrispondente.

Modifica: ecco una versione potenziata con wrapping readline (credisti per questo post ):

#!/usr/bin/env sh
# /ubuntu//a/207145/585248

CURRDIR="$(pwd)";
cd $(dirname "${0}");

# Tools and dependencies:
sudo apt-get update
sudo apt-get install alien libaio1 rlwrap

# Oracle Packages:
echo "Installing instantclient-basic..."
sudo alien -i oracle-instantclient*-basic*.rpm
echo "Installing instantclient-sqlplus..."
sudo alien -i oracle-instantclient*-sqlplus*.rpm
echo "Installing instantclient-devel..."
sudo alien -i oracle-instantclient*-devel*.rpm

# LD config:
echo "Configuring LD path..."
echo /usr/lib/oracle/*/client64/lib \
    | sort -V \
    | tail -n 1 \
    | sudo tee /etc/ld.so.conf.d/oracle.conf \
;
sudo ldconfig

# Readline wrapping:
echo "Configuring readline wrapping..."
echo "WARNING: You need to manually execute this command or re-read /etc/profile"
echo "if you want readline wrapped 'sqlplus' alias to work in current session".
(cat | sudo tee /etc/profile.d/sqlplus_rlwrap.sh) <<!EOF
alias sqlplus="rlwrap -i -f ~/.sqlplus_history -H ~/.sqlplus_history -s 30000 sqlplus64"
!EOF
touch ~/.sqlplus_history

cd "${CURRDIR}"
echo "DONE!!";

È ancora Oracle, ma almeno rende il dolore un po 'più sopportabile ...

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.