Всем привет!
нарисовалась такая проблема, по некоторым причинам, мне надо поставить в крон задание на перезагрузку сервака, поэтому нужно что бы все сервисы стартовали при загрузке оного. Всё бы хорошо, но.. стартует dbora а за ним httpd и.. на страничке отображается надпись "Could not connect to database". Как я понимаю, скорее всего это происходит из-за того что httpd стартует до того как dbora полностью запустился, в связи с чем вопрос (ламерский наверное :) поэтому не ругайтесь), как в скриптовом файлике сделать паузу на некоторое время? или второй вопрос, может быть причина вовсе не в этом? тогда поясните этот вопрос если можете
Людиии... гляньте сюдааа...
>Людиии... гляньте сюдааа...версия Оракла какая? и это - покажи скриптик dbora
>>Людиии... гляньте сюдааа...
>
>версия Оракла какая? и это - покажи скриптик dboraверсия оракла 8.1.7
мммм... сорри что не правильно выразил свою мысль, скриптик обыкновенный/etc/init.d/dbora start
а вот здесь я хочу чтобы была задержка N секунд
/etc/httpd start
>>>Людиии... гляньте сюдааа...
>>
>>версия Оракла какая? и это - покажи скриптик dbora
>
>версия оракла 8.1.7
>мммм... сорри что не правильно выразил свою мысль, скриптик обыкновенный
>
>/etc/init.d/dbora start
>а вот здесь я хочу чтобы была задержка N секунд
>/etc/httpd startраз 8.1.7 то понятно в чем проблема
я просил тебя выложить содержимое скрипта, а не путь к нему - это я и без тебя знаю))) просто для того, чтобы убедиться в подозрениях моих - мне нужно увидеть, что у тебя в dbora наваяно
man sleep---
wbr, shaman
http://www.akeeper.ru
>man sleep
>
>---
>wbr, shaman
>http://www.akeeper.ru
там проблема совсем в другом - и слип тут не нужен, в 8-ой версии Оракла был баг в rc-скрипте старта/остановки - оракловые кодеры промахнулись, натолкнулся на эту лажу еще в 2001 году. Но пусть мне покажут сам скрипт, чтобы я убедился в правоте своего вывода.
>там проблема совсем в другом - и слип тут не нужен, в
>8-ой версии Оракла был баг в rc-скрипте старта/остановки - оракловые
>кодеры промахнулись, натолкнулся на эту лажу еще в 2001 году. Но
>пусть мне покажут сам скрипт, чтобы я убедился в правоте своего
>вывода.А, понятно. Просто изначально вопрос стоял в задержке запуска.
---
wbr, shaman
http://www.akeeper.ru
>>там проблема совсем в другом - и слип тут не нужен, в
>>8-ой версии Оракла был баг в rc-скрипте старта/остановки - оракловые
>>кодеры промахнулись, натолкнулся на эту лажу еще в 2001 году. Но
>>пусть мне покажут сам скрипт, чтобы я убедился в правоте своего
>>вывода.
>
>А, понятно. Просто изначально вопрос стоял в задержке запуска.
>
>---
>wbr, shaman
>http://www.akeeper.ru
я эту проблему описал еще в 2001 году - вот линк
>>там проблема совсем в другом - и слип тут не нужен, в
>>8-ой версии Оракла был баг в rc-скрипте старта/остановки - оракловые
>>кодеры промахнулись, натолкнулся на эту лажу еще в 2001 году. Но
>>пусть мне покажут сам скрипт, чтобы я убедился в правоте своего
>>вывода.
>
>А, понятно. Просто изначально вопрос стоял в задержке запуска.
>
>---
>wbr, shaman
>http://www.akeeper.ru
"Вниманию админов Solaris 8 с Oracle 8.1.7!!!"
Сообщение от Vlad on 27-Ноя-01, 14:54 (MSK)//// В старт/килл скрипте, который Oracle предлагает бросить в /etc/init.d/ есть один баг:
При shutdown'е системы базы не закрываются нормально, а просто падают. Проблема заключается в том, что скрипт shutdown'а баз dbshut вызывается из старт/килл скрипта в фоновом режиме - то есть система выгружается быстрее, чем гасятся нормально базы и в конце init просто делает kill этому процессу - отсюда траблы, что не есть хорошо. Исправляется просто - убираем амперсанд. Амперсанд для скрипта dbstart можно не убирать.
Мораль басни такова - не все что Oracle, блестит. ///В данном случае убираем амперсанд и для скрипта dbstart. Успехов.
>>Людиии... гляньте сюдааа...
>
>версия Оракла какая? и это - покажи скриптик dbora#!/bin/sh
ORA_HOME=$ORACLE_HOME
ORA_OWNER=oracleif [ ! -f $ORA_HOME/bin/dbstart ]
then
echo "Oracle startup: cannot start"
exit
ficase "$1" in
start)
echo "Starting
oracle service..."
su - $ORA_OWNER -c $ORA_HOME/bin/dbstart
su - $ORA_OWNER -c
$ORA_HOME/bin/lsnrstart
;;
stop)
echo "Stopping oracle service..."
su - $ORA_OWNER
-c $ORA_HOME/bin/dbshut
su - $ORA_OWNER -c $ORA_HOME/bin/lsnrstop
;;
restart)
$0
stop
$0 start
;;
esacexit
>>>Людиии... гляньте сюдааа...
>>
>>версия Оракла какая? и это - покажи скриптик dbora
>
>#!/bin/sh
>ORA_HOME=$ORACLE_HOME
>ORA_OWNER=oracle
>
>if [ ! -f $ORA_HOME/bin/dbstart ]
>then
>echo "Oracle startup: cannot start"
> exit
>fi
>
>case "$1" in
> start)
> echo "Starting
>oracle service..."
> su - $ORA_OWNER -c $ORA_HOME/bin/dbstart
> su - $ORA_OWNER -c
>$ORA_HOME/bin/lsnrstart
> ;;
> stop)
> echo "Stopping oracle service..."
>
> su - $ORA_OWNER
>-c $ORA_HOME/bin/dbshut
> su - $ORA_OWNER -c $ORA_HOME/bin/lsnrstop
> ;;
> restart)
> $0
>stop
> $0 start
> ;;
>esac
>
>exit
мда, у тебя смотрю таких проблем нет, как я выше описалА если запустить сервер, потом остановить оракл и веб-сервер, после снова запустить оракл, дождаться загрузки его, потом веб-сервер, то все работает?
>мда, у тебя смотрю таких проблем нет, как я выше описал
>
>А если запустить сервер, потом остановить оракл и веб-сервер, после снова запустить
>оракл, дождаться загрузки его, потом веб-сервер, то все работает?если ручками dbora start, httpd start, то всё работает..
запуск из cron'а - не работает..
запуск скрипта dbora-httpd-start.sh - не работает..
sleep внутри скрипта не помог..
запуск как службы - не работает..только ручками.. :(
>если ручками dbora start, httpd start, то всё работает..
А не проблема ли с путями-окружением? Классика - где-то ссылка на что-то, инициализирующегося в окружении рута..
>запуск из cron'а - не работает..
>запуск скрипта dbora-httpd-start.sh - не работает..
>sleep внутри скрипта не помог..
>запуск как службы - не работает..
>
>только ручками.. :(
а если в этом скрипте убрать (закомментить) httpd, то один ёракл запущается?
>>если ручками dbora start, httpd start, то всё работает..
> А не проблема ли с путями-окружением? Классика - где-то ссылка на
>что-то, инициализирующегося в окружении рута..
>>запуск из cron'а - не работает..
>>запуск скрипта dbora-httpd-start.sh - не работает..
>>sleep внутри скрипта не помог..
>>запуск как службы - не работает..
>>
>>только ручками.. :(
>а если в этом скрипте убрать (закомментить) httpd, то один ёракл запущается?
>а где ты увидел в вышеопубликованном скрипте httpd?
>>>если ручками dbora start, httpd start, то всё работает..
>> А не проблема ли с путями-окружением? Классика - где-то ссылка на
>>а если в этом скрипте убрать (закомментить) httpd, то один ёракл запущается?
>>
>
>а где ты увидел в вышеопубликованном скрипте httpd?
Не увидел... Ж8-)...
но здесь же должны стартовать и оракл и апач, посему подумал, что часть скрипта выкинута...
впрочем, вопрос остался - что стартует, а что нет? и стартует когда? (посмотреть в логе)
>>мда, у тебя смотрю таких проблем нет, как я выше описал
>>
>>А если запустить сервер, потом остановить оракл и веб-сервер, после снова запустить
>>оракл, дождаться загрузки его, потом веб-сервер, то все работает?
>
>если ручками dbora start, httpd start, то всё работает..
>запуск из cron'а - не работает..
>запуск скрипта dbora-httpd-start.sh - не работает..
>sleep внутри скрипта не помог..
>запуск как службы - не работает..
>
>только ручками.. :(Я так понимаю используется Оракловый Апач и Оракл? Ежели так, то вот че я у себя нарыл - просто давно ставлю апач отдельно
/etc/init.d/dbora
------------------
#!/bin/shORACLE_BASE=/u01/app/oracle
export ORACLE_BASEORACLE_OWNER=oracle
export ORACLE_OWNERORACLE_HOME=$ORACLE_BASE/product/8.1.7
export ORACLE_HOMEORACLE_SID=OBD1
export ORACLE_SIDTNS_ADMIN=$ORACLE_HOME/network/admin
export TNS_ADMINLD_LIBRARY_PATH=$ORACLE_HOME/lib:$ORACLE_HOME/jdbc/lib
export LD_LIBRARY_PATHNLS_LANG=AMERICAN_AMERICA.CL8MSWIN1251
export NLS_LANGLANGUAGE=$NLS_LANG
export LANGUAGEORA_NLS33=$ORACLE_HOME/ocommon/nls/admin/data
export ORA_NLS33# Set ORA_HOME to be equivalent to the ORACLE_HOME
# from which you wish to execute dbstart and
# dbshut
# set ORA_OWNER to the user id of the owner of the
# Oracle database in ORA_HOME
ORA_HOME=/u01/app/oracle/product/8.1.7
ORA_OWNER=oracle
if [! -f $ORA_HOME/bin/dbstart]
then
echo "Oracle startup: cannot start"
exit
fi
case "$1" in
'start')
# Start the Oracle databases:
# The following command assumes that the oracle login will not prompt the
# user for any values
su - $ORA_OWNER -c $ORA_HOME/bin/dbstart
;;
'stop')
# Stop the Oracle databases:
# The following command assumes that the oracle login will not prompt the
# user for any values
su - $ORA_OWNER -c $ORA_HOME/bin/dbshut
;;
esac
----------------------
/etc/init.d/orapache
-----------------------
#!/sbin/sh
#
# Copyright (c) 1999 by Sun Microsystems, Inc.
# All rights reserved.
#
#ident "@(#)apache.sh 1.3 99/11/10 SMI"APACHE_HOME=/u01/app/oracle/product/8.1.7/Apache/Apache
CONF_FILE=/u01/app/oracle/product/8.1.7/Apache/Apache/conf/httpd.conf
PIDFILE=/u01/app/oracle/product/8.1.7/Apache/Apache/logs/httpd.pidif [ ! -f ${CONF_FILE} ]; then
exit 0
ficase "$1" in
start)
/bin/rm -f ${PIDFILE}
cmdtext="starting"
;;
restart)
cmdtext="restarting"
;;
stop)
cmdtext="stopping"
;;
*)
echo "Usage: $0 {start|stop|restart}"
exit 1
;;
esacecho "httpd $cmdtext."
status=`${APACHE_HOME}/bin/apachectl $1 2>&1`
if [ $? != 0 ]; then
echo "$status"
exit 1
fi
exit 0Вот так вот все работало раньше, правда с 2002 года от ораклового апача отказался...
Позволю заметить - листенеры оракла там не запускались, но это не значит, что не работало ))) Потом добавлял строки и для листенеров оракла, все равно все работало....Сейчас все намного компактнее и навернутей, да и Оракл уже 9-ый давно