smart
Дата: 03.08.2005 12:16:53
Наш sysadmin подключает Linuxовые скрипты, чтобы после выкл/вкл сервера автоматом стартовал и Oracle. Но несмотря на то, что в скриптах прописаны и TNS_ADMIN и прочее, запускается tnslsnr, причем он сидит на порту 1521, хотя в listener.ora прописано 2010.
А сам lsnrctl запускаться не хочет. "TNS no listener".
Кто бы дал разумный совет что сделать для правильного автоматического запуска Oracle.
И хоть два слова, что такое tnslsnr?!
Спасибо!
Nickname
Дата: 03.08.2005 12:26:58
В скрипте по запуску необходимо прописывать переменные:
ORACLE_HOME=
Path=$ORACLE_HOME/bin
ORACLE_SID=
TNS_ADMIN прописывать не к чему - это клиенская настройка
запускать listener нужно $ORACLE_HOME/bin/lsnrctl start
он в свою очередь запускает саму "слушалку" tnslsnr
порт нужно править в файле $ORACLE_HOME/network/admin/listener.ora
запускать нужно от пользователя кто владеет ORACLE!!!
popuass
Дата: 03.08.2005 12:33:18
Что-то типа этого.....
Исправьте под свои нужды...
5.3 Automating oracle startup and shutdown
To automatically start/shut oracle database during system startup/shutdown you need to write a script in /etc/rc.d/init.d directory. You can view this script as an example. Make sure that your script is in /etc/rc.d/init.d/ directory, owned by root, and that it has exec permission set. Next, you should put the links to this script in runlevel in which you want oracle so start or stop. Yo can also do it via GUI tool (e.g. ksysv, a part of KDE) For example, I named my script ora9, and I want oracle to start in runlevel 5, and to shut down when system goes to halt (runlevel 0) or reboot (runlevel 6):
[root@marvin]# ln -s /etc/rc.d/init.d/ora9 /etc/rc.d/rc5.d/S80ora9
[root@marvin]# ln -s /etc/rc.d/init.d/ora9 /etc/rc.d/rc0.d/K06ora9
[root@marvin]# ln -s /etc/rc.d/init.d/ora9 /etc/rc.d/rc6.d/K06ora9
#!/bin/bash
#
# name: /etc/rc.d/init.d/ora9
# description: starts and stops oracle 9i database, TNS listener
# http server, and fixes kernel parameters for oracle
#oracle environment
export ORACLE_HOME=/home/ora9/product/9.2
export PATH=$ORACLE_HOME/bin:$ORACLE_HOME/Apache/Apache/bin:$PATH
export NLS_LANG='croatian_croatia.ee8iso8859p2'
export ORACLE_SID=ora9
export DISPLAY=:0
oracle_user=ora9
# see how we're called
case $1 in
start)
# fix kernel parameters
echo 250 32000 100 128 > /proc/sys/kernel/sem
echo 2147483648 > /proc/sys/kernel/shmmax
echo 4096 > /proc/sys/kernel/shmmni
echo 2097152 > /proc/sys/kernel/shmall
# start listener, apache and database
su - "$oracle_user"<<EOO
lsnrctl start
apachectl start
sqlplus /nolog<<EOS
connect / as sysdba
startup
EOS
EOO
;;
stop)
# stop listener, apache and database
su - "$oracle_user"<<EOO
lsnrctl stop
apachectl stop
sqlplus /nolog<<EOS
connect / as sysdba
shutdown immediate
EOS
EOO
;;
*)
echo "Usage: ora9 [start|stop]"
;;
esac
Зачем tns_admin?
Исправте существующий listener.ora
Какая версия Linux и Oracle?
"Кто, реально, держит себя, тот знает перед кем ответ держать...." к/ф Мама,
не горюй.