![]() |
Автозагрузка сервера
Вложений: 1
Вопрос такой: необходимо заставить автоматически загружаться сервер Oracle. Я прикрепил файлик - лог загрузки системы. Там последним загружается сервер Oracle (dbora). Пишет сообщение - localhost dbora: localhost.localdomain: Connection refused, я так понимаю отказ в соединении. Из-за чего не знаю.
Из-за чего это может быть ? Кто знает подскажите где копаться надо. Пробовал и через cron и через локальные сценарии воткнуть сервак в автозагрузку, не получается. Сделал всё как прописано в мануале с диска с дистрибутивом, выдаёт эту ошибку. |
Неужели никто не знает.
Чёто по линуксу ообще жидко както обсуждения проходят, или это конец недели сказывается ? :) |
tiroman
Я думаю здесь не много специалистов по Oracle. То что вы приложили к сообщению не совсем лог. В линукс (по умолчанию) логи хранятся в /var/log/........ |
tiroman
Издеваетесь -да ? Такой лог приложили, а информации по делу 5 сток : Код:
Mar 2 07:51:50 localhost dbora: + ORACLE_HOME=/home/oracle/oracle/product/10.2.0/db_5 Цитата:
Что-то старое - rsh уже в современных дистрибутивах не используется из-за проблем с безопасностью. |
tiroman
а не в авторежиме - (с консоли) демон подымается? (пардон - не стала читать длинный лог, а ruslandh-таки чесно прочел и уже ответил :)) но вопрос про запуск не демоном остается в силе - для Вас (для отладки всех разрешений) |
Цитата:
Цитата:
Вот текст сценария который называется dbora и расположен в /etc/init.d, он же и отмечен в файле лога загрузки: #! /bin/sh -x # # Change the value of ORACLE_HOME to specify the correct Oracle home # directory for your installation. ORACLE_HOME=/home/oracle/oracle/product/10.2.0/db_5 # # Change the value of ORACLE to the login name of the # oracle owner at your site. # ORACLE=oracle PATH=${PATH}:$ORACLE_HOME/bin HOST=`hostname` PLATFORM=`uname` export ORACLE_HOME PATH # if [ ! "$2" = "ORA_DB" ] ; then if [ "$PLATFORM" = "HP-UX" ] ; then remsh $HOST -l $ORACLE -n "$0 $1 ORA_DB" exit else rsh $HOST -l $ORACLE $0 $1 ORA_DB exit fi fi # case $1 in 'start') $ORACLE_HOME/bin/dbstart $ORACLE_HOME & ;; 'stop') $ORACLE_HOME/bin/dbshut $ORACLE_HOME & ;; *) echo "usage: $0 {start|stop}" exit ;; esac # exit Я думаю здесь дело не в оракле, почему и спрашиваю на форуме. После загрузки выполняю /home/oracle/oracle/product/10.2.0/db_5/dbstart (как написано в мануале это сценарий запуска сервера) и сервер нормально стартует, а при попытке прописать это в crone или ещё где-то, не срабатывает. Я тоже думаю тут дело в rsh (remote shell я так понял), но как это исправить ? Да ещё созданы такие линки: # ln -s /etc/init.d/dbora /etc/rc.d/rc3.d/K01dbora # ln -s /etc/init.d/dbora /etc/rc.d/rc3.d/S99dbora # ln -s /etc/init.d/dbora /etc/rc.d/rc5.d/K01dbora # ln -s /etc/init.d/dbora /etc/rc.d/rc5.d/S99dbora |
1 Старт демона dbora в cron прописывать не надо - он и так должен стартовать при запуске компа (в runlevel 3 и 5)
2 Что у вас за дистрибутив 3 Правильно-ли прописаны ORACLE_HOME и ORACLE 4 rsh - или установить, или откорректировать скрипт запуска dbora (заменить на прямой запуск или по ssh) |
ORACLE_HOME=/home/oracle/oracle/product/10.2.0/db_5 - оттуда же и запускаю dbstart из консоли после загрузки, там находятся все необходимые директории bin и т.д.
ORACLE=oracle - это специально созданный пользователь для установки сервера входящий в группу oinstall (всё по мануалу по установке) Дистрибутив Red Hat Enterprise Linux version 4 (ядро 2.6.9-5EL) Цитата:
Я так понял есть три способа запуска: сценарии SysV суперсервер (например xinetd) локальные сценарии Как настроить rsh ? |
Попробовал выполнить данный скрипт под пользователем oracle
/etc/rc.d/rc5.d/S99dbora start прокатило, и сервер заработал. Т.е. как я понял нет разрешения для пользователя oracle на коннект через rsh, а как его сделать не знаю. Попробовал запустить тот же скрипт под root'ом, oracle выдал сообщение permission denied, т.е. мои подозрения подтверждаются: для oracle запрещён доступ через rsh, а для root нет доступа на запуск сервера Oracle. Таким образом мне надо настроить доступ пользователю oracle через remote shell и всё должно получиться. В скрипте происходит коннект к локальному хосту а потом попытка запуска/останова сервера. Может кто даст ссылку на мануал (или поможет сам) по настройке rsh, всю имеющуюся литературу перерыл нет ничего подходящего. Буду очень признателен, ибо завис вопрос по запуску сервера, а вручную запускать сервак очень накладно, т.к. на юзеров особой надежды нет. |
Используйте в скрипте su
su -c "rsh $HOST -l $ORACLE $0 $1 ORA_DB" ORACLE |
попробовал эту штуку
Цитата:
Нашёл документацию по rlogin там и по rsh есть мануал, попробую настроить. Пробовал выполнить rsh localhost -l имя_пользователя и под root'ом и под orace'ом пишет permission denied. Самое интересное в мануале написаны файлы настроек доступа rsh - /etc/hosts.equiv либо /home/пользователь/.rhosts но у меня этих файлов нет. |
У меня очепятка, должно быть :
su -c "rsh $HOST -l $ORACLE $0 $1 ORA_DB" $ORACLE или c учётом подстановок $ORACLE : su -c "rsh localhost -l oracle $0 $1 ORA_DB" oracle |
Вобщем нашёл скрипт который запустил наконец сервер Oracle:
#!/bin/bash # chkconfig: 35 99 10 # description: Starts and stops Oracle processes # Starts and stops Oracle processes # Set ORA_HOME to be equivalent to the $ORACLE_HOME # from which you wish to execute dbstart and dbshut; ORA_HOME=/home/oracle/oracle/product/10.2.0/db_5 # Set ORA_OWNER to the user id of the owner of the # Oracle database in ORA_HOME. ORA_OWNER=oracle # Start services 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 $ORA_HOME" # Start the TNS Listener su - $ORA_OWNER -c "$ORA_HOME/bin/lsnrctl start" touch /var/lock/subsys/dbora ;; # Stop services 'stop') # Stop the TNS Listener su - $ORA_OWNER -c "$ORA_HOME/bin/lsnrctl stop" # Stop the Oracle databases su - $ORA_OWNER -c "$ORA_HOME/bin/dbshut $ORA_HOME" rm -f /var/lock/subsys/dbora ;; esac # End of script dbora Только теперь не могу подсоединиться из под виндового клиента, пишет ошибка протокола TNS. Пингуется сервак нормально, на одном из форумов посоветовали проверить iptables, там по умолчанию везде стоит ACCEPT. Может есть ещё какие-то подводные камни в установке системы "по умолчанию" ? На самом серавке коннект к оракулу проходит нормально, не коннектится с другого компа. |
1 Разница между скриптами (время нет долго анализировать, то что бросается в глаза) - в первом был запуск через rsh, во втором запуск нвпрямую.
2 # Start the TNS Listener su - $ORA_OWNER -c "$ORA_HOME/bin/lsnrctl start" Вот настройки этого "TNS Listener" и надо смотреть (не знаю что такое TNS - для меня просто какая-то ничего не говорящая абревиатура). PS Помню настраивал у нас парень по одному заказу Oracle, так он с полной документацией и техподдержкой фирмы около месяца все настраивал, что-бы в Linux работало. Правда это было года 4 назад. |
Время: 20:09. |
Время: 20:09.
© OSzone.net 2001-