SqlPlus nasıl kurulur?


19

Buradan talimatı izleyerek sqlplus yüklemeyi denedim . Hala alıyorum:

sqlplus: command not found

sqlplusTerminalimden yaptığım zaman .

Ubuntu'da acemi oldum ve Ubuntu 12.04 kullanıyorum.


sudo alien -i
Sudo

Yanıtlar:


26

Öncelikle Anında İstemci İndirmeleri'ni indirmeniz gerekiyor . Alien paketini yükleyin, böylece terminalde aşağıdaki komutu yazarak rpm paketlerini yükleyebilirsiniz.

sudo apt-get install alien

Bu yapıldıktan sonra, rpm dosyalarının bulunduğu klasöre gidin ve aşağıdakileri yürütün:

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

Yüklemeniz gerekiyor libaio.so. Bunu yapmak için aşağıdaki komutu yazın:

sudo apt-get install libaio1

Oracle yapılandırma dosyası oluşturun:

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

Bu satırı bu dosyaya koyun:

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

Not - 64 bit kurulumlar için yol şöyle olacaktır:

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

Aşağıdaki komutu çalıştırarak yapılandırmayı güncelleyin:

sudo ldconfig

Şunları kullanarak bağlanmaya çalışın:

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

veya:

sqlplus testuser/password

64 bit sürümü yüklediyseniz, istemcinin çağrıldığını unutmayın sqlplus64.


Detaylar için teşekkürler. Kurulumun, özellikle de lib'in yüklenmesi ile ilgili kısmı tamamlamama yardımcı oldu.
lonstar

1
... sqlplus testuser / password çalıştırmayı denedim ve "sqlplus: paylaşılan kütüphaneler yüklenirken hata oluştu: libsqlplus.so: paylaşılan nesne dosyası açılamıyor: böyle bir dosya veya dizin yok"
lonstar

4
... ve oracle.conf dosyasına dokunduğumdan ve bunu buna eklemeniz gerektiği ortaya çıktı: /usr/lib/oracle/11.2/client/lib/ (buna gerçekten sahip olduğunuzu kontrol ettiğinizden emin olun. ve marcelozambranav.blogspot.com/2012/08/… ) sayesinde . Bunu bir kez yaptıktan sonra her şey yolundaydı.
lonstar

4
@K .K Patel Talimatlarınızı takip ettim ancak komut satırına sqlplus yazdıktan sonra bir kullanıcı adı ve şifre girmeniz istenir. Ve kullanıcı adını ve şifreyi bilmiyorum. Ne yapmalıyım?
Sabyasachi

Oracle-instantclient * basic, devel, jdbc, odbc, sqlplus, araçlar, basiclite var. Sadece sqlplus olanı kurabilir ve onunla yapılamaz mıyım?
masterxilo

3

Uzaylı şey aşağıdakilerden dolayı işe yaramadı:

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

Bu yüzden kolay bir çözümle gittim: Zip dosyalarını Oracle'dan indirin (temel ve sqlplus), ayıklayın ve klasörü program dosyalarını koyduğunuz yere koyun (örn. /usr/share). Ardından, LD_LIBRARY_PATHdeğişkenleri ayarladıktan sonra yürütülebilir dosyayı çalıştıran bir komut dosyası oluşturun , böylece kitaplıklar bulunur:

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

Arayın sqlplus, yürütülebilir ( chmod 755 sqlplus) yapın ve bash onu bulması için PATH(örneğin /usr/bin/) üzerindeki bir dizine koyun.

Gibi çalıştır

sqlplus user/password@host:port/service

Eğer alırsanız

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

ile kütüphaneyi kur sudo apt-get install libaio1


1

Bu bağlantının yardımcı olacağını düşünüyorum . Oldukça açıklayıcı. Tüm adımları izlediğinizden emin olun. Yine de herhangi bir sorununuz varsa, yorum yapmaktan çekinmeyin.


6
Bu teorik olarak soruyu cevaplayabilirken, cevabın temel kısımlarını buraya dahil etmek ve referans için bağlantı sağlamak tercih edilir.
Eliah Kagan

Ben bile bunu yaptım .. Ama işe yaramıyor gibi görünüyor.!
Ant'in

Bu konuyu unix.com/ubuntu/157848-sqlplus-command-not-found.html buldum. Bu size daha iyi yardımcı olup olmadığını deneyin . İndirmek için net hızım yok, aksi takdirde kendim denedim ve daha iyi bir çözüm verirdim.
Vinit Kumar

1
@ Ant'in "çalışmıyor" bize ipucu vermiyor. Bize her komutun çıktısını gösterin. Sonra neler olup bittiğine ve sorunun nerede olduğuna dair genel bir resim elde edeceğiz.
Savvas Radevic

0

Tabii ki doğru kurulum yukarıdaki gibi resmi paketlerden ( Anında İstemci İndirmeleri indirin ), ancak sadece bu dosyaları kopyalayarak tam bir çalışma sqlplus alabilirsiniz (oracle istemcisi yüklü herhangi bir bilgisayarda bulabilirsiniz) ve bazı msb isteğe bağlıdır :

./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

Ek bağımlılık olarak, dahil ettim libaio.so- ile kurulabilirsudo apt-get install libaio1

Yani, örnek bir kullanım olabilir:

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

0

@Ketan Patel'in harika cevabına bir ek olarak:

İndirilen rpm dosyaları ile birlikte tutulan bu basit komut dosyası, daha sonraki yükleme işlemlerini yazar:

#!/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!!";

NOT: En azından Ubuntu'da libaio'nun adı libaio1olan yükler (ve Debian'da da düşünüyorum). Diğer dağıtımların bu paket adını "libaio" ya da karşılık gelen paket adı ne olursa olsun ayarlaması gerekebilir.

Düzenleme: İşte readline sarma ( bu yazı için kredi ) ile gelişmiş bir versiyonu :

#!/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!!";

Hala Oracle, ama en azından acıyı biraz daha katlanılabilir yapıyor ...

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.