Подключение базы данных Oracle через оболочку - PullRequest
0 голосов
/ 05 апреля 2019

Каковы предварительные условия для написания сценария оболочки, который подключается к базе данных Oracle, выполняет запрос и отображает вывод на экране

Ответы [ 2 ]

1 голос
/ 05 апреля 2019

Сначала убедитесь, что вы работаете на машине с установленным подходящим клиентом.Как прокомментировал Боб, SQLPlus является клиентом командной строки Oracle.Он устанавливается вместе с базой данных, но если вы работаете с другого компьютера, вам может потребоваться локальная установка клиента.

Как только вы это сделаете, вам просто нужно настроить переменные среды и работать оттуда.

Например, учитывая

export ORA_BASE=/db/oracle
export ORA_HOME=$ORA_BASE/product/12.1.0.2/db_1
export ORACLE_SID=$dbName

PATH=$PATH:$ORACLE_HOME/bin

и предполагая, что тестовая база данных по умолчанию была установлена ​​как $ dbName,

echo "select * from dual;" | 
  sqlplus scott/tiger@//${dbHost:=$HOSTNAME}:${port:=1521}/$ORACLE_SID

Мое подтверждение в Ansible, что у меня есть подключение наУстановка dev выглядит следующим образом:

export ORACLE_BASE='{{ ORA_BASE }}'
export ORACLE_HOME='{{ ORA_HOME }}'
export ORACLE_SID='{{ SID }}'
PATH=$PATH:$ORACLE_HOME/bin

echo "Testing remote access to $HOSTNAME/$SID via sqlplus"

echo "select * from dual;" | sqlplus scott/tiger@//$HOSTNAME:1521/$ORACLE_SID
0 голосов
/ 09 апреля 2019

Предполагая, что ваш PLSQL script.sql содержит запрос и форматирование. Предполагая, что sqlplus в пути и все переменные среды Oracle верны.

Правильный шаблон:

echo exit | sqlplus scott/tiger@//$HOSTNAME:1521/$ORACLE_SID @script.sql

Пояснения:

echo exit передать команду выхода на sqlplus, когда скрипт завершится. Возврат подсказки в оболочку.

sqlplus вызов скриптовой оболочки / утилиты Oracle.

scott/tiger@//$HOSTNAME:1521/$ORACLE_SID Строка подключения sqlplus к пользователю scott с паролем tiger к базе данных на сервере $HOSTNAME по порту 1521 с SID $ORACLE_SID

@script.sql вызов сценария PLSQL, хранящегося в файле script.sql

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...