PDA

Показать полную графическую версию : Автозагрузка сервера


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

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

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

tiroman
02-03-2007, 19:28
Неужели никто не знает.

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

must die
02-03-2007, 19:39
tiroman

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

ruslandh
02-03-2007, 21:03
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
tiroman
а не в авторежиме - (с консоли) демон подымается?

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

tiroman
02-03-2007, 21:31
То что вы приложили к сообщению не совсем лог. В линукс (по умолчанию) логи хранятся в /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
1 Старт демона dbora в cron прописывать не надо - он и так должен стартовать при запуске компа (в runlevel 3 и 5)
2 Что у вас за дистрибутив
3 Правильно-ли прописаны
ORACLE_HOME
и
ORACLE
4 rsh - или установить, или откорректировать скрипт запуска dbora (заменить на прямой запуск или по ssh)

tiroman
03-03-2007, 05:56
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
Попробовал выполнить данный скрипт под пользователем 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
Используйте в скрипте su
su -c "rsh $HOST -l $ORACLE $0 $1 ORA_DB" ORACLE

tiroman
05-03-2007, 08:42
попробовал эту штуку 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
У меня очепятка, должно быть :
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
Вобщем нашёл скрипт который запустил наконец сервер 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
1 Разница между скриптами (время нет долго анализировать, то что бросается в глаза) - в первом был запуск через rsh, во втором запуск нвпрямую.

2 # Start the TNS Listener
su - $ORA_OWNER -c "$ORA_HOME/bin/lsnrctl start"

Вот настройки этого "TNS Listener" и надо смотреть (не знаю что такое TNS - для меня просто какая-то ничего не говорящая абревиатура).

PS Помню настраивал у нас парень по одному заказу Oracle, так он с полной документацией и техподдержкой фирмы около месяца все настраивал, что-бы в Linux работало. Правда это было года 4 назад.




© OSzone.net 2001-2012