जवाबों:
सबसे पहले आपको इंस्टेंट क्लाइंट डाउनलोड डाउनलोड करना होगा । विदेशी पैकेज स्थापित करें ताकि आप टर्मिनल में निम्नलिखित कमांड टाइप करके आरपीएम पैकेज स्थापित कर सकें।
sudo apt-get install alien
एक बार ऐसा करने के बाद, उस फ़ोल्डर पर जाएं जहां rpm फाइलें स्थित हैं और निम्नलिखित को निष्पादित करें:
sudo alien -i oracle-instantclient*-basic*.rpm
sudo alien -i oracle-instantclient*-sqlplus*.rpm
sudo alien -i oracle-instantclient*-devel*.rpm
आपको स्थापित करने की आवश्यकता है libaio.so
। इसे करने के लिए निम्न आदेश टाइप करें:
sudo apt-get install libaio1
Oracle कॉन्फ़िगरेशन फ़ाइल बनाएँ:
sudo sensible-editor /etc/ld.so.conf.d/oracle.conf
इस लाइन को उस फ़ाइल में रखें:
/usr/lib/oracle/<your version>/client/lib/
नोट - 64-बिट इंस्टॉलेशन के लिए, पथ निम्न होगा:
/usr/lib/oracle/<your version>/client64/lib/
निम्नलिखित कमांड चलाकर कॉन्फ़िगरेशन को अपडेट करें:
sudo ldconfig
का उपयोग कर कनेक्ट करने का प्रयास करें:
sqlplus username/password@//dbhost:1521/SID
या:
sqlplus testuser/password
ध्यान दें कि यदि आपने 64-बिट संस्करण स्थापित किया है, तो क्लाइंट कहा जाता है sqlplus64
।
विदेशी चीज़ के कारण काम नहीं किया:
Error: cannot open Name index using db5 - Permission denied (13)
इसलिए मैं आसान समाधान के साथ गया: ओरेकल (मूल और sqlplus) से ज़िप फ़ाइलों को डाउनलोड करें, उन्हें निकालें, और उस फ़ोल्डर को डालें जहां आपने प्रोग्राम फाइलें (जैसे ) रखी हैं । फिर एक स्क्रिप्ट बनाएं जो वेरिएबल को सेट करने के बाद एग्जीक्यूटेबल रन करे , ताकि लाइब्रेरी मिल जाए:/usr/share
LD_LIBRARY_PATH
#!/bin/bash
DIR=/usr/share/instantclient_12_2 # <------- adjust this to the path you use
export LD_LIBRARY_PATH="$DIR"
"$DIR"/sqlplus "$@"
इसे कॉल करें sqlplus
, इसे निष्पादन योग्य बनाएं ( chmod 755 sqlplus
) और इसे अपने PATH
(उदाहरण /usr/bin/
) पर एक निर्देशिका में डालें , ताकि बैश इसे खोज सके।
इसे वैसे ही चलाएं
sqlplus user/password@host:port/service
अगर तुम्हे मिले
error while loading shared libraries: libaio.so.1: cannot open shared object file: No such file or directory
के साथ पुस्तकालय स्थापित करें sudo apt-get install libaio1
मुझे लगता है कि इस लिंक से मदद मिलेगी। यह बहुत वर्णनात्मक है। सुनिश्चित करें कि आप सभी चरणों का पालन करते हैं। यदि आपको कोई समस्या है, तो भी टिप्पणी करने में संकोच न करें।
बेशक सही इंस्टालेशन उपरोक्त जैसे आधिकारिक पैकेज से है ( इंस्टेंट क्लाइंट डाउनलोड को डाउनलोड करें ), लेकिन आप इन फाइलों को कॉपी करके एक पूर्ण काम कर रहे sqlplus प्राप्त कर सकते हैं (आप इसे किसी भी कंप्यूटर में oracle क्लाइंट के साथ स्थापित कर सकते हैं), और कुछ msb वैकल्पिक हैं :
./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
सशर्त निर्भरता के रूप में, मैंने शामिल किया libaio.so
- इसे स्थापित किया जा सकता हैsudo apt-get install libaio1
तो, एक नमूना उपयोग हो सकता है:
cd <PATH_OF_FILES>
ORACLE_HOME=$PWD LD_LIBRARY_PATH=$PWD/lib ./sqlplus/sqlplus user/pw@server:PORT/
बस @ कटान पटेल के शानदार जवाब के लिए एक परिशिष्ट के रूप में:
डाउनलोड की गई आरपीएम फाइलों के साथ रखी गई यह सरल लिपि, फ़्यूचर इंस्टॉल की प्रक्रिया को स्वचालित बनाती है:
#!/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!!";
नोट: यह स्थापित करता है
libaio1
जो कम से कम उबंटू में लिबियो का नाम है (और मुझे डेबियन में भी लगता है)। अन्य वितरणों को इस पैकेज के नाम को "लाइबियो" या जो भी संबंधित पैकेज नाम होगा, को समायोजित करने की आवश्यकता हो सकती है।
संपादित करें: यहाँ यह रीडलाइन रैपिंग ( इस पोस्ट के लिए क्रेडिट ) के साथ एक ehanced संस्करण है :
#!/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!!";
यह अभी भी ओरेकल है, लेकिन कम से कम यह दर्द को थोड़ा और अधिक सहनीय बनाता है ...
sudo alien -i