Добро пожаловать, Гость
Логин: Пароль: Запомнить меня
Теоретические аспекты и практические реализации создания, внедрения и использования баз данных, СУБД, хранилищ.
  • Страница:
  • 1

ТЕМА: Oracle. Как выполнить скрипт из shell

Oracle. Как выполнить скрипт из shell 08 июль 2011 02:48 #1311

  • margo491
  • margo491 аватар Автор темы
  • Не в сети
  • Новый участник
  • Новый участник
  • Сообщений: 58
  • Спасибо получено: 1
Привет))
Решила на работе установить Oracle, но тут у меня Линукс.
Возник такой вопрос...Как мне выполнить sql скрипт из оболочки shell, а не через sqlplus или др утилиты. Слышала что такое возможно можно, но найти не могу.

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Re: Oracle. Как выполнить скрипт из shell 08 июль 2011 02:53 #1312

  • Winner
  • Winner аватар
  • Не в сети
  • Новый участник
  • Новый участник
  • Сообщений: 32
  • Репутация: 1
  • Спасибо получено: 0
Приветствую.
Создавай скрипт, сохраняй его, например "my_script.sh". В скрипте пиши:
#!/bin/sh
PATH=/usr/bin:/usr/local/bin
ORACLE_SID=dbname  #имя бд, например oradb
ORACLE_HOME=/dba00/app/oracle/product/10.1
ORAENV_ASK=NO
. /usr/local/bin/oraenv  # путь где располагается oraenv
ORAENV_ASK=YES
ORACLE_BIN=$ORACLE_HOME/bin

sqlplus -s /NOLOG << EOF > log.txt
CONNECT username/passwd@dbname
whenever sqlerror exit sqlcode
set serveroutput on size 1000000
set feedback off
set line 200
declare
begin
   dbms_output.put_line('start!');
end;
/
@<путь_к_файлу>/<имя_файла>.sql
@<путь_к_файлу>/<имя_файла>.txt
EXIT
EOF

#Тут у нас проверка исполнения скрипта
x=$?
if [ $x != 0 ] ; then
  echo "error..."
  exit 1
fi

После того как создашь скрипт, делаешь его исполняемым, команда chmod.
SQL-скрипт, который исполняется у нас должен находится в текстовом файле, расширение может быть либо txt либо sql. К нему указывай путь.
Чтобы скрыть пароль, определи его в .profile и юзай переменную окружения в скрипте, например, DB_PASSWD=qwerty и в скрипте вызываешь ее $DB_PASSWD.

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Re: Oracle. Как выполнить скрипт из shell 08 июль 2011 02:54 #1313

Hi.
Соеденитесь с sqlplus, а затем выполняйте sql скрипт как в примере:
#!/bin/csh
set db_login = <пользователь_БД>/<пароль_пользователя>@<строка_связи>
sqlplus -s $db_login << eof_disp > log_file_$$.log
@<путь_к_файлу>/<имя_файла>
eof_disp

Самый оптимальный вариант без заморочек!

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Re: Oracle. Как выполнить скрипт из shell 16 июль 2011 16:34 #2173

  • Miha
  • Miha аватар
  • Не в сети
  • Новый участник
  • Новый участник
  • Сообщений: 25
  • Спасибо получено: 0
Создаешь скрипт и сохраняешь его потом прописываешь путь скрипта к программе системы и все будит гуд

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

  • Страница:
  • 1