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.