nohup запуск sql и логирование - PullRequest
0 голосов
/ 27 января 2012

Я новичок в команде nohup, но не совсем понимаю. У меня есть SQL-скрипт с именем update_item_loc.sql, я звоню с замазкой

До сих пор я выполнял следующую команду

login as: **username**  
sprusr13@servername.server.com's password:**xx**

username@servername:~> cd  /fs01/app/rms04/external/scripts
username@servername:/fs01/app/rms04/external/scripts> sqlplus $UP

SQL*Plus: Release 11.1.0.7.0 - Production on Fri Jan 27 16:16:50 2012    Copyright (c) 1982, 2008, Oracle.  All rights reserved.

Connected to: Oracle Database 11g Enterprise Edition Release 11.1.0.7.0 
- 64bit Production With the Partitioning, OLAP, Data Mining and Real Application Testing options

userDB@DBserver>

поэтому следующая команда будет

userDB@DBserver>nohup update_item_loc.sql > /fs01/app/rms04/external/logs/update_item_loc.log &

Это правильно?

Ответы [ 2 ]

5 голосов
/ 27 января 2012

Гм, нет.

nohup не является командой sqlplus. Вы можете использовать nohup в командной строке, чтобы выполнить двоичный скрипт или скрипт оболочки.

Итак, если у вас есть test.sql, который выглядит так:

select * from dual;
exit

и вы запускаете его из сценария оболочки run_test.sh, который выглядит следующим образом:

export ORACLE_SID=mysid
export ORAENV_ASK=NO
. oraenv
sqlplus myuser/mypass@$ORACLE_SID @test.sql

тогда у вас должно получиться добавить:

 $ nohup run_test.sh &

Надеюсь, это поможет.

0 голосов
/ 12 марта 2014

Может быть, вы хотите, чтобы соединение не завершалось из-за отсутствия активности, вы можете изменить настройки соединения замазкой:

  • Секунды между keepalive до числа больше 0, я установил его на 360sec
  • Отметьте опцию Включить TCP Keep Alives
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...