Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Общий по Linux (http://forum.oszone.net/forumdisplay.php?f=9)
-   -   Автозагрузка сервера (http://forum.oszone.net/showthread.php?t=80256)

tiroman 02-03-2007 11:17 557146

Автозагрузка сервера
 
Вложений: 1
Вопрос такой: необходимо заставить автоматически загружаться сервер Oracle. Я прикрепил файлик - лог загрузки системы. Там последним загружается сервер Oracle (dbora). Пишет сообщение - localhost dbora: localhost.localdomain: Connection refused, я так понимаю отказ в соединении. Из-за чего не знаю.

Из-за чего это может быть ? Кто знает подскажите где копаться надо.

Пробовал и через cron и через локальные сценарии воткнуть сервак в автозагрузку, не получается. Сделал всё как прописано в мануале с диска с дистрибутивом, выдаёт эту ошибку.

tiroman 02-03-2007 19:28 557368

Неужели никто не знает.

Чёто по линуксу ообще жидко както обсуждения проходят, или это конец недели сказывается ? :)

must die 02-03-2007 19:39 557374

tiroman

Я думаю здесь не много специалистов по Oracle.
То что вы приложили к сообщению не совсем лог. В линукс (по умолчанию) логи хранятся в /var/log/........

ruslandh 02-03-2007 21:03 557396

tiroman

Издеваетесь -да ?
Такой лог приложили, а информации по делу 5 сток :

Код:

Mar  2 07:51:50 localhost dbora: + ORACLE_HOME=/home/oracle/oracle/product/10.2.0/db_5
Mar  2 07:51:50 localhost dbora: + ORACLE=oracle
Mar  2 07:51:50 localhost dbora: + PATH=/sbin:/usr/sbin:/bin:/usr/bin:/usr/X11R6/bin:/home/oracle/oracle/product/10.2.0/db_5/bin
Mar  2 07:51:50 localhost dbora: ++ hostname
Mar  2 07:51:50 localhost dbora: + HOST=ronin
Mar  2 07:51:50 localhost dbora: ++ uname
Mar  2 07:51:50 localhost dbora: + PLATFORM=Linux
Mar  2 07:51:50 localhost dbora: + export ORACLE_HOME PATH
Mar  2 07:51:50 localhost dbora: + '[' '!' '' = ORA_DB ']'
Mar  2 07:51:50 localhost dbora: + '[' Linux = HP-UX ']'
Mar  2 07:51:50 localhost dbora: + rsh ronin -l oracle /etc/rc5.d/S99dbora start ORA_DB
Mar  2 07:52:21 localhost dbora: localhost.localdomain: Connection refused
Mar  2 07:52:21 localhost dbora: + exit
Mar  2 07:52:21 localhost rc: Запускается dbora:  failed

Цитата:

rsh ronin -l oracle /etc/rc5.d/S99dbora start ORA_DB
А rsh разрешён ?

Что-то старое - rsh уже в современных дистрибутивах не используется из-за проблем с безопасностью.

mar 02-03-2007 21:10 557397

tiroman
а не в авторежиме - (с консоли) демон подымается?

(пардон - не стала читать длинный лог, а ruslandh-таки чесно прочел и уже ответил :))
но вопрос про запуск не демоном остается в силе - для Вас (для отладки всех разрешений)

tiroman 02-03-2007 21:31 557403

Цитата:

То что вы приложили к сообщению не совсем лог. В линукс (по умолчанию) логи хранятся в /var/log/........
Так это и взято из /var/log/boot.log

Цитата:

А rsh разрешён ?
А можно поподробнее, я просто ещё начинающий.

Вот текст сценария который называется 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

ruslandh 02-03-2007 22:17 557418

1 Старт демона dbora в cron прописывать не надо - он и так должен стартовать при запуске компа (в runlevel 3 и 5)
2 Что у вас за дистрибутив
3 Правильно-ли прописаны
ORACLE_HOME
и
ORACLE
4 rsh - или установить, или откорректировать скрипт запуска dbora (заменить на прямой запуск или по ssh)

tiroman 03-03-2007 05:56 557471

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)

Цитата:

rsh - или установить, или откорректировать скрипт запуска dbora (заменить на прямой запуск или по ssh)
Извините конечно за бестолковость,но как это сделать ?

Я так понял есть три способа запуска:

сценарии SysV
суперсервер (например xinetd)
локальные сценарии

Как настроить rsh ?

tiroman 04-03-2007 08:34 557756

Попробовал выполнить данный скрипт под пользователем oracle

/etc/rc.d/rc5.d/S99dbora start

прокатило, и сервер заработал.

Т.е. как я понял нет разрешения для пользователя oracle на коннект через rsh, а как его сделать не знаю.
Попробовал запустить тот же скрипт под root'ом, oracle выдал сообщение permission denied, т.е. мои
подозрения подтверждаются: для oracle запрещён доступ через rsh, а для root нет доступа на запуск
сервера Oracle. Таким образом мне надо настроить доступ пользователю oracle через remote shell и
всё должно получиться.

В скрипте происходит коннект к локальному хосту а потом попытка запуска/останова сервера.

Может кто даст ссылку на мануал (или поможет сам) по настройке rsh, всю имеющуюся литературу
перерыл нет ничего подходящего. Буду очень признателен, ибо завис вопрос по запуску сервера, а
вручную запускать сервак очень накладно, т.к. на юзеров особой надежды нет.

ruslandh 04-03-2007 08:49 557757

Используйте в скрипте su
su -c "rsh $HOST -l $ORACLE $0 $1 ORA_DB" ORACLE

tiroman 05-03-2007 08:42 558027

попробовал эту штуку
Цитата:

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 но у меня этих файлов нет.

ruslandh 05-03-2007 08:55 558032

У меня очепятка, должно быть :
su -c "rsh $HOST -l $ORACLE $0 $1 ORA_DB" $ORACLE
или c учётом подстановок $ORACLE :
su -c "rsh localhost -l oracle $0 $1 ORA_DB" oracle

tiroman 11-03-2007 22:29 560383

Вобщем нашёл скрипт который запустил наконец сервер 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. Может есть ещё какие-то подводные камни в установке системы "по умолчанию" ?

На самом серавке коннект к оракулу проходит нормально, не коннектится с другого компа.

ruslandh 12-03-2007 07:44 560459

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-