Как установить SqlPlus?

Я попытался установить sqlplus, следуя инструкции из здесь . Я все еще получаю:

sqlplus: command not found

, когда я делаю sqlplus из моего терминала.

Я новичок в Ubuntu и использую Ubuntu 12.04.

24
задан 26 September 2012 в 20:08

5 ответов

Конечно, правильная установка выполняется из официальных пакетов, как указано выше ( загрузить Instant Client Downloads ), но вы можете получить полную рабочую 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/
0
ответ дан 26 September 2012 в 20:08

Чужой не работал из-за:

Ошибка: невозможно открыть индекс имен с помощью db5 - Permission denied (13)

К счастью, есть более естественное решение:

Загрузите файлы zip из Oracle , вам потребуется

  • Базовый пакет (ZIP) (или Базовый легкий пакет (ZIP) )
  • Пакет SQL * Plus (ZIP)

Архивы извлекаются в ту же корневую папку. Поместите эту папку, в которую вы помещаете файлы программы (например, / usr / share ).

Затем создайте сценарий, который запускает исполняемый файл после установки переменной LD_LIBRARY_PATH , чтобы найти библиотеки :

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

Назовите его sqlplus , сделайте его исполняемым ( chmod 755 sqlplus ) и поместите его в каталог на ПУТЬ (например, / usr / bin / ), чтобы bash его нашел.

Вот и все, теперь вы можете запустить sqlplus, например:

sqlplus user/password@host:port/service

Если он выдает:

ошибку при загрузке разделяемых библиотек: libaio.so.1: не удается открыть файл общих объектов: нет такого файла или каталога

, вам необходимо установить недостающую библиотеку с помощью sudo apt-get install libaio1

5
ответ дан 26 September 2012 в 20:08

Думаю, эта ссылка поможет. Это довольно наглядно. Убедитесь, что вы выполнили все шаги. Тем не менее, если у вас возникнут проблемы, не стесняйтесь комментировать.

1
ответ дан 26 September 2012 в 20:08

Прежде всего, необходимо загрузить Instant Client Downloads. Установите чужой пакет, чтобы можно было установить rpm-пакеты, набрав следующую команду в терминале.

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

Create Oracle configuration file:

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

Put this line in that file:

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

Note - for 64-bit installations, the path will be:

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

Update the configuration by running following command:

sudo ldconfig

Try to connect using:

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

or:

sqlplus testuser/password

Note that if you installed the 64-bit version, the client is called sqlplus64.

29
ответ дан 26 September 2012 в 20:08

В качестве дополнения к замечательному ответу @Ketan Patel:

Этот простой сценарий, хранящийся вместе с загруженными файлами rpm, автоматизирует процесс для дальнейших установок:

#!/usr/bin/env sh
# https://askubuntu.com/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 , который является именем libaio , по крайней мере, в Ubuntu (и, я думаю, в Debian). В других дистрибутивах может потребоваться изменить имя этого пакета на "libaio" или другое имя соответствующего пакета.

Изменить: Вот это расширенная версия с переносом строки чтения (авторы этот пост ] ):

#!/usr/bin/env sh
# https://askubuntu.com/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!!";

Это все еще Oracle, но, по крайней мере, это делает боль немного более терпимой ...

0
ответ дан 21 October 2019 в 18:38

Другие вопросы по тегам:

Похожие вопросы: